Why vest instead of sending tokens
Tokens sent straight to team members and early backers can be sold the day they arrive. Vesting releases them gradually, so holders can see that the people closest to a project can't sell everything at once. Screeners and rug checks look for team supply held in a lock or vesting program, and a public schedule is easier to trust than a promise in a pitch deck.
Vesting on chain also saves you work. Once the escrows exist, every unlock happens by the clock: the recipient claims whenever they want, and the program only lets them take what has unlocked so far. You don't send monthly transfers and nobody depends on you staying online.
Anyone can check a schedule in the lock viewer: paste the token's mint to see every escrow, how much has unlocked and been claimed, and when the next release is. For a single release date instead of a schedule, use the token lock.
How the unlock math works
Jupiter Lock (program LocpQgucEQHbqNABEYvBvwoxCPsSbG91A1QaQhQQqjn, open source and audited) stores four numbers for each escrow: the cliff time, the amount released at the cliff, the period length in seconds and the amount released each period. Before the cliff, nothing can be claimed. At the cliff, the cliff amount unlocks. After that, one more period's amount unlocks every period, until the last period.
Unlocked at any moment = cliff amount + (whole periods since the cliff, at most the number of periods) × amount per period. The tool divides your amount into equal periods; if it doesn't divide evenly, the few leftover raw units are added to the cliff release so each escrow holds exactly what you entered. A month here is 30 days (2,592,000 seconds), because the program counts in seconds.
Each escrow is a program-derived account plus a token account it owns. The cancel right and the transfer right are written into the escrow when it's created and can never change. If you keep the cancel right and use it, what has unlocked so far goes to the recipient and the rest comes back to you.
| When | Unlocks | Total unlocked |
|---|---|---|
| Before month 3 | 0 | 0 |
| Month 3 (cliff) | 30,000 | 30,000 |
| Month 4 | 10,000 | 40,000 |
| Month 8 | 10,000 | 80,000 |
| Month 12 (last) | 10,000 | 120,000 |
What it costs
SOLTidy charges a flat 0.27 SOL per run, in the first transaction, whether the run vests tokens to one wallet or two hundred. If you stop a run and continue it, the fee isn't charged twice. Recipients claim for free.
Each recipient's escrow needs rent for its escrow account and token account, about 0.0036 SOL at today's rent, plus about 0.001 SOL for a label. Two escrows fit in each transaction, so 20 recipients take 10 wallet approvals and cost about 0.27 + 20 × 0.0036 = 0.342 SOL in total.
For Token-2022 tokens with a transfer fee, the token charges its fee when tokens enter the escrow, so you send slightly more than the schedule total, and again on each claim, so recipients receive slightly less than each release. The review shows the extra amount before you sign.
Questions & answers
Can I vest to many wallets at once?
Yes, up to 200 per run. Paste one address and amount per line; each wallet gets its own escrow with the same schedule and rights. The 0.27 SOL fee is charged once for the whole run.
What happens at the cliff?
Nothing can be claimed before it. At the cliff, the share you chose to release at the cliff unlocks, and the regular releases start counting from the cliff. With no cliff, releases start counting from the start date.
Can I cancel vesting if someone leaves the team?
Only if you turn on "Cancelable by you" when creating it. Cancelling sends the unlocked part to the recipient and returns the still-locked rest to you. Buyers can see that right in the lock viewer, and some treat cancelable vesting as weaker.
Do recipients need to do anything?
They claim when they want, in the lock viewer or any app that supports Jupiter Lock. One free transaction takes everything unlocked so far. Unclaimed tokens stay safe in the escrow.
What does "transferable" mean here?
Whether the escrow's recipient can be changed after creation: never, by you, by the recipient, or by either. A transferable escrow lets a team member move future unlocks to a new wallet. It doesn't speed up the schedule.
Is there a fee?
Creating vesting costs SOLTidy's flat 0.27 SOL per run, for every recipient in it, paid inside the first transaction. Each recipient's escrow also needs about 0.0036 SOL of rent (about 0.001 SOL more with a label), plus normal network fees. Claiming is free.