> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jup.ag/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> These docs cover what users see and do on jup.ag, Jupiter Mobile and Jupiter Wallet.
> Universal Deposit, the GUM routes in Bridge & Swap (GUM Universal Bridge, GUM Universal Deposit) and other GUM integrations on jup.ag are built by GUM. For how they work, their full fee rules, security model and APIs, the reference is the GUM docs: start from https://docs.gum.ag/llms.txt.
> When the GUM docs and these docs differ on how a GUM product behaves on jup.ag, describe the jup.ag experience from these docs and the mechanics and fees from the GUM docs.

# Locking tokens transparently with Jupiter Lock

> How Jupiter Lock vesting works, how to check a project's locks before you trust its tokenomics, and how to create a lock on lock.jup.ag.

export const GuideMeta = ({level, minutes, author, avatar, published, updated}) => <div className="jg-meta not-prose">
    <div className="jg-badges">
      <span className={`jg-level jg-level-${level.toLowerCase()}`}>{level}</span>
      {minutes ? <span className="jg-read">About {minutes} min read</span> : null}
    </div>
    <div className="jg-byline">
      <img noZoom className="jg-avatar" src={avatar} alt="" width="32" height="32" />
      <span>
        Written by <span className="jg-author">{author}</span>
        {published ? <span className="jg-origin">
            Originally published on Jupiter Academy, {published}{updated ? " · Updated for Jupiter Docs" : ""}
          </span> : null}
      </span>
    </div>
  </div>;

<GuideMeta level="Intermediate" minutes={5} author="BricePol" avatar="/images/guides/authors/bricepol.webp" published="April 25, 2026" updated />

<img src="https://mintcdn.com/jupiter-support/p5FdkagPcbEGL8wN/images/guides/jupiter-lock/cover.webp?fit=max&auto=format&n=p5FdkagPcbEGL8wN&q=85&s=cce9cc7cadf7ee35cad9584c2814e07a" alt="A coin next to a padlock, the cover of this guide" width="1920" height="1080" data-path="images/guides/jupiter-lock/cover.webp" />

When startups or new protocols allocate equity or tokens, founders and employees, and in token deals often investors too, do not usually get their full allocation right away: it vests over a set period.

This is a contractual timeline, where ownership is released progressively over months or years. It keeps the company, investors and shareholders aligned and committed for the long haul, which sends a strong signal to the market. In TradFi, these agreements are private contracts, often difficult for outsiders to verify or even locate.

Jupiter Lock brings this onchain. Built on Solana, it lets anyone lock tokens in an onchain escrow and release them on a vesting schedule that anyone can verify. It is free to use (you only pay Solana network fees) and audited by OtterSec and Sec3. Project teams use it for team allocations, investor tokens and ecosystem reserves, and DAOs use it to vest tokens for contributors.

## Why lock tokens onchain

A simple way to remember why a public lock matters is C.A.T.: Certainty, Alignment, Transparency. Every lock and its schedule are visible onchain, so every holder, from the smallest to the founder, sees the same terms.

Community holders and investors can use Jupiter Lock to evaluate a project by answering fundamental questions: how much of the supply is locked, for how long, and who can change that? For token creators and project leaders, it is a way to send a strong signal to the market without relying on marketing language alone.

## Lock's key concepts

Before creating or evaluating a lock, it is important to understand four concepts that define every Jupiter Lock.

Vesting period: tokens unlock gradually over a set period, after the cliff. For example, a project could lock 100,000 tokens with a vesting period of 10 months, which works out to 10,000 tokens per month. The unlock frequency is configurable in minutes, days, weeks, months or years. By the end of the vesting period, all the tokens have unlocked. This gives investors clear accountability.

Cliff: the initial waiting period before any tokens unlock. Building on the last example, a project could lock a total of 100,000 tokens with a cliff date 5 months out, a cliff unlock amount of 50,000 tokens, and a vesting period of 10 months. No tokens can be claimed before the cliff date. On that date, the recipient can claim the 50,000-token cliff unlock amount, and the remaining 50,000 tokens unlock over the following 10 months (5,000 tokens per month). Every lock has a cliff date, but the cliff unlock amount is optional. Set it to the full amount and everything unlocks at once on the cliff date.

Recipient address: the wallet that can claim the tokens as they unlock. In most cases, this is an investor's or a team member's wallet. Recipients claim their unlocked tokens manually on lock.jup.ag, following the cliff and vesting schedule; nothing is sent automatically. Each lock serves exactly one recipient, so several recipients need one lock each.

Permissions: who controls the lock after its creation, a critical detail to judge whether stakeholders are here for the long haul. There are two settings, "Who can cancel the contract?" and "Who can change the recipient?". For each one, the creator picks None, Only Creator, Only Recipient, or Creator or Recipient (either of them can act alone). Both default to None, and neither can be changed once the lock exists. If both are set to None, the lock is fully irreversible: nobody can cancel it or change its recipient.

The vesting terms themselves (token, amount, cliff, duration and frequency) can never be changed after creation.

## Associated risks

As a viewer, the main risk is misunderstanding the project's tokenomics. Analyze each lock's vesting period, cliff, recipient and permissions. Pay particular attention to whether the lock can be canceled: a lock that its creator can cancel at any time offers much weaker guarantees than a fully irreversible one, where both permissions are set to None. Keep in mind too that a lock only manages the escrow and the schedule: it does nothing if the token itself loses its value or liquidity. The Jupiter Lock program is also upgradeable, with updates reserved for critical fixes.

As a creator, the main risk is misconfiguring the lock. The vesting terms are permanent once the lock is created: an incorrect amount, cliff or vesting duration cannot be fixed. A wrong recipient address can only be fixed if the lock lets you, the creator, change the recipient or cancel it. Always review the full Lock Summary carefully before you create the lock.

## Using Jupiter Lock

### As a viewer

<Steps>
  <Step title="Find the locks">
    Go to [lock.jup.ag](https://lock.jup.ag/) and use the search bar to look up a token or a wallet. A token's page lists the locks for that token; a wallet's page lists the tokens locked for it and the locks it created.
  </Step>

  <Step title="Review each lock">
    Open a lock to see its full details: creator, recipient wallet, status (Upcoming, Active, Completed or Cancelled), cliff date and cliff amount, vesting schedule, tokens claimed so far, and who can cancel the lock or update its recipient.
  </Step>

  <Step title="Claim, if you are the recipient">
    Only the recipient wallet can claim. Connect it, open **Your Locked Tokens**, and select **Claim** on the lock to transfer its unlocked tokens to your wallet. Unclaimed tokens stay in escrow indefinitely, with no deadline.
  </Step>
</Steps>

<Frame caption="A lock as listed on lock.jup.ag. Claim works only for the recipient wallet.">
  <img src="https://mintcdn.com/jupiter-support/p5FdkagPcbEGL8wN/images/guides/jupiter-lock/lock-list.webp?fit=max&auto=format&n=p5FdkagPcbEGL8wN&q=85&s=44f6b5f9de2439719077365e02d1bbab" alt="A Jupiter Lock row with its title, amount locked, claim progress, next vesting date, Claim and Edit buttons, cliff amount and unlock schedule" width="1699" height="247" data-path="images/guides/jupiter-lock/lock-list.webp" />
</Frame>

### As a creator

<Steps>
  <Step title="Start a lock">
    Go to [lock.jup.ag](https://lock.jup.ag/), connect your wallet, and select **Create Lock** at the top of the site.
  </Step>

  <Step title="Choose the token">
    Select the token you wish to lock. Jupiter Lock supports SPL tokens.
  </Step>

  <Step title="Set the amount and recipient">
    Give the lock a title, enter the Total Lock Amount, and enter the recipient's wallet address.
  </Step>

  <Step title="Set the schedule">
    Define the Cliff Date, the optional Cliff Unlock Amount, the Vesting Duration and the Unlock Frequency.
  </Step>

  <Step title="Set the permissions">
    Answer "Who can cancel the contract?" and "Who can change the recipient?" by deciding whether nobody, you, the recipient, or either of you will have that right.
  </Step>

  <Step title="Review and create">
    Review the Lock Summary, select **Create Contract**, confirm, and approve the transaction in your wallet. As each lock serves a single recipient, create one lock per recipient.
  </Step>
</Steps>

Your lock is now officially onchain! You can find it under **Locks You Created** at the top of the site.

<Frame caption="The first fields of the Create Token Lock form on lock.jup.ag. The permission settings and the Lock Summary come further down.">
  <img src="https://mintcdn.com/jupiter-support/p5FdkagPcbEGL8wN/images/guides/jupiter-lock/create-lock-form.webp?fit=max&auto=format&n=p5FdkagPcbEGL8wN&q=85&s=b6d1343b74c7e622a86e7d052c974766" alt="The Create Token Lock form with the token selector, Lock Title, Total Lock Amount, Recipient Wallet Address, Cliff Date, Cliff Unlock Amount, Vesting Duration and Unlock Frequency fields" width="1001" height="1628" data-path="images/guides/jupiter-lock/create-lock-form.webp" />
</Frame>

## Go deeper

<CardGroup cols={2}>
  <Card title="How Jupiter Lock works" icon="gears" href="/user-docs/launch/lock/how-it-works">
    Vesting model, every lock parameter, permissions, claiming and risks.
  </Card>

  <Card title="Jupiter Lock FAQ" icon="circle-question" href="/user-docs/launch/lock/faq">
    Quick answers on creating locks, claiming and security.
  </Card>

  <Card title="Open Lock on Jupiter" icon="arrow-up-right-from-square" href="https://lock.jup.ag/" />
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.