Tools · Locks & vesting
Solana Token Locker: Time-Lock or Vest Any Token
Time-lock or vest any token in a program-owned vault, delivered automatically on schedule. Devnet only, not on mainnet yet.

How to use the Solana Token Locker
- Connect your wallet.
- Paste the mint and the recipient address.
- Set the amount, unlock date (or cliff + end date for vesting).
- Choose cancelable/transferable, then sign.
- Release frequency
- Cliff percentage
- Free delivery crank
- Recipient account prepaid
- Mint checked first
- Public lock page
FAQ
How do tokens reach the recipient?
Solstack's crank checks every five minutes: a lock or vesting step is delivered once it's due, a continuous vest once 1% of the total has unlocked. Anyone can also press Deliver, or the recipient can Claim.
Can a lock be changed?
No — cancelable and transferable are set at creation. A self lock's date can only be pushed later.
Which tokens work?
SPL and Token-2022, including LP tokens; transfer-hook and non-transferable mints are refused.
Is it on mainnet?
Not yet. The program is unaudited, so it runs on devnet only for now.
Who can the recipient be?
Any address, including a multisig, or your own wallet for a self lock.
What happens when everything is delivered?
The lock closes itself and its rent goes back to the creator.
Everything about the Solana Token LockerFeatures in full, costs and the complete guide
What the Token Locker does
Release frequency
A vest pays out continuously, daily, weekly, every 30 days or every 90 days. The first step lands one period after the cliff.
Cliff percentage
Set how much unlocks at the cliff, anywhere from 0% to 100%, with one-tap 0, 10, 25 and 50% presets. The rest vests until the end date.
Free delivery crank
A Solstack crank checks every lock every five minutes and sends what has unlocked. Continuous vests are delivered each time 1% of the total has built up.
Recipient account prepaid
The recipient's token account is created and paid for when the lock is made, so no delivery ever waits on the recipient doing anything.
Mint checked first
Transfer-hook and non-transferable mints are refused before you sign. A permanent delegate or a transfer fee shows a warning, and the review shows the amount after fees.
Public lock page
Each lock gets a page with an unlock chart, milestones, a delivered, unlocked and locked bar, and a Deliver now button that needs no wallet.
Solana Token Locker: Complete Guide
What is a token lock?
Token Locker puts tokens in a program-owned vault instead of a wallet you'd have to trust — lock a flat amount until one date, or vest it after a cliff in equal steps to an end date. A crank delivers unlocked tokens to the recipient every few minutes automatically, or anyone can trigger delivery by hand.
Locks are marked cancelable or transferable at creation and can't be changed afterward, and a self-lock's date can only be pushed later, never earlier — so a public lock stays a real commitment.
Who it's for
Teams that want a public, checkable commitment instead of a promise: team and advisor allocations that vest over time, treasury tokens held back until a date, or a contributor's payment that unlocks after a cliff. Because the tokens sit in a vault the program owns rather than a wallet, nobody has to trust the creator to hand them over. Every lock has its own public page, and the Solana Token Lock Verifier lists every active lock on a mint.
Two schedules
- All at once: nothing until one date, then everything. For a self lock, the date can be pushed later but never brought forward.
- Cliff, then vesting: nothing until the cliff, an optional first chunk, then equal steps until the end date.
Options fixed at creation
- Cancelable: lets the creator end the lock early, though anything already unlocked is still the recipient's. It starts switched off.
- Transferable: lets the recipient pass the schedule on to a different address.
- A name of up to 32 bytes, stored on-chain.
- Neither option can be added afterwards, so a lock that isn't cancelable stays that way.
Token-2022 and other limits
Token-2022 mints are accepted, and a transfer fee is charged when tokens go in and again on every delivery. Mints with a transfer hook, or whose tokens can't be transferred, are turned away; one with a permanent delegate gets a warning, since that delegate could drain the vault. When the last tokens are delivered, the lock closes and its rent returns to the creator. For LP tokens you'll want back after a date, the Solana LP Token Locker is the simpler tool. Both programs are unaudited and run on devnet only for now.
An example vesting schedule
1,000,000 tokens, 10% at a cliff 90 days out, then monthly until day 450. The program counts a month as 30 days, so the 360-day window splits into 12 equal steps of 75,000.
| Day | Unlocked in total | Still locked |
|---|---|---|
| Before day 90 | 0 | 1,000,000 |
| Day 90 (cliff) | 100,000 | 900,000 |
| Day 120 | 175,000 | 825,000 |
| Day 270 | 550,000 | 450,000 |
| Day 420 | 925,000 | 75,000 |
| Day 450 (end) | 1,000,000 | 0 |
Who can change a lock
When a vesting window isn't a whole number of periods, the last step is smaller: it releases whatever is left on the end date. The program is 7XqonZdRNEdHVShaKJEGCHtfnYAsrPN2DYiKPiYiu4rn on devnet, and every lock is an account it owns.
| Action | Who | Condition |
|---|---|---|
| Deliver unlocked tokens | Anyone: the crank, Deliver now, or a signed Claim | Something has unlocked since the last delivery |
| Cancel | The creator | Only if Cancelable was on. Unlocked tokens go to the recipient, the rest back to the creator |
| Transfer the schedule | The recipient | Only if Transferable was on |
| Push the date later | The creator of a self lock | All-at-once locks only, before the unlock date |
| Bring a date earlier | Nobody | The program has no instruction for it |
What it costs
0.02 SOL flat, plus ~0.005 SOL rent (refunded when the lock completes) and ~0.0015 SOL for the recipient's token account. Claiming, delivering, cancelling, transferring and extending are free.