Tools · Token vesting
Token vesting calculator
Model TGE unlocks, cliffs and linear vesting across every allocation bucket. See circulating supply month by month, and find the months where a single tranche changes the float. Runs in your browser.
Everything runs in your browser. Nothing you type is sent to a server or logged.
Supply reads as 1,000,000,000 tokens (1.00B). Projection runs from TGE (month 0) to month 48.
Allocation buckets
Buckets sum to 100% of supply.
1.00B
Allocated: 1.00B
7.60%
76.00M tokens
TGE
76.00M · 7.60% of supply
M48
48 months after TGE
Circulating supply over time
Top: circulating supply as a share of fully diluted supply, TGE to month 48. Bottom: tokens unlocking each month.
Peak month: 76.00M
Largest unlock events
“% of circulating” is the new supply divided by what was already circulating the month before. It is the number that says how much the float changes, and it is blank at TGE because nothing was circulating yet.
| Month | Tokens | % of supply | % of circulating | Driven by |
|---|---|---|---|---|
| TGE | 76.00M | 7.60% | — | Community / airdrop, Ecosystem & growth +1 |
| M30 | 23.63M | 2.36% | 3.63% | Investors, Ecosystem & growth +2 |
| M14 | 23.63M | 2.36% | 8.65% | Investors, Ecosystem & growth +2 |
| M18 | 23.63M | 2.36% | 6.43% | Investors, Ecosystem & growth +2 |
| M19 | 23.63M | 2.36% | 6.04% | Investors, Ecosystem & growth +2 |
Per-bucket summary
| Bucket | Allocation | At TGE | Cliff ends | First tranche | Fully unlocked |
|---|---|---|---|---|---|
| Team & advisors | 180.0M | 0 | M12 | M13 | M48 |
| Investors | 200.0M | 0 | M12 | M13 | M36 |
| Treasury | 220.0M | 11.00M | — | M1 | M48 |
| Ecosystem & growth | 300.0M | 15.00M | — | M1 | M48 |
| Community / airdrop | 100.0M | 50.00M | — | M1 | M12 |
Month-by-month schedule
Month 0 is TGE. Scroll for the full horizon.
| Month | Unlocked | Circulating | % of supply | Team & advisors | Investors | Treasury | Ecosystem & growth | Community / airdrop |
|---|---|---|---|---|---|---|---|---|
| TGE | 76.00M | 76.00M | 7.6% | 0 | 0 | 11.00M | 15.00M | 50.00M |
| M1 | 14.46M | 90.46M | 9.0% | 0 | 0 | 15.35M | 20.94M | 54.17M |
| M2 | 14.46M | 104.9M | 10.5% | 0 | 0 | 19.71M | 26.88M | 58.33M |
| M3 | 14.46M | 119.4M | 11.9% | 0 | 0 | 24.06M | 32.81M | 62.50M |
| M4 | 14.46M | 133.8M | 13.4% | 0 | 0 | 28.42M | 38.75M | 66.67M |
| M5 | 14.46M | 148.3M | 14.8% | 0 | 0 | 32.77M | 44.69M | 70.83M |
| M6 | 14.46M | 162.8M | 16.3% | 0 | 0 | 37.13M | 50.63M | 75.00M |
| M7 | 14.46M | 177.2M | 17.7% | 0 | 0 | 41.48M | 56.56M | 79.17M |
| M8 | 14.46M | 191.7M | 19.2% | 0 | 0 | 45.83M | 62.50M | 83.33M |
| M9 | 14.46M | 206.1M | 20.6% | 0 | 0 | 50.19M | 68.44M | 87.50M |
| M10 | 14.46M | 220.6M | 22.1% | 0 | 0 | 54.54M | 74.38M | 91.67M |
| M11 | 14.46M | 235.0M | 23.5% | 0 | 0 | 58.90M | 80.31M | 95.83M |
| M12 | 14.46M | 249.5M | 25.0% | 0 | 0 | 63.25M | 86.25M | 100.0M |
| M13 | 23.62M | 273.1M | 27.3% | 5.00M | 8.33M | 67.60M | 92.19M | 100.0M |
| M14 | 23.63M | 296.8M | 29.7% | 10.00M | 16.67M | 71.96M | 98.13M | 100.0M |
| M15 | 23.62M | 320.4M | 32.0% | 15.00M | 25.00M | 76.31M | 104.1M | 100.0M |
| M16 | 23.63M | 344.0M | 34.4% | 20.00M | 33.33M | 80.67M | 110.0M | 100.0M |
| M17 | 23.62M | 367.6M | 36.8% | 25.00M | 41.67M | 85.02M | 115.9M | 100.0M |
| M18 | 23.63M | 391.3M | 39.1% | 30.00M | 50.00M | 89.38M | 121.9M | 100.0M |
| M19 | 23.63M | 414.9M | 41.5% | 35.00M | 58.33M | 93.73M | 127.8M | 100.0M |
| M20 | 23.62M | 438.5M | 43.9% | 40.00M | 66.67M | 98.08M | 133.8M | 100.0M |
| M21 | 23.63M | 462.1M | 46.2% | 45.00M | 75.00M | 102.4M | 139.7M | 100.0M |
| M22 | 23.63M | 485.8M | 48.6% | 50.00M | 83.33M | 106.8M | 145.6M | 100.0M |
| M23 | 23.63M | 509.4M | 50.9% | 55.00M | 91.67M | 111.1M | 151.6M | 100.0M |
| M24 | 23.63M | 533.0M | 53.3% | 60.00M | 100.0M | 115.5M | 157.5M | 100.0M |
| M25 | 23.63M | 556.6M | 55.7% | 65.00M | 108.3M | 119.9M | 163.4M | 100.0M |
| M26 | 23.63M | 580.3M | 58.0% | 70.00M | 116.7M | 124.2M | 169.4M | 100.0M |
| M27 | 23.63M | 603.9M | 60.4% | 75.00M | 125.0M | 128.6M | 175.3M | 100.0M |
| M28 | 23.63M | 627.5M | 62.7% | 80.00M | 133.3M | 132.9M | 181.3M | 100.0M |
| M29 | 23.62M | 651.1M | 65.1% | 85.00M | 141.7M | 137.3M | 187.2M | 100.0M |
| M30 | 23.63M | 674.8M | 67.5% | 90.00M | 150.0M | 141.6M | 193.1M | 100.0M |
| M31 | 23.63M | 698.4M | 69.8% | 95.00M | 158.3M | 146.0M | 199.1M | 100.0M |
| M32 | 23.63M | 722.0M | 72.2% | 100.0M | 166.7M | 150.3M | 205.0M | 100.0M |
| M33 | 23.63M | 745.6M | 74.6% | 105.0M | 175.0M | 154.7M | 210.9M | 100.0M |
| M34 | 23.63M | 769.3M | 76.9% | 110.0M | 183.3M | 159.0M | 216.9M | 100.0M |
| M35 | 23.63M | 792.9M | 79.3% | 115.0M | 191.7M | 163.4M | 222.8M | 100.0M |
| M36 | 23.63M | 816.5M | 81.7% | 120.0M | 200.0M | 167.8M | 228.8M | 100.0M |
| M37 | 15.29M | 831.8M | 83.2% | 125.0M | 200.0M | 172.1M | 234.7M | 100.0M |
| M38 | 15.29M | 847.1M | 84.7% | 130.0M | 200.0M | 176.5M | 240.6M | 100.0M |
| M39 | 15.29M | 862.4M | 86.2% | 135.0M | 200.0M | 180.8M | 246.6M | 100.0M |
| M40 | 15.29M | 877.7M | 87.8% | 140.0M | 200.0M | 185.2M | 252.5M | 100.0M |
| M41 | 15.29M | 893.0M | 89.3% | 145.0M | 200.0M | 189.5M | 258.4M | 100.0M |
| M42 | 15.29M | 908.3M | 90.8% | 150.0M | 200.0M | 193.9M | 264.4M | 100.0M |
| M43 | 15.29M | 923.5M | 92.4% | 155.0M | 200.0M | 198.2M | 270.3M | 100.0M |
| M44 | 15.29M | 938.8M | 93.9% | 160.0M | 200.0M | 202.6M | 276.3M | 100.0M |
| M45 | 15.29M | 954.1M | 95.4% | 165.0M | 200.0M | 206.9M | 282.2M | 100.0M |
| M46 | 15.29M | 969.4M | 96.9% | 170.0M | 200.0M | 211.3M | 288.1M | 100.0M |
| M47 | 15.29M | 984.7M | 98.5% | 175.0M | 200.0M | 215.6M | 294.1M | 100.0M |
| M48 | 15.29M | 1.00B | 100.0% | 180.0M | 200.0M | 220.0M | 300.0M | 100.0M |
What a token unlock schedule is
A token unlock schedule is the timetable that turns allocated tokens into liquid ones. Every allocation — team, investors, treasury, ecosystem, community — has three settings: how much is liquid at the token generation event, how long the cliff runs, and how long the remainder takes to release after that. Put those three numbers on every bucket and you have a schedule.
Fully diluted supply is a single number that never moves. Circulating supply is the number that changes, and it is the one that actually trades. A project can hold fully diluted supply constant for years while circulating supply multiplies. That is why the useful question is not “what is the total supply” but “how much of it is liquid this month, and how much becomes liquid next month”.
Cliffs matter more than the linear tail
A linear tail spreads a bucket over many months, so each month adds a small slice to the float. A cliff does the opposite: it holds everything back and then releases it in one month. When several buckets share a cliff date — teams often copy the same twelve-month cliff onto every allocation — those tranches land together.
The calculator surfaces this as “% of circulating”: the size of a month’s unlock divided by what was already circulating the month before. A tranche that is a small share of total supply can still be a large share of the float if the float is small. That ratio is what a treasurer, a market maker and a token holder are all actually asking about, and it is the number most unlock trackers do not show.
Vesting is a contract. Locking is code.
Vesting is a promise in a document: a grant agreement says a holder earns their tokens over time. Locking is enforcement on-chain: a contract holds the tokens and will not release them early, whatever anyone agrees to later. The two can disagree. Tokens can be contractually vested but sitting unlocked in a wallet, or locked in a contract whose release curve no longer matches the agreement anyone signed.
Teams that issued equity before they issued a token end up maintaining both ledgers. Shares vest on a board-approved schedule in a cap table; tokens vest on a different schedule enforced by a contract; the same person often holds both. Keeping them consistent is the real work — see the token vesting guide for the mechanics, and token cap tables for how the two ledgers sit side by side.
Allocation buckets and how they go wrong
| Bucket | What it is for | Common structuring mistake |
|---|---|---|
| Team & advisors | Compensation for the people building and advising | Copying the investor cliff date, so both tranches land in the same month |
| Investors | Capital raised before or at launch | A large TGE unlock paired with a short tail, leaving almost no contractual runway |
| Treasury | Reserve the issuing entity controls for future needs | Leaving it fully liquid at TGE, so nothing distinguishes it from float |
| Ecosystem & growth | Grants, incentives, integrations, liquidity | Sizing it as a percentage with no spend schedule, so releases become ad hoc |
| Community / airdrop | Distribution to users | Treating it as a marketing line rather than as supply that arrives on day one |
How this is calculated
Every number on this page comes from the arithmetic below. Nothing is rounded before the maths, and bucket percentages are never rescaled — if they do not sum to 100 the calculator says so and leaves them alone.
- allocation = totalSupply × percentOfSupply ÷ 100
- tgeAmount = allocation × tgeUnlockPercent ÷ 100, released at month 0
- remainder = allocation − tgeAmount
- monthlyTranche = remainder ÷ linearUnlockMonths
- cumulative(m) = tgeAmount + remainder × min(max(m − cliffMonths, 0), linearUnlockMonths) ÷ linearUnlockMonths
- unlocked(m) = cumulative(m) − cumulative(m − 1)
- circulating(m) = sum of cumulative(m) across every bucket
- percentOfCirculating(m) = unlocked(m) ÷ circulating(m − 1) × 100
The cliff convention used here
The cliff month itself unlocks the cliff tranche; linear unlock begins the month after. So when a bucket has a linear tail, the whole remainder is that tail: months 1 through the cliff month release nothing, and the first tranche lands at cliff + 1, with the last at cliff + linear months. When a bucket has a cliff and no tail, the entire remainder is the cliff tranche and lands in one event at the cliff month. A bucket with no cliff and no tail is fully liquid at TGE. In every case a bucket is exactly fully unlocked at cliff + linear months, and cumulative unlocked never exceeds the allocation.
This is a modelling tool. It projects supply from the inputs you give it. It says nothing about price, and it is not investment advice.