Turn an allocation, cliff and vesting period into a dated unlock schedule with a cumulative curve and CSV export. Handles both cliff conventions.
“36-month vesting with a 12-month cliff” describes two different schedules, and which one the author meant moves the final unlock date by a full year. The Token Vesting Schedule Planner computes whichever convention you pick, says on screen which one is running, and gives back a dated release table instead of a single summary figure.
In one reading the cliff is served first and the vesting period begins at its end, so the grant runs cliff plus duration months in total. In the other the cliff sits inside the vesting period: reaching it releases everything accrued up to that point in one catch-up tranche, and the schedule still ends at the original duration. Equity and RSU grants almost always mean the second, which is why a four-year vest with a one-year cliff pays 25% at month 12. Token distributions usually mean the first.
Each schedule comes with a stepped unlock curve, a per-release table carrying real calendar dates, and a CSV button for the whole thing. The maths runs in your browser, so an unannounced allocation stays on your machine.
The form arrives holding the lead sample: 150,000,000 tokens, nothing unlocked at TGE, a 12-month cliff, a 36-month vesting period, monthly releases from 1 September 2026, on the Cliff, then vesting starts convention. That produces 36 releases. The first lands at month 13 on 1 October 2027 rather than at the cliff itself, because a monthly tranche pays for a month already served, and each one is 4,166,666.67 tokens. The grant finishes on 1 September 2030. Now press the other convention button without touching a single number: the schedule collapses to 25 releases, a catch-up tranche of 50,000,000 tokens appears at month 12, and the grant finishes on 1 September 2029. Same three inputs, one year of difference.
36 releases over 48 months, using the cliff-then-vesting convention.
| Date | Month | Unlocked | Cumulative | Locked |
|---|---|---|---|---|
| 1 Oct 2027 | 13 | 4,166,666.67 | 4,166,666.67 | 97.22% |
| 1 Nov 2027 | 14 | 4,166,666.66 | 8,333,333.33 | 94.44% |
| 1 Dec 2027 | 15 | 4,166,666.67 | 12,500,000 | 91.67% |
| 1 Jan 2028 | 16 | 4,166,666.67 | 16,666,666.67 | 88.89% |
| 1 Feb 2028 | 17 | 4,166,666.66 | 20,833,333.33 | 86.11% |
| 1 Mar 2028 | 18 | 4,166,666.67 | 25,000,000 | 83.33% |
| 1 Apr 2028 | 19 | 4,166,666.67 | 29,166,666.67 | 80.56% |
| 1 May 2028 | 20 | 4,166,666.66 | 33,333,333.33 | 77.78% |
| 1 Jun 2028 | 21 | 4,166,666.67 | 37,500,000 | 75% |
| 1 Jul 2028 | 22 | 4,166,666.67 | 41,666,666.67 | 72.22% |
| 1 Aug 2028 | 23 | 4,166,666.66 | 45,833,333.33 | 69.44% |
| 1 Sep 2028 | 24 | 4,166,666.67 | 50,000,000 | 66.67% |
| 1 Oct 2028 | 25 | 4,166,666.67 | 54,166,666.67 | 63.89% |
| 1 Nov 2028 | 26 | 4,166,666.66 | 58,333,333.33 | 61.11% |
| 1 Dec 2028 | 27 | 4,166,666.67 | 62,500,000 | 58.33% |
| 1 Jan 2029 | 28 | 4,166,666.67 | 66,666,666.67 | 55.56% |
| 1 Feb 2029 | 29 | 4,166,666.66 | 70,833,333.33 | 52.78% |
| 1 Mar 2029 | 30 | 4,166,666.67 | 75,000,000 | 50% |
| 1 Apr 2029 | 31 | 4,166,666.67 | 79,166,666.67 | 47.22% |
| 1 May 2029 | 32 | 4,166,666.66 | 83,333,333.33 | 44.44% |
| 1 Jun 2029 | 33 | 4,166,666.67 | 87,500,000 | 41.67% |
| 1 Jul 2029 | 34 | 4,166,666.67 | 91,666,666.67 | 38.89% |
| 1 Aug 2029 | 35 | 4,166,666.66 | 95,833,333.33 | 36.11% |
| 1 Sep 2029 | 36 | 4,166,666.67 | 100,000,000 | 33.33% |
| 1 Oct 2029 | 37 | 4,166,666.67 | 104,166,666.67 | 30.56% |
| 1 Nov 2029 | 38 | 4,166,666.66 | 108,333,333.33 | 27.78% |
| 1 Dec 2029 | 39 | 4,166,666.67 | 112,500,000 | 25% |
| 1 Jan 2030 | 40 | 4,166,666.67 | 116,666,666.67 | 22.22% |
| 1 Feb 2030 | 41 | 4,166,666.66 | 120,833,333.33 | 19.44% |
| 1 Mar 2030 | 42 | 4,166,666.67 | 125,000,000 | 16.67% |
| 1 Apr 2030 | 43 | 4,166,666.67 | 129,166,666.67 | 13.89% |
| 1 May 2030 | 44 | 4,166,666.66 | 133,333,333.33 | 11.11% |
| 1 Jun 2030 | 45 | 4,166,666.67 | 137,500,000 | 8.33% |
| 1 Jul 2030 | 46 | 4,166,666.67 | 141,666,666.67 | 5.56% |
| 1 Aug 2030 | 47 | 4,166,666.66 | 145,833,333.33 | 2.78% |
| 1 Sep 2030 | 48 | 4,166,666.67 | 150,000,000 | 0% |
The two cliff conventions produce different schedules from the same three numbers, so check which one your contract or term sheet actually means before publishing a chart from it. Per-release amounts come from differencing the cumulative column, which is why they can vary by one unit in the last decimal place while still summing to the allocation exactly. This is a planning tool, not a legal or tax document, and nothing you type is uploaded.