Vesting Model
Every lock created on Jupiter Lock follows a cliff + linear vesting model. The vesting schedule is defined at creation and cannot be changed afterward.- Cliff + Linear Vesting
- Simple Lock (Full Release at One Date)
This is the standard configuration. The vesting schedule has two phases:
- Cliff phase. No tokens are available until the cliff date. On that date, a predefined amount (the cliff unlock amount) becomes claimable immediately.
- Linear vesting phase. After the cliff, the remaining tokens unlock gradually over the defined vesting duration, at the unlock frequency you set (every given number of minutes, days, weeks, months, or years).
There is no minimum or maximum for lock duration or token amount.
Lock Parameters
When creating a lock on lock.jup.ag, you select the token, then fill in the following fields (names as shown in the form). Every parameter is permanent once the lock is created; only the recipient can change afterward, and only if the permissions allow it.
Each lock has exactly one recipient. To distribute tokens to multiple wallets, create one lock per recipient.
Permissions
At creation, the lock creator assigns two permissions: Who can change the recipient? This determines which party can reassign the lock to a different wallet after creation: None, Only Creator, Only Recipient, or Creator or Recipient (either of them). Who can cancel the contract? This determines which party can cancel the lock entirely, with the same four options. These permissions are set once and cannot be changed after the lock is created. Both default to None in the form.If both permissions are set to None, the lock becomes fully irreversible: it cannot be cancelled and the recipient cannot be changed.
Claiming Tokens
Unlocked tokens are not sent automatically. The recipient must manually claim them through the Jupiter Lock interface.1
Connect wallet
The recipient connects the wallet specified in the lock.
2
View available tokens
The interface shows how many tokens have vested and are available to claim.
3
Claim
The recipient triggers a claim transaction. Claimed tokens are transferred from the escrow to the recipient’s wallet.
Token Compatibility
Jupiter Lock supports SPL tokens on Solana.Onchain Mechanics
When a lock is created, an escrow account is deployed onchain. The locked tokens are transferred from the creator’s wallet to this escrow account. The escrow is controlled by the Jupiter Lock program. Tokens remain in the escrow until claimed by the recipient according to the vesting schedule.The Jupiter Lock program is upgradeable. Due to the sensitive nature of the program, updates are only made when critical. The program has been audited by OtterSec and Sec3.

