Locks

Vesting

A published vesting schedule that an administrator can override is not a vesting schedule. This approved design puts the schedule on-chain and removes the override.

Approved for V1 — not deployed. The team vesting schedule below is decided, and the cgw-vesting program’s source exists in this repository built to match it. No vesting account exists on any Solana cluster yet.
Team

The approved team schedule

Cliff

12 months

Nothing is claimable at all before month 12.

Total duration

48 months

Twelve months of cliff plus 36 months of linear vesting.

Allocation

150,000,000

15% of maximum supply.

Cumulative team tokens unlocked by yearY1 37,500,000 CGW; Y2 75,000,000 CGW; Y3 112,500,000 CGW; Y4 150,000,000 CGW; Y5 150,000,000 CGW075M150MY1: 37,500,000 CGWY1Y2: 75,000,000 CGWY2Y3: 112,500,000 CGWY3Y4: 150,000,000 CGWY4Y5: 150,000,000 CGWY5
Team vesting released by month
MonthReleased CGWShare of team allocation
TGE00%
Month 600%
Month 1100%
Month 1237,500,00025%
Month 1856,250,00037.5%
Month 2475,000,00050%
Month 36112,500,00075%
Month 47146,875,00097.92%
Month 48150,000,000100%

Note the step at month 12: accrual runs from genesis but nothing is claimable until the cliff, so a quarter of the allocation becomes available at once. This is the same behaviour Jupiter enforces through its lock program, and it is deliberate — but it is also a concentration event, and pretending otherwise would be dishonest.

Program

What cgw-vesting must guarantee

Guarantees

  • Deterministic vesting accounts derived from beneficiary and allocation
  • Linear accrual with a cliff gate on claimability
  • Exact claimed and remaining accounting
  • No double-claim path under any ordering of instructions
  • Floor-rounded releases with the remainder settled on the final period
  • Fully transparent on-chain state, readable by anyone

Explicit non-goals

  • No administrator acceleration of any schedule
  • No clawback of vested tokens
  • No custom transfer logic — SPL Token moves the tokens
  • No pause that could strand a beneficiary’s claim
An honest caveat. While the treasury multisig holds upgrade authority over cgw-vesting, “no acceleration” is a policy backed by a multisig, not a mathematical guarantee. It only becomes a guarantee when the program is made immutable. That transition is on the roadmap and has not happened.
Understanding

Vesting in plain terms

What a cliff actually means

APPROVED FOR IMPLEMENTATION

A cliff is a date before which you get nothing at all. If you leave before it, you leave with none of the allocation. On the day it passes, everything accrued up to that point becomes available at once.

How it actually works

Accrual and claimability are separate. CGW accrues from genesis but gates claiming until month 12, so month 12 releases 12/48 of the allocation in a single step. The alternative — starting accrual at the cliff — pushes the full schedule out to month 60 for the same shape.

Technical specification

Cumulative release is floor(total × min(month, duration) / duration) for month ≥ cliff, and zero otherwise. Integer floor division keeps the function monotonic and exact at both boundaries; the final period absorbs the accumulated rounding remainder so the schedule releases the allocation exactly.