Vesting
Vesting locks coins in a contract and releases them gradually. It works for a creator's own position, a team allocation or a contributor's share, and it is available on any coin.
The shape of a schedule
| Field | Meaning |
|---|---|
| Beneficiary | the wallet that will receive the coins |
| Start | when vesting begins, at or after creation time |
| Cliff | the earliest moment anything can be released; equal to the start means no cliff |
| Duration | the total length, minimum 14 days |
| Slice period | the granularity of release; a 30-day vest with a 1-day slice releases in 30 steps |
| Total amount | the coins that will unlock over the schedule |
Release is linear: the amount available is the total scaled by the elapsed fraction of the duration, rounded down to the nearest slice. Nothing is releasable before the cliff, and everything is available once the duration has elapsed.
Creating and releasing
Schedules can be created in bulk, so one transaction can cover a whole team. Everyone in a batch shares the same start, cliff, duration and cadence. The coins move into the vesting contract for the life of the schedule.
Only the beneficiary can release their own coins, as often as they like, with no deadline and no penalty for waiting.
Before graduation
A coin cannot be sent wallet to wallet while it is on its curve. Vesting is the exception: a schedule can be set up and funded from the first block, which is what lets a creator lock their dev buy immediately rather than promising to.
No way out
There is no cancel button and no recovery path, for anyone including the protocol team. Coins committed to a schedule leave it only as the beneficiary releases them.