# Jupiter User Docs
Source: https://docs.jup.ag/index
Official documentation for every Jupiter product — swap, perps, mobile app, Jupiter Card, lending, staking, and more. Guides, fees, and FAQs.
Loop` (for example `JupSOL Loop`, `JUICED Loop - USDC`). |
| APY | Current Annual Percentage Yield (APY) on the position's net value, at maximum leverage. Variable, updates in real time. |
| Description | One-line summary of the loop (for example "Borrows SOL and loops into JupSOL to amplify your yield"). |
| Deposited | Total USD value currently deposited in the strategy across all users. |
| Capacity Left | Remaining deposit capacity before the strategy reaches its ceiling, with a status badge. |
| Risk | Opens a Risk modal describing the strategy's specific risks. The modal also exposes a [Liquidation Calculator](/user-docs/earn/lend/calculator) to simulate rate scenarios at max leverage. |
| Deposit | Opens the deposit modal for that strategy. |
The Capacity Left badge has three possible values:
* **Available**: deposits are open.
* **Filling fast**: capacity is running low.
* **Filled**: no new deposits can be made until existing positions are closed or the ceiling is raised.
### Available strategies
| Strategy | Loop | Market | Risk level |
| ------------------ | ---------------- | ---------------- | ---------- |
| JupSOL Loop | JupSOL / SOL | Jupiter | Low |
| INF Loop | INF / SOL | Jupiter | Low |
| JUICED Loop - USDC | JUICED / USDC | Jupiter | Low |
| JUICED Loop - USDT | JUICED / USDT | Jupiter | Low |
| SyrupUSDC Loop | syrupUSDC / USDC | Jupiter | Medium |
| LBTC Loop | LBTC / cbBTC | Jupiter | Medium |
| USDe Loop | USDe / USDG | Bitwise x Ethena | Low |
See the [Strategies reference page](/user-docs/earn/lend/strategies#available-strategies) for the yield source and the specific risks of each loop.
***
## Creating a Strategy position
Creating a new Strategy position happens in **two transactions**: one to create the position account, one to apply the leverage. Adding more collateral to an **existing** position takes a single signature.
On the Strategies page, pick the strategy matching your target exposure. Click **Deposit** on the card.
The modal opens with the strategy pair in the header (for example `JupSOL/SOL`). At the top, three values are displayed:
* **APY**: current estimated yield on your net value.
* **Vault TVL**: total value locked in the strategy's vault.
* **Capacity Left**: available capacity, with the same status badge as the card.
If the badge shows **Filled**, deposits are paused and the action button is disabled until new capacity opens.
In the Deposit card, enter the amount of the collateral asset (for example JupSOL for the JupSOL Loop). Use **HALF** or **MAX** to auto-fill from your wallet balance. The **Price Impact** displayed below the amount reflects the impact of the internal swap that the protocol will perform to build the leverage, measured against the vault oracle price.
Expand **Advanced Options** if you want to tweak swap parameters:
* **Slippage**: tolerance for the internal swap. Presets are `0.05%` and `0.1%`, with a custom value option.
* **Minimum Swap Return**: minimum amount returned by the swap after slippage. Informational.
The default `0.05%` slippage works in most cases.
Click **Deposit** to trigger Step 1. Approve the first transaction in your wallet. This creates the position account on-chain and mints a Position NFT (Non-Fungible Token) to your wallet.
Once the first transaction confirms, the modal advances to Step 2. Approve the second transaction. The protocol deposits the collateral, borrows the debt asset, swaps it back into the collateral asset, and redeposits it, repeating until maximum leverage is reached on the vault.
### Adding collateral to an existing position
If you already have a position in the same strategy, depositing more collateral requires only **one transaction**. The position account and Position NFT already exist, so the modal skips straight to the leverage application step.
### Position NFT
When you create a position, a **Position NFT** is minted to your wallet. It represents ownership of the position on-chain and is used by the interface to identify your funds.
Do not burn or transfer the Position NFT while the position is open. Without it in your wallet, you lose the ability to manage or withdraw the position through the interface.
***
## Withdrawing
Withdrawing from a Strategy fully unwinds the position in a **single transaction**. The protocol uses a flashloan to swap your collateral and repay all outstanding debt, then returns the remaining assets to your wallet.
Partial withdrawals are not supported for Strategies. A withdrawal always unwinds 100% of the position. If you want to reduce exposure without fully exiting, the position can be managed as a standard [Multiply](/user-docs/earn/lend/guides/using-multiply) position through the Multiply page.
The amount returned to your wallet reflects the current net value of the position (total collateral minus total debt), minus swap and interest costs accrued during the holding period.
After the position is closed, the Position NFT stays in your wallet. If you later open a new position in the same strategy, the NFT can be reused, so you do not pay the account creation fees again.
***
## Risks at a glance
Strategies apply maximum leverage on pegged vaults. Pegged vaults significantly reduce market price risk, since the oracle uses on-chain redemption rates rather than market prices, but other risks remain:
* **Rate risk**: borrow rates are variable. If the Borrow APY exceeds the Supply APY for a sustained period, the position loses value over time. At max leverage, this effect is amplified.
* **Depeg risk**: for strategies backed by external mechanisms (syrupUSDC, LBTC), a depeg of the collateral asset or a failure in its underlying could impact the position.
* **Liquidation**: if the debt-to-collateral ratio reaches the Liquidation Threshold (the debt-to-collateral level at which partial liquidation begins), part of the collateral is automatically sold to repay the debt. For pegged vaults, liquidation is primarily driven by rate divergence over time, not by price drops.
* **Smart contract risk**: Strategies use the same smart contracts as Borrow and Multiply. Contracts have been audited, but no protocol is risk-free.
Before depositing, open the **Risk** modal on each strategy card to review its specific risks and use the embedded Liquidation Calculator to simulate rate scenarios.
The full risk breakdown per strategy is on the [Strategies reference page](/user-docs/earn/lend/strategies#risks).
***
Learn how Strategies work and how to use them.
# Jupiter Lend Overview
Source: https://docs.jup.ag/user-docs/earn/lend/index
Jupiter Lend is a lending and borrowing protocol on Solana: supply assets to earn yield, borrow against collateral, or take leveraged positions.
Jupiter Lend is a lending and borrowing protocol on Solana, powered by [Fluid's](https://fluid.io/) modular Liquidity Layer.
It allows users to supply assets to earn yield, borrow against collateral, or take leveraged positions, all from a single interface. Liquidity is shared across all products through a unified layer, which improves capital efficiency and enables higher loan-to-value ratios with lower liquidation penalties. Since Jupiter Lend v2, positions can also serve as liquidity for Jupiter AMM and earn trading fees through [Smart Vaults](/user-docs/earn/lend/smart-vaults).
All positions are on-chain, non-custodial, and managed through real-time oracle pricing.
## Markets
Jupiter Lend operates as a multi-market protocol. Each market is fully isolated, with its own assets, risk parameters, and curator. The Jupiter Market is the main market and is documented across this section by default. The Bitwise x Ethena Market is an isolated market co-curated with Bitwise.
Compare the available markets on Jupiter Lend, see their assets and parameters, and read the full details of the Bitwise x Ethena Market.
## Products
Supply assets to lending pools and earn yield from borrower interest.
Deposit collateral and borrow another asset without selling your holdings.
Paired-token positions that double as DEX liquidity and earn trading fees.
Increase exposure to an asset through automated on-chain leverage.
Enter pre-built, max-leverage positions on pegged vaults in one click.
## Metrics
Real-time data on liquidity, utilization, vault positions, and protocol activity.
Definitions of key terms and parameters used across Jupiter Lend.
## Advanced Overview
For users who want to understand the protocol's internals: how liquidity flows, how liquidations are processed, how oracles work, and how native staking integrates with lending.
How shared liquidity works across products, and the protocol's risk controls.
How positions are liquidated, partial liquidation logic, and penalty structure.
Price feeds, freshness checks, confidence intervals, and contract-based pricing.
# Liquidation Mechanism
Source: https://docs.jup.ag/user-docs/earn/lend/liquidation-mechanism
How Jupiter Lend liquidates risky positions: tick-based partial liquidations, penalties, the debt-to-collateral ratio, and the Liquidation Max Limit.
Liquidation is a key part of how Jupiter Lend maintains the safety and stability of the protocol.
When a user's borrowing position becomes too risky, meaning the value of their collateral falls relative to their debt, the protocol automatically sells just enough collateral to repay part or all of the loan and bring the position back to a healthy state.
## How Liquidation Works
Each position on Jupiter Lend is assigned a debt-to-collateral ratio, which measures the size of your debt compared to the value of your collateral. When this ratio exceeds a vault's Liquidation Threshold (LT), the position becomes eligible for liquidation.
Partial liquidations bring the ratio back to (or just below) the Liquidation Threshold — not back to the LTV. This means that after a liquidation, the position is no longer in the liquidatable zone, but it has not been restored to a "fully safe" state. If the collateral value continues to drop or the debt continues to grow, additional partial liquidations may occur. This is by design: the protocol only sells the minimum amount of collateral required to bring the ratio back to the LT.
To make the process efficient, Jupiter Lend uses a tick-based approach. Positions with similar risk levels (similar ratios) are grouped into ticks. If market conditions change and one tick crosses its liquidation threshold, all positions within that tick are processed together in a single, optimized transaction. This allows liquidations to be handled faster, more efficiently, and with less market impact.
Once liquidated, the remaining positions are automatically rebalanced into the next tick that matches their new ratio.
If a position's ratio exceeds the Liquidation Max Limit (LML), it exits the tick system entirely and is fully liquidated to zero.
**Strategies and Multiply use the same liquidation mechanism.** The difference is in the safety margin: standard Borrow positions can be opened with a buffer between the LTV and the LT, while Strategies open positions at maximum leverage by design, leaving a smaller buffer between the current ratio and the Liquidation Threshold. The mechanics are identical, but Strategies are more sensitive to rate or asset changes.
[Smart Vaults](/user-docs/earn/lend/smart-vaults), where the collateral or the debt is a token pair, follow the same tick-based liquidation system as all other positions on Jupiter Lend. For these positions, the debt-to-collateral ratio is evaluated on the aggregate USD value of both legs of each pair: the paired side is priced through its DEX share price, where each share represents the pool-ratio composition of the two tokens, quoted in the debt token.
Unlike systems where an entire position might be liquidated at once, Jupiter Lend only liquidates the minimum necessary amount to bring the position's debt-to-collateral ratio back to the Liquidation Threshold. The position is no longer eligible for liquidation immediately after, but it sits at the threshold rather than being restored to a fully safe state. If the collateral value drops further, additional partial liquidations may occur to bring the ratio back to the LT each time.
This partial liquidation model reduces the risk of large sell-offs and prevents cascading liquidations in the market sense (where one large liquidation crashes the asset price and triggers others). Each partial liquidation only sells what is needed, minimizing market impact even during high volatility.
When a position is liquidated, a penalty is applied only to the portion of the position that is actually liquidated, not to the entire collateral. This penalty rewards liquidators for helping maintain system stability.
The penalty rate varies by vault. As a result, users experience smaller losses even in liquidation events.
## Debt-to-Collateral Ratio
On Jupiter Lend, position risk is assessed using the debt-to-collateral ratio: your debt divided by the value of your collateral. The maximum borrowing percentage is determined by the vault's Loan-to-Value (LTV) ratio. The Liquidation Threshold (LT) is always higher than the LTV, creating a buffer between the maximum you can borrow and the point where liquidation begins.
**Position Health** is the status that shows how close your position is to liquidation. It reflects your current debt-to-collateral ratio relative to the Liquidation Threshold. The closer you are to the threshold, the higher the risk.
*You have 20 SOL worth \$4,000, and the vault's Liquidation Threshold is 80%.*
*You borrow \$1,000 USDC against \$4,000 of collateral. Your debt-to-collateral ratio is 25%. The position displays: 25% / 80%.*
*If SOL falls to \$100 each, your collateral is now worth \$2,000 while your debt remains \$1,000. Your ratio is now 50%. The position displays: 50% / 80%.*
*If you then remove \$500 worth of SOL from your vault, your remaining collateral is \$1,500 with \$1,000 debt. Your ratio is now 66.7%. The position displays: 66.7% / 80%.*
## Simulate liquidation risk
For pegged vaults (used in Multiply and Strategies), you can simulate how borrow rate changes affect your position over time using the Liquidation Calculator. This is especially useful at higher leverage, where the safety margin is reduced.
Estimate how long it would take for a position to reach liquidation under different rate scenarios. Pegged vaults only.
# Liquidity Layer & Risk Management
Source: https://docs.jup.ag/user-docs/earn/lend/liquidity-layer-and-risk-management
How the Liquidity Layer connects Earn, Borrow, and Multiply into one shared liquidity pool, and the risk controls protecting Jupiter Lend.
## Liquidity Layer
The Liquidity Layer is the shared infrastructure that connects all parts of Jupiter Lend: Earn, Borrow, and Multiply.
Instead of keeping liquidity separated across products, the Liquidity Layer acts as a unified pool of funds that every product draws from. Assets supplied through Earn can support borrowing and leverage activity simultaneously, keeping capital active rather than idle.
Liquidity is shared between all products, allowing users to borrow more and earn better yields without requiring separate deposits for each product.
The tick-based liquidation system allows Jupiter Lend to safely offer higher loan-to-value ratios compared to most protocols.
Borrowing and withdrawal limits adjust in real time to prevent sudden large movements of funds, keeping the protocol stable during high activity or volatility.
Risk parameters are continuously updated based on market conditions and protocol activity.
You don't interact directly with the Liquidity Layer. It operates in the background, enabling the efficiency and shared liquidity that powers all Jupiter Lend products.
## Borrow and Withdrawal Limits — Automated Ceilings
To prevent sudden large movements of liquidity, Jupiter Lend uses automated dynamic ceilings. These ceilings manage how much can be borrowed or withdrawn at any moment and adjust continuously over time.
This mechanism keeps the protocol stable during volatility or high activity without restricting normal usage.
Each asset has:
* **Base Limit:** The minimum level the borrow ceiling can contract to.
* **Max Limit:** The maximum level it can expand to.
* **Current Borrowable Limit:** The active ceiling at any moment in time.
The ceiling expands gradually every 6 hours by up to 25% (up to 50% for some vaults), until it reaches the Max Limit. This ensures that borrowing capacity grows smoothly rather than in sudden jumps.
**Immediate Borrowable** = Current Borrowable Limit minus Current Total Borrowed.
This represents how much users can borrow right now.
Withdraw ceilings work in a similar way but in the opposite direction:
* **Base Limit:** The minimum level the withdraw ceiling can contract to.
* **Current Withdrawable Limit:** The active ceiling at a given time.
As withdrawals accumulate, the ceiling gradually decreases every 6 hours by up to 25% (up to 50% for some vaults), limiting how quickly liquidity can leave the protocol. This protects users and prevents liquidity shocks during extreme market moves.
**Immediate Withdrawable** = Current Total Supplied minus Current Withdrawable Limit.
This is how much users can withdraw instantly.
Once the Withdrawable Limit reaches the Base Limit, the base becomes the maximum and users can withdraw 100% of their deposits.
Refinance currently supports migrations up to \$1M per operation. If your position is larger, you can still transfer it by completing the migration in multiple steps.
You can view the live Borrow and Withdraw ceilings for every asset on the [Statistics page](/user-docs/earn/lend/statistics).
## Risk Management
Jupiter Lend is built with multiple security measures, but using DeFi always involves risk. Here are the main points to understand before interacting with the protocol:
* **Smart contract bugs:** Jupiter Lend's programs are audited, but no protocol is completely risk-free. A bug could lead to loss of funds or failed transactions.
* **Liquidation risk:** If the value of your collateral drops too much, part of your position will be sold to repay the debt. Jupiter Lend reduces this impact with partial liquidations and low penalties (which vary by vault), applied only to the portion that is liquidated.
* **Oracle errors:** The protocol uses multiple price sources (Chainlink, Pyth, Redstone). Inaccurate or delayed prices could cause unwanted liquidations or miscalculated Position Health.
* **Liquidity limits:** During extreme market moves, the protocol automatically limits large withdrawals or borrows. This protects the system and gives time for positions to rebalance safely.
* **Asset-specific risks:** Some tokens, like restaking assets or stablecoins, depend on external providers or mechanisms. Understand the risks related to each asset you use.
# Jupiter Lend Markets
Source: https://docs.jup.ag/user-docs/earn/lend/markets
Jupiter Lend operates as a multi-market protocol. Each market is fully isolated, with its own assets, risk parameters, and curator.
Jupiter Lend operates as a multi-market protocol. Each market is a fully isolated lending environment, with its own set of supported assets, risk parameters, oracle configurations, and curator.
Activity in one market does not affect, and cannot be affected by, another market. The two markets share the same audited smart contracts and the same product set (Earn, Borrow, Multiply, Strategies), but operate independently at the configuration and admin level.
## Why multiple markets
Running Jupiter Lend as several isolated markets allows the protocol to support different asset classes and risk profiles without exposing all users to the same risks.
* **Risk isolation.** A failure or stress event on one market (oracle issue, depeg, bad debt) cannot propagate to another market. Each market has its own liquidity and its own admin controls.
* **Dedicated curators.** A curator is responsible for selecting the assets listed in a market, setting risk parameters (LTV, Liquidation Threshold, Liquidation Penalty, borrow ceilings), and reviewing oracle configurations. Different markets can have different curators, each specialised in the asset class they manage.
* **Distinct parameters.** Each market can have its own listing standards, ceilings, and oracle setups, tuned to the assets it supports.
Curators do not custody user funds and cannot move assets out of the protocol. Their role is to define the risk framework of the market.
## Markets at a glance
The main market on Jupiter Lend.
**Curator:** Fluid
**Assets:** SOL-based LSTs, stablecoins, JLP, xStocks, Native Staked Vaults, JUICED, and more
**Documented across the rest of this section.**
An isolated market focused on Ethena and Paxos assets.
**Curator:** Bitwise (co-curated)
**Assets:** USDe, USDG, SOL
**Detailed below on this page.**
Both markets support the same core products: Earn, Borrow, Multiply, and Strategies. Jupiter Lend v2 adds [Smart Vaults](/user-docs/earn/lend/smart-vaults); per-market availability is shown in each market's interface. The available assets, pairs, and parameters differ between markets and are configured by each market's curator.
The market currently displayed in the Jupiter Lend interface is selected at the top of the page. All product pages, the Statistics page, and the [Liquidation Calculator](/user-docs/earn/lend/calculator) reflect the market currently selected.
***
## Jupiter Market
The Jupiter Market is the main lending market on Jupiter Lend, curated by [Fluid](https://fluid.io/).
It covers the full set of general assets supported by the protocol: SOL and SOL-based LSTs (JupSOL, INF, mSOL, JitoSOL, and more), stablecoins (USDC, USDT, USDG), JLP, xStocks, JUICED, and Native Staked Vaults. New assets are added regularly.
All the documentation in this section (Earn, Borrow, Multiply, Strategies, Statistics, Protocol Details, and the Advanced Overview pages) describes the Jupiter Market by default.
Supply assets to lending pools and earn yield from borrower interest.
Deposit collateral and borrow another asset without selling your holdings.
Paired-token positions that double as DEX liquidity and earn trading fees.
Increase exposure to an asset through automated on-chain leverage.
Enter pre-built, max-leverage positions on pegged vaults in one click.
***
## Bitwise x Ethena Market
The **Bitwise x Ethena Market** is a lending market on Jupiter Lend, isolated from the Jupiter Market and built around Ethena's USDe, Paxos' USDG, and SOL. It is co-curated with Bitwise, a crypto asset manager and co-curator of this market.
This market shares the same audited smart contracts as the Jupiter Market, but operates under separate risk parameters, asset listings, oracle configurations, and admin controls.
In the Jupiter Lend interface, this market lives at [jup.ag/lend/ethena/market](https://jup.ag/lend/ethena/market), reached from the **New** pill in the Jupiter Lend navigation. It has its own navigation: a **Market** tab, with **Statistics** and **Transparency** under the **More** menu.
Positions using USDe as collateral (on Borrow, Multiply, or the USDe Loop strategy) earn an additional **USDe Rewards APY**, displayed in the interface on top of the standard Supply APY. These rewards are funded by Ethena, refilled weekly based on the current state of deposits, and can be withdrawn at any time. The rate is variable and may change over time depending on funding and total deposits.
### Available products
The Bitwise x Ethena Market supports the same products as the Jupiter Market, with a curated set of assets and pairs.
Deposit USDG into the Earn vault to lend it out and earn variable interest from borrowers in this market.
| Vault | Supply asset |
| ----- | ------------ |
| USDG | USDG |
For details on how Earn works, see the [Earn page](/user-docs/earn/lend/earn).
Three Borrow pairs are available in this market:
| Supply (collateral) | Borrow (debt) | LTV | Liquidation Threshold |
| ------------------- | ------------- | --- | --------------------- |
| USDe | USDG | 92% | 94% |
| SOL | USDG | 80% | 85% |
| SOL | USDe | 80% | 85% |
Supply the collateral asset, then borrow against it up to the displayed LTV for that pair.
For details on how Borrow works, see the [Borrow page](/user-docs/earn/lend/borrow/introduction).
Since Jupiter Lend v2 (August 2026), this market can also list smart vaults, where the collateral or the debt is a token pair serving as liquidity for Jupiter AMM, with trading fees adding to yield or reducing borrow cost.
The available pairs and their parameters are displayed in the market's interface. For how these vaults work, see [Smart Vaults](/user-docs/earn/lend/smart-vaults).
One Multiply vault is currently available:
| Supply (collateral) | Borrow (debt) | Max Multiplier | LTV | Liquidation Threshold |
| ------------------- | ------------- | -------------- | --- | --------------------- |
| USDe | USDG | 12.3x | 92% | 94% |
For details on how Multiply works, see the [Multiply page](/user-docs/earn/lend/multiply).
One Strategy is currently available:
| Strategy | Collateral / Debt | Risk |
| --------- | ----------------- | ---- |
| USDe Loop | USDe / USDG | Low |
USDe Loop borrows USDG and loops the proceeds back into USDe to amplify yield. It applies maximum leverage automatically via a flashloan in a single atomic transaction.
Risk Assessment as displayed in the interface: *Assets are correlated and deployed in low risk delta-neutral strategies and T-bills.*
For details on how Strategies work, see the [Strategies page](/user-docs/earn/lend/strategies).
### Risks
Using the Bitwise x Ethena Market involves several risks. Read each before depositing or borrowing.
**Smart Contract Risk**\
A bug or vulnerability in the protocol's code could be exploited. The Bitwise x Ethena Market shares the same audited smart contracts as the Jupiter Market.
**Market Risk**\
SOL, USDe, and USDG can change in value. For borrowers, a drop in collateral value can trigger liquidation.
**Depeg Risk**\
USDe is a synthetic dollar backed by delta-hedged collateral. A loss of peg would sharply reduce collateral value for positions using USDe as supply, increasing liquidation risk significantly at high leverage. USDG is a regulated stablecoin issued by Paxos, with its own peg mechanism and reserves.
**Rate Risk**\
Borrow APY can spike or Supply APY can drop, compressing or reversing the net yield on leveraged positions. At high leverage, the effect is amplified.
**Leverage Risk**\
Multiply and Strategy positions amplify both gains and losses. Small adverse moves in rates or asset value have an outsized impact at high multipliers.
Never deposit or borrow more than you are willing to lose. Lending and borrowing on-chain involves multiple risks that can compound under stress.
### Security model
The Bitwise x Ethena Market uses the same security framework as the rest of Jupiter Lend, with admin controls specific to this market.
#### Risk & Limits System
Each vault enforces both fixed limits and dynamic rate limits to protect users and the market against sudden large flows.
* **Fixed maximum debt ceiling.** Every vault has a hard cap on total debt, set at listing based on the available liquidatable liquidity in a single session.
* **Base floor with free access.** Below the base floor, users borrow without restrictions. Above it, the active ceiling expands gradually until the maximum is reached.
* **Anti-drain protection.** Flash-style drain attempts are blocked at the contract level, while normal-sized borrows clear instantly.
* **Same mechanic on withdrawals.** Below a base threshold, full instant exit is available. Above it, outflows expand at the same rate-limited pace.
*Example: Base Borrow \$5M, Max Borrow \$10M, ceiling expands 25% every 6 hours.*
#### Admin Controls and Trust Model
The Bitwise x Ethena Market is fully isolated under its own multisig with a distinct set of signers. An operational security compromise on the Jupiter Market cannot affect this market, and vice versa.
* **Timelocked Multisig (6/10 signers, 12-hour timelock):** can perform program upgrades, oracle changes, core risk parameter updates, and borrow limit increases on a market.
* **Team Multisig (6/10 signers):** can update the interest rate kink, fees, and reward rates.
* **Emergency pause:** the team multisig can pause all changes to contracts as an emergency mechanism. It cannot change oracles, core risk parameters, or create a new borrow-enabled market.
Two areas are immutable and cannot be modified by any multisig:
* **Oracle source configuration**
* **Protocol init authority scope** (zero-risk, used only for initialising new vaults)
***
## Program addresses
Jupiter Lend is composed of several on-chain programs deployed on Solana. The same programs power both markets.
| Program | Address |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Lending | [`jup97Zx1NixM8UJMQFw8TtKzqTiRT3ETAJR7cVx3PfQ`](https://solscan.io/account/jup97Zx1NixM8UJMQFw8TtKzqTiRT3ETAJR7cVx3PfQ) |
| Lending Reward Rate Model | [`jupGBUJYXuzz2hVSoqjrxoEwJUB6uuHJsQqkzmYyQ7n`](https://solscan.io/account/jupGBUJYXuzz2hVSoqjrxoEwJUB6uuHJsQqkzmYyQ7n) |
| Liquidity | [`jup6QF1sNDGpkkcu6F4qaFHcRBmnSS1VgyB4uFbBvNS`](https://solscan.io/account/jup6QF1sNDGpkkcu6F4qaFHcRBmnSS1VgyB4uFbBvNS) |
| Oracle | [`jupnw4B6Eqs7ft6rxpzYLJZYSnrpRgPcr589n5Kv4oc`](https://solscan.io/account/jupnw4B6Eqs7ft6rxpzYLJZYSnrpRgPcr589n5Kv4oc) |
| Vaults | [`jupo974WCqAUMD3RtpayTap1me7StQCWtEkBbDb6Ba3`](https://solscan.io/account/jupo974WCqAUMD3RtpayTap1me7StQCWtEkBbDb6Ba3) |
| Flashloan | [`jupKxkab7RTnQJ6wXStXg6WY4rcReV3maiUNwByciFF`](https://solscan.io/account/jupKxkab7RTnQJ6wXStXg6WY4rcReV3maiUNwByciFF) |
For technical documentation on integrating with these programs, see the [developer documentation](https://developers.jup.ag/).
***
For frequently asked questions about the Bitwise x Ethena Market, see the [FAQ page](/user-docs/earn/lend/faq#bitwise-x-ethena-market).
# Multiply on Jupiter Lend
Source: https://docs.jup.ag/user-docs/earn/lend/multiply
Multiply on Jupiter Lend amplifies your exposure to an asset with automated on-chain leverage, looping in a single atomic transaction.
## What is Multiply
Multiply on Jupiter Lend allows you to amplify your exposure to a specific asset using automated on-chain leverage.
It borrows against your collateral and reinvests the borrowed funds into the same asset, all in a single atomic transaction. Unlike manual leverage strategies that require multiple steps, Multiply automates the entire loop while keeping positions easy to manage.
Leverage multiplies potential gains, but it also multiplies potential losses and can push a position toward liquidation faster if market conditions move against you.
**Multiply vs Strategies** — Multiply lets you choose any leverage level on any supported vault, giving you full control over your position. [Strategies](/user-docs/earn/lend/strategies) are a different product built on top of Multiply: they apply maximum leverage automatically on a curated set of pegged vaults, in one click. If you want flexibility, use Multiply. If you want a one-click max-leverage position on a pre-vetted pair, use Strategies.
**Smart Multiply** applies the same looping mechanics to [Smart Vaults](/user-docs/earn/lend/smart-vaults), where the collateral, the debt, or both are token pairs serving as Jupiter AMM liquidity and earning trading fees. Use the **Smart Vaults** toggle in the Multiply loop list to display them.
Multiply is designed for users who want to:
* Increase their exposure to assets such as SOL, mSOL, or JitoSOL
* Boost potential yield through automated looping
* Actively manage market exposure and risk
* Optimize capital efficiency without leaving the Jupiter Lend interface
**Example:**
*You deposit 10 SOL and select 2x leverage.*
*Jupiter Lend borrows 10 SOL worth of USDC, swaps it for SOL, and redeposits it, giving you 20 SOL exposure while keeping your total collateral and debt balanced.*
Multiply positions are isolated: risks and rewards are contained within your vault. You can reduce or increase leverage at any time, or close partially to take profit or reduce exposure.
Multiply has no extra fees. It uses the same fee structure as [Borrow](/user-docs/earn/lend/borrow/introduction#fees).
Multiply positions follow the same liquidation rules as standard borrowing.
If your position crosses the Liquidation Threshold (the debt-to-collateral ratio at which the position becomes eligible for partial liquidation) due to a drop in collateral value or an increase in debt, a portion of your collateral may be automatically sold to restore safety. Liquidation penalties vary by vault.
The key difference with Multiply is leverage. Leverage amplifies both gains and losses, meaning positions can reach the Liquidation Threshold faster during adverse price movements. Higher leverage increases potential returns but also significantly increases liquidation risk.
Risk management is your responsibility. Monitor your position regularly and reduce leverage or unwind if market conditions change.
**Example:**
*If you hold a 3x SOL Multiply position and SOL drops 20%, your exposure amplifies the loss and your Position Health (the status showing how close the position is to liquidation) can deteriorate sharply. Adding collateral or reducing leverage restores safety.*
## How it works
Multiply builds an amplified position by recursively borrowing and redepositing collateral within a single atomic transaction.
It allows you to maintain higher exposure to an asset while keeping liquidation and risk parameters consistent with standard borrowing.
The Multiply mechanism is based on looped lending: each loop borrows against existing collateral, swaps the borrowed asset into additional collateral, and redeposits it. This process repeats until the desired leverage ratio is reached.
**Example (2x leverage on SOL):**
1. You supply 10 SOL as base collateral.
2. The protocol borrows USDC against this collateral.
3. Borrowed USDC is swapped to SOL using Jupiter's swap aggregator.
4. The purchased SOL is redeposited as collateral until the leverage ratio reaches the 2x target.
End state:
* Total exposure: 20 SOL
* Collateral value: \$4,000
* Debt value: \$2,000
* Liquidation and risk parameters remain consistent with the vault.
This process is atomic. All operations execute within a single Solana transaction, so no intermediate state is exposed to liquidation or front-running risk.
Unwind is the reverse of Multiply. It lets you decrease leverage by selling a portion of your collateral and using the proceeds to repay part of your debt, all in a single transaction.
This allows you to reduce exposure, take profits, or restore a healthier Position Health without closing the entire position.
**How it works:**
When triggered, Jupiter Lend swaps part of the collateral through the Jupiter router, uses it to repay the outstanding debt, and updates the vault. The position's collateral ratio improves immediately.
* **Partial Unwind:** reduce leverage by a chosen amount (e.g., from 3x to 2.2x).
* **Full Unwind:** sell enough collateral to repay the full debt and return the rest to your wallet.
After an Unwind, it is normal to receive different assets in your wallet. Part or all of your collateral asset is used to repay the debt, and any remaining amount after the swap is returned to your wallet.
For Multiply positions where the supply token is SOL, you automatically receive native SOL when unwinding (no manual unwrapping required).
There are no additional fees. Unwind uses the same parameters and rates as Borrow.
Each vault remains isolated, and the operation follows the same oracle-based pricing and liquidation logic as other products.
Once a Multiply position is open, it can be managed at any time from the Position Management page. You can adjust leverage, manage collateral, and control debt to keep your position aligned with your risk tolerance and market conditions.
**Leverage adjustments:** You can increase leverage using the Multiply tab or reduce it using Unwind. Reducing leverage repays part (or all) of the debt using collateral, improving position safety.
**Collateral management:** Collateral can be added or withdrawn at any time. Adding collateral lowers risk. Withdrawals are only allowed if the position remains safely below the Liquidation Threshold.
**Debt management:** You can borrow additional debt directly to your wallet or repay existing debt to reduce exposure. Repaying debt immediately improves the position's safety.
**Monitoring and tracking:** The Stats tab shows historical APYs and oracle prices. The History tab provides a full log of all actions taken on the position. Since Jupiter Lend v2, the Multiply page also tracks lifetime performance: **Your NET Value** and **Your Total PNL** at the top of the page, and per-position **Earnings** in the Open Positions list. The lifetime PnL accounts for everything that affects the position: swap fees, interest paid and earned, and liquidations.
**Net APY:** The Net APY displayed on your position is the return on your net value (total collateral minus total debt), not on your total collateral. With leverage, your net value is a fraction of your total position, so the effective return in absolute terms is smaller than it may appear at first glance.
**Risk awareness:** Each position displays a Status indicator showing how close it is to the Liquidation Threshold. Higher leverage makes positions more sensitive to price and yield changes, requiring closer monitoring.
## Position NFT
Each Multiply position is linked to a Position NFT (Non-Fungible Token) sent to your wallet when the position is created.
Do not burn or transfer the Position NFT while the position is open. It is required to manage and close the position through the interface.
When you close the position, the NFT stays in your wallet. If you later open a new Multiply position in the same vault pair, the NFT can be reused, so you do not pay the account creation fees again.
## Video walkthrough
Learn how to open, manage and close a Multiply Position.
Scaling Exposure with Jupiter Multiply — a guided lesson on how Multiply works.
# Oracles & Contract-Priced
Source: https://docs.jup.ag/user-docs/earn/lend/oracles-and-contract-priced
How Jupiter Lend prices assets: a hop-based oracle system combining multiple trusted providers and on-chain sources, plus contract-priced assets.
The Oracle Program ensures accurate and reliable price data by integrating multiple trusted oracle providers and on-chain sources. It calculates exchange rates by combining multiple price sources in a structured sequence, ensuring reliable asset valuations.
The Oracle program has been audited by Zenith and Offside.
Oracle Program Address: `jupnw4B6Eqs7ft6rxpzYLJZYSnrpRgPcr589n5Kv4oc`
## Hop-Based Oracle System
The system computes exchange rates by processing prices from up to four sources in a sequential chain. Each source contributes to the final rate through multiplication or division, with the option to invert values as needed.
The Oracle program integrates price data from Chainlink, Pyth, and Redstone.
For example, to derive the JUPSOL/SOL rate, the system combines JUPSOL/USD and SOL/USD feeds, inverting the latter to obtain USD/SOL, resulting in an accurate exchange rate.
This design enables the system to:
* Aggregate rates from multiple feeds, reducing dependency on any single provider.
* Adjust for varying units or scales using predefined multipliers and divisors.
* Validate data integrity at each step.
## Freshness Enforcement
To ensure prices reflect current market conditions, the system enforces strict time-based validity checks:
* **User operations:** Prices must be no older than 600 seconds (10 minutes) to be considered valid for actions like borrowing or supplying assets.
* **Liquidations:** Prices can be up to 7,200 seconds (2 hours) old. The requirement is deliberately looser so that liquidations can proceed during temporary oracle delays and keep the protocol safe.
These checks prevent the protocol from using stale prices for liquidation or Position Health calculations.
## Confidence Interval Validation
The system evaluates the confidence interval provided by Pyth price feeds to ensure data reliability:
* **User operations:** The confidence interval must be within 2% of the reported price.
* **Liquidations:** The confidence interval must be within 4% of the reported price.
If a price feed's confidence exceeds these thresholds, it is rejected.
## Providers
The Oracle system sources data from multiple providers for reliability and redundancy:
* **Chainlink** — Primary provider for most vaults.
* **Pyth Network** — Used for the remaining feeds. A migration of these to the new Pyth Core is planned.
* **Redstone** — Complements Chainlink and Pyth feeds for certain tokens.
In addition to external price feeds, Jupiter Lend also supports on-chain contract-based pricing for specific assets.
## Contract-Based Pricing
Some asset prices are derived directly from on-chain contracts instead of external oracle feeds. This approach ensures real-time accuracy for yield-bearing and staking tokens whose value changes based on redemption or staking rates.
Currently, contract-based pricing is used for:
* **JITOSOL/SOL** — Price read directly from the stake pool contract.
* **mSOL/SOL** — Price read from the Marinade stake pool.
* **JUPSOL/SOL** — Tracked through a Pyth redemption rate feed reflecting on-chain value.
* **syrupUSDC/USDC, INF/SOL, PST/USDC** — Tracked through Pyth redemption rate feeds.
All other pairs use market price feeds from Chainlink, Pyth, or Redstone.
## Stablecoin Pegs
For stablecoins such as USDC, USDT, USDG, and USDS, the Oracle maintains a 1:1 peg with USD.
These assets use direct USD-pegged price feeds to ensure consistent valuations across all vaults and lending products. This design minimizes volatility and simplifies calculations during borrow and liquidation events.
## Oracle Interaction with Liquidations
Oracle prices are directly used to evaluate Position Health and determine liquidation events. Each asset has predefined thresholds:
* **Liquidation Threshold (LT):** When the debt-to-collateral ratio exceeds this value, the vault becomes eligible for partial liquidation through the tick-based system.
* **Liquidation Max Limit (LML):** If the ratio surpasses this limit, the position exits the tick system and is fully liquidated.
These calculations rely on real-time oracle prices validated by the freshness and confidence interval checks described above.
# Protocol Details
Source: https://docs.jup.ag/user-docs/earn/lend/protocol-details
Key terms and metrics across Jupiter Lend: vaults, position NFTs, withdrawal and borrow limits, and protocol parameters.
This page provides a clear overview of the key terms and metrics used across Jupiter Lend products.
## Vault
A vault is a market on Jupiter Lend composed of a collateral asset and a debt asset (e.g., SOL/USDC, mSOL/SOL, JUICED/USDC).
The term "vault" can refer to two distinct things depending on context:
* **Position vault** — a user's individual borrowing position in a given market. Each Borrow or Multiply position creates its own position vault, identified by a Position NFT. This is the meaning used on the Borrow and Multiply pages.
* **Lending pool / market** — the shared liquidity layer for a given asset pair, used by all participants. This is the meaning used on the Earn and Statistics pages.
When the distinction matters, the documentation specifies "position vault" or "lending pool".
## Pegged Vault
A pegged vault is a vault where the collateral and debt assets are correlated and priced using on-chain redemption rates rather than market prices. Examples include JupSOL/SOL, INF/SOL, JUICED/USDC.
Because the price comes from on-chain redemption rates, market price fluctuations do not directly cause liquidations on pegged vaults. The main liquidation risk comes from rate divergence (Borrow APY exceeding Supply APY for a sustained period). Pegged vaults are used in Strategies and in some Multiply positions.
## Position NFT
Each position in a vault is represented by an NFT. This NFT represents the vault, including its debt and collateral assets. The NFT can be moved freely; transferring it to another wallet transfers the entire position.
Do not burn this NFT. It is required to manage and withdraw the funds associated with the position.
## Position Parameters
The annual return on the position's net value (total collateral minus total debt). Formula: ((supply amount × supply APY) - (borrow amount × borrow APY)) / (supply amount - borrow amount). All amounts in USD. The result applies to net value only, not total collateral. Displayed as Net APY across the interface (previously labelled Final APY).
The maximum percentage of the collateral that can be borrowed against. Also called Loan-to-Value.
The debt-to-collateral ratio at which the position becomes eligible for partial liquidation. Always higher than the LTV.
The ratio above which the position exits the tick system and is fully liquidated to zero.
The collateral price at which the position would reach the Liquidation Threshold. Generally shown as liquidation price / current price of collateral.
An additional amount taken from your collateral during liquidation to reward the liquidator. Varies by vault. For example, with a 1% penalty, for every \$100 of collateral sold during liquidation, an extra \$1 is given to the liquidator.
The status that shows how close your position is to liquidation. It reflects your current debt-to-collateral ratio relative to the Liquidation Threshold. The closer you are to the threshold, the higher the risk.
Dollar value of debt divided by dollar value of collateral (D/C ratio).
The ratio of borrowed amount to total supplied amount for a given asset across the protocol. Utilization is measured at the token level: it reflects how much of that asset has been borrowed relative to how much has been supplied across all vaults. Higher utilization typically results in higher interest rates for both lenders and borrowers.
A specific debt-to-collateral ratio level inside a vault. Jupiter Lend groups positions with similar ratios into ticks for efficient liquidation processing. Ticks are spaced by 0.15% and are shared globally within a vault.
A loan that is borrowed and repaid within a single atomic transaction. Jupiter Lend uses flashloans internally to enable looped operations like Multiply, Strategies, and Unwind, where multiple steps (borrow, swap, redeposit) execute together. The user does not interact with the flashloan directly.
Rate earned per year for supplying the collateral asset.
Rate paid per year for borrowing the debt asset.
The collateral absorbed by the protocol from a borrower who becomes undercollateralized.
The borrower's debt settled during the process of collateral absorption in liquidation.
## Smart Vaults and DEX
Terms introduced with Jupiter Lend v2 (August 2026). For the full explanation, see the [Smart Vaults page](/user-docs/earn/lend/smart-vaults).
A vault where the collateral, the debt, or both are token pairs serving as liquidity for Jupiter AMM. Three types exist: Normal Collateral & Smart Debt, Smart Collateral & Normal debt, and Smart Collateral & Smart Debt.
A collateral position composed of a token pair that doubles as DEX liquidity. It earns trading fees (Trading APR) on top of lending yield and any native asset yield.
A debt position composed of a token pair that doubles as DEX liquidity. Trading fees routed through the debt offset part of the Borrow APY, and can exceed it temporarily.
A separate, supply-only product built on Jupiter AMM pools: a token pair deposited as pool liquidity, earning lending and trading fees, with no borrowing, no debt, and no liquidation risk. Shown on the Smart Vaults page for navigation, but not a smart vault position.
The supply cap of a Smart Earn vault's pool. Deposits stop once the cap is reached. Displayed in the vault's modal alongside Current Supply.
The rate generated by trading fees flowing through a smart position. Displayed as a separate component: positive on the Supplied Collateral side, negative on the Borrowed Debt side. It varies with the volume routed through the pool.
An input mode for actions on a smart pair. You can input either token, or both, in any amounts; the protocol swaps internally to match the pool's ratio. The internal swap is charged the pool's DEX trading fee.
An input mode for actions on a smart pair. You input one asset and the second asset's amount is auto-calculated so both legs match the pool's ratio exactly, with no internal swap fee.
The token mix of a smart pair shifts continuously as traders swap through the pool, while the total value is unaffected by the shift itself. Minimal on stable pairs, small on correlated pairs.
The current price of the pair inside a Jupiter AMM pool.
The price a DEX pool concentrates its liquidity around. When the pool price reaches the bounds of the range, the pool rebalances around a new center.
The bounds of the liquidity concentration range around the Center Price, expressed as prices and as a percentage width.
The duration of a range shift while a pool rebalances around a new center. Displayed as Inactive when no shift is in progress.
The fee charged on swaps routing through a DEX pool. Set per pool and displayed on the Statistics page.
The percentage of a pool's trading fees that goes to the protocol. The remainder accrues to the positions providing the pool's liquidity.
The combined USD value of a DEX pool's reserves backing trading, across both legs of the pair.
## Withdrawal Limits
The minimum level the withdrawal ceiling can contract to. Further expansion happens from this base.
The active withdrawal ceiling. If it is \$0, 100% of users can withdraw.
The rate at which limits increase or decrease over the given duration.
The time window for which the limits expand at the given rate.
Amount available for instant withdrawal.
Safety non-withdrawable amount reserved to guarantee liquidations.
## Borrow Limits
The minimum available borrowing amount for a vault. Further expansion happens from this base.
The active borrowing ceiling.
Maximum ceiling above which it is not possible to borrow.
The rate at which borrowing limits adjust over time.
The time window for which the limits expand at that rate.
Amount available for instant borrowing.
# Refinance
Source: https://docs.jup.ag/user-docs/earn/lend/refinance
Migrate your existing positions from other protocols into Jupiter Lend in one transaction with Refinance, without closing and reopening manually.
## What is Refinance?
Refinance allows you to migrate your existing Multiply position from another supported protocol directly into Jupiter Lend, all in one seamless transaction.\
This lets you move to better rates, higher efficiency, and Jupiter Lend’s advanced risk and liquidation systems without manually closing and reopening positions.
Instead of repaying loans and re-supplying collateral by hand, Refinance automates the entire process for you in a single guided flow.
## Why Use Refinance?
DeFi markets evolve quickly, and interest rates or liquidation parameters often change from one protocol to another.
Refinance helps you stay optimized by letting you:
No need to withdraw, repay, or redeposit manually
Through Jupiter Lend’s efficient vaults.
With lower liquidation penalties and higher LTVs.
Same debt, same collateral ratio, just improved conditions.
This makes it ideal for users who want to optimize their portfolio or consolidate assets under a single, unified system.
Currently, you can use Refinance to transfer your multiply & leveraged positions from both Kamino and MarginFi.
Currently, Refinance supports migrations from:
Kamino - Multiply positions:- jupSOL / SOL\\
* JLP / USDC\\
* mSOL / SOL\\
* jitoSOL / SOL\\
* syrupUSDC / USDG\\
* syrupUSDC / USDC\\
* SOL / USDC\\
* INF / SOL
MarginFi - Multiply positions:- JupSOL / SOL\\
* JitoSOL / SOL
Refinance will gradually expand to support more vault types, pairs, and lending protocols.
## How it Works
When you initiate a Refinance operation, Jupiter Lend securely interacts with both the source protocol and its own vaults to:
1. Repay your outstanding debt on the external protocol.
2. Withdraw the associated collateral.
3. Transfer these assets to Jupiter Lend.
4. Recreate your position inside Jup Lend, maintaining the same loan amount and collateral ratio.
All of this happens atomically, meaning the entire migration is executed safely within one transaction. Your position remains protected throughout the process.
For now, Refinance supports migrations up to \$1M per operation.
If your position is larger, you can still transfer it, you’ll just need to complete the migration in multiple steps.
There are no additional protocol fees for using Refinance, you only pay the standard network and transaction costs associated with Solana.
Refinance is fully non-custodial, all operations happen directly through your own wallet.\
The protocol does not take control of your assets at any point.
When you start a refinance, the smart contract simply automates what you would normally do manually:
1. Repay your existing loan on the source protocol.
2. Withdraw your collateral.
3. Recreate the same position on Jupiter Lend.
Everything runs from your wallet address in a single atomic transaction.\
That means your funds never leave your control, and there’s no intermediary or external custody involved.\
In practice, Refinance just triggers a contract that executes these actions for you securely and instantly.
## FAQ
Refinance allows you to migrate your existing position from another supported protocol directly into Jupiter Lend, all in one transaction.\
This automated process closes your position on the source protocol and recreates it on Jupiter Lend, keeping the same collateral and debt\
structure while adapting it to Jup Lend’s optimized conditions.
Refinance lets you move your positions to Jupiter Lend to benefit from better rates, higher efficiency, and improved liquidation mechanisms.\
It saves you time by automating every step, no need to manually repay, withdraw, or re-open your position.\
You also gain access to Jupiter Lend’s advanced risk management and higher LTV environment.
Currently, Refinance supports migrations from:- **Kamino - Multiply positions:**\\
* jupSOL / SOL\\
* JLP / USDC\\
* mSOL / SOL\\
* jitoSOL / SOL\\
* syrupUSDC / USDG\\
* syrupUSDC / USDC\\
* SOL / USDC\\
* INF / SOL
* **MarginFi - Multiply positions:**\
\*\*- \*\*JupSOL / SOL\\
* JitoSOL/ SOL
Support for more Solana-based protocols may be added in future updates.
There are no extra protocol fees for using Refinance.\
You’ll only pay the standard Solana network transaction costs associated with executing the refinance operation.
Yes. Refinance is a non-custodial, permissionless, and atomic process.\
All steps - repaying, withdrawing, and recreating your position - are executed from your own wallet within a single transaction.\
Your funds never leave your control, and there’s no third-party custody involved.
Yes. For now, Refinance supports migrations up to \$1M per operation.\
If your position is larger, you can still transfer it, you’ll just need to complete the migration in multiple steps.
# Smart Vaults
Source: https://docs.jup.ag/user-docs/earn/lend/smart-vaults
Earn, borrow, and multiply on your assets, all in one place. Smart Vaults let your collateral and debt double as DEX liquidity to earn trading fees.
Smart Vaults are a vault type on Jupiter Lend, introduced with Jupiter Lend v2 (August 2026). They are powered by Jupiter AMM, a trading layer built on top of the Liquidity Layer.
In a standard vault, your collateral earns Supply APY and your debt accrues Borrow APY. Smart Vaults add a third flow: your position doubles as liquidity for Jupiter AMM, and the trading fees generated by swaps routing through it flow back to your position. This is displayed in the interface as **Trading APR**. Jupiter's product pages describe this design as "Dual Stream Liquidity": one deposit, two yields.
### Standard vaults vs Smart Vaults
| | Standard vaults | Smart Vaults |
| ----------------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Collateral | Single asset | Single asset or token pair (Smart Collateral) |
| Debt | Single asset | Single asset or token pair (Smart Debt) |
| Yield on collateral | Supply APY, plus native yield where applicable | Supply APY, plus native yield, plus Trading APR |
| Cost of debt | Borrow APY | Borrow APY, reduced by Trading APR |
| Serves as DEX liquidity | No | Yes, on the smart side(s) |
| Products | Earn, Borrow, Multiply, Strategies | Smart vault list (borrow) and Smart Multiply. Smart Earn, a separate supply-only product, shares the page. |
Smart Vaults come in two building blocks, which can be combined:
Your supplied collateral is a token pair serving as DEX liquidity, earning trading fees on top of lending yield.
Your borrowed debt is a token pair serving as DEX liquidity, with trading fees reducing your effective borrow cost.
Smart Vaults are strictly **opt-in**, per position. Standard Earn, Borrow, and Multiply positions work exactly as before and have no exposure to Jupiter AMM.
Smart Vaults live under the **Smart Vaults** tab on [jup.ag/lend](https://jup.ag/lend), on a page titled **Dual Stream Liquidity** with three sections: the smart vault list (borrow), **Smart Multiply**, and **Smart Earn**. They are distinct from [Strategies](/user-docs/earn/lend/strategies), which are one-click max-leverage positions on pegged vaults.
## Smart Earn
Smart Earn is a **separate, supply-only product**, not a smart vault position. It uses the same Jupiter AMM pools: you deposit a token pair (for example USX/USDC) that serves as pool liquidity, and earn lending and trading fees. There is no vault, no borrowing, no debt, and no liquidation risk. It is shown on the Smart Vaults page for navigation.
Deposits and withdrawals work like any smart pair: one token or both, in Variable or Fixed Proportion. Each Smart Earn vault has a supply cap, shown as **Max Supply** in the interface; deposits stop once it is reached. Earnings and the current Net APY are displayed per vault.
## Smart Collateral
Smart Collateral is an opt-in feature for paired-token deposits, such as USDC/USDT or JupSOL/SOL.
You can deposit one of the two assets, or both. The protocol composes your deposit into the pair at the current pool ratio, so you do not need to source both sides manually. Withdrawals are similarly flexible: you can exit into either token or both. The interface offers two input modes for this, **Variable Proportion** and **Fixed Proportion**, described in the [walkthrough guide](/user-docs/earn/lend/guides/using-smart-vaults#variable-and-fixed-proportion).
A Smart Collateral position can earn from several sources at once:
* **Lending yield** from supplying into the Liquidity Layer (Supply APY).
* **The asset's native yield**, where applicable (for example staking rewards on an LST).
* **Trading fees** from swaps routing through the collateral pair, shown as Trading APR.
The combined effect is a higher potential APY for the supplier than a standard single-asset deposit. All rates are variable.
## Smart Debt
On standard vaults, borrowed assets are a passive liability that costs interest. Smart Debt turns your liability into an active position.
You borrow a token pair (for example USDC/USDT) instead of a single token, and use the borrowed assets however you want. Your debt serves as liquidity for Jupiter AMM: swap fees routing through the debt pool flow back to your position, offsetting part of your Borrow APY. In the interface, this appears as a negative Trading APR on the Borrowed Debt side, reducing your net borrow cost.
When borrowing or repaying, you can act in a single token or in both tokens at the pool's ratio.
Because the fee flow works against the interest flow, the two can offset each other. In rare, short-lived periods of exceptionally high volume, the Trading APR routed through your debt can even exceed the Borrow APY, briefly flipping the net cost in your favor. Do not count on this: trading fees depend on volume and vary day to day, while borrow rates follow utilization.
## Trading APR
Trading APR is the rate generated by trading fees flowing through your position. It is displayed on both sides of a smart position:
* **Positive on the Supplied Collateral side** — trading fees add to your yield.
* **Negative on the Borrowed Debt side** — trading fees reduce your borrowing cost.
Trading APR is displayed as its own figure at the top of the position card. The label follows the interface's APR/APY display toggle: with APY selected, the figure is converted and shown as **Trading APY**. The aggregate **Net APY** shown for a smart side includes it: it is the weighted average of both legs' APYs, plus the Trading APR. Hovering the Net APY in the interface reveals the per-token breakdown.
Trading APR is variable: it depends on the trading volume routed through the pool and on the pool's fee parameters, which you can inspect per pool on the [Statistics page](/user-docs/earn/lend/statistics) under the DEX tab.
### Under the hood
Each smart pair is backed by a pool on Jupiter AMM. The pool concentrates its liquidity within a price range around a center price; when the pool price reaches the bounds of that range, the pool rebalances around a new center. The Statistics page exposes these parameters per pool: Pool Price, Center price, Lower and Upper Range, and the shift time of the rebalancing, along with each pool's trading fee and revenue cut.
## Vault types
Smart Collateral and Smart Debt can be combined. The interface distinguishes three smart vault types:
| Type | Collateral | Debt | What it does |
| ------------------------------------- | ------------ | ------------ | ------------------------------------------------------------------------------------- |
| **1. Normal Collateral & Smart Debt** | Single asset | Token pair | Borrow against standard collateral while trading fees discount your borrow cost. |
| **2. Smart Collateral & Normal debt** | Token pair | Single asset | Earn trading fees on your collateral while holding standard debt. |
| **3. Smart Collateral & Smart Debt** | Token pair | Token pair | Earn trading fees on the collateral and reduce the cost of the debt at the same time. |
At launch (August 2026), available vaults use one smart side at a time; vaults combining Smart Collateral and Smart Debt are planned. [Smart Earn](#smart-earn) is not a vault type: it is a separate supply-only product built on the same pools.
## Rebalancing and composition risk
Smart Debt loans are not denominated in a single token. You borrow a pair, and the composition of your debt shifts continuously as traders swap through the pool. If you borrow \$1,000 USDC and \$1,000 USDT, you may end up owing \$800 USDC and \$1,200 USDT. The total stays the same; the mix moves. The same logic applies to the composition of a Smart Collateral position.
This is **composition risk**:
* On stable pairs (USDC/USDT), both assets track the dollar, so the composition shift has essentially no material impact.
* On correlated pairs (JupSOL/SOL), the two assets drift slightly relative to each other over time, so composition risk exists but stays small.
* At launch (August 2026), Jupiter AMM only supports correlated pairs, so the uncorrelated-pair scenario (volatile asset against a stablecoin) and its directional-bet risk do not apply.
Rebalancing is how you earn. The pool internally maintains the pair close to its correlation, so composition stays tight, while every swap routed through your position generates a fee. A useful framing: the pool is managing your debt for you, and paying you for it. The composition shifts are how you earn.
## Risks
Smart Vaults carry the standard risks of lending and borrowing on Jupiter Lend (smart contract risk, oracle risk, market and liquidity risk, liquidation risk), plus considerations specific to the DEX layer:
* **Composition risk.** The token mix of your collateral or debt shifts with trading activity, as described above, comparable to impermanent loss in any AMM. On correlated pairs the impact is small, but it is not zero. Pairs with low trading volume also earn fewer fees.
* **Variable Trading APR.** Trading fee income depends on volume routed through the pool. It can decrease or stop, and it is not guaranteed.
* **Rate risk.** Supply APY and Borrow APY remain variable, as on all Jupiter Lend vaults. A sustained divergence can erode a position over time.
* **Additional contract surface.** Smart Vaults run AMM logic on top of the Liquidity Layer your funds already sit in, which increases the contract surface compared to a simple lending position. Standard positions carry no such exposure.
* **Liquidation risk.** Smart positions follow Jupiter Lend's liquidation rules, including the tick-based system. The debt-to-collateral ratio is evaluated on the aggregate USD value of both legs: a paired side is priced through its DEX share price, where each share represents the pool-ratio composition of the two tokens, quoted in the debt token. If the ratio reaches the Liquidation Threshold, part of your collateral is sold to restore the position.
Never deposit or borrow more than you are willing to lose. Smart Vaults add a trading-fee flow on top of lending mechanics, but they do not remove any of the underlying risks.
## Fees
Smart Vaults use the same fee structure as [Borrow](/user-docs/earn/lend/borrow/introduction#fees). Trades routed through Jupiter AMM pay a trading fee to the pool they route through. A percentage of that fee, the revenue cut, goes to the protocol; the remainder accrues to the positions providing the liquidity. Pool parameters (trading fee, revenue cut, price ranges) are set per pool by the team multisig, and each pool's current values are displayed on the [Statistics page](/user-docs/earn/lend/statistics).
***
Navigate the Smart Vaults page, open smart vault and Smart Multiply positions, deposit into Smart Earn, and manage them.
Definitions of Trading APR, Smart Collateral, Smart Debt, and the other terms used across Jupiter Lend.
# Jupiter Lend Statistics
Source: https://docs.jup.ag/user-docs/earn/lend/statistics
A complete overview of activity across Jupiter Lend — real-time insights into asset flows, liquidity, vault positions, DEX pools, and protocol health.
The Statistics page offers a complete overview of activity across Jupiter Lend.
It provides real-time insights into asset flows, liquidity, vault positions, lending markets, and overall protocol health. This page is designed for transparency, showing exactly how capital moves through the protocol and how efficiently it is being used.
The Statistics page reflects the market currently selected in the Jupiter Lend interface. Switching markets (Jupiter Market or Bitwise x Ethena Market) updates all metrics on this page to that market's scope.
## Page Overview
### Global Metrics
At the top of the Statistics page, the overview summarizes the global metrics:
* **Total Supply** — Total value of assets supplied across all Jupiter Lend markets (Borrow + Earn).
* **Total Available** — Total liquidity available to borrow.
* **Total Borrowed** — Total active debt across all vaults.
### Tabs Overview
Below the global stats, the page is divided into four main tabs: Liquidity, Borrow, DEX, and Earn.
Each tab displays aggregated metrics along with cards showing detailed data for each asset, vault pair, or DEX pool.
## 1. Liquidity Tab
The Liquidity tab shows how each individual asset is used within Jupiter Lend.
### Metrics shown on each asset card
* **TVL (Total Value Locked)** — Total supplied value minus active debt (net TVL).
* **Supplied** — The amount of the asset currently deposited by users.
* **Borrowed** — The amount being borrowed against that asset.
* **Supply APY / Borrow APY** — Real-time interest rates for suppliers and borrowers (switch to APR using the double arrows).
* **Reserves** — The amount of interest kept by the protocol to maintain safety margins.
* Reserve Factor — The percentage of interest directed to reserves.
* Utilization — The ratio of borrowed assets to total supplied assets. Higher utilization means more of the pool's liquidity is actively being used by borrowers, which typically results in higher APYs for lenders.
* **Collateral marker** — Tokens that are not enabled as collateral in any vault carry an info marker on their card: you can supply them to the Liquidity layer, but they cannot back a borrow position.
These metrics show where liquidity is concentrated and how actively each asset market is being used.
### All Stats — Detailed Per-Asset Analytics
Each asset card includes an "All Stats" button.
Clicking this button opens a detailed analytics view that contains all the metrics shown on the asset card, along with additional charts and historical data. This panel includes:
* Historical charts for Total Supplied, Supply APY, Total Borrowed, Borrow APY, and Utilization.
* Interest Rate curve showing how rates change based on utilization.
A time selector allows you to view 1 day, 7 days, 30 days, or 1 year.
This section provides deeper insight into how rates, utilization, and market conditions evolve.
## 2. Borrow Tab
The Borrow section provides a deeper look into positions created through Borrow and Multiply. It displays both global vault data and individual vault metrics.
### 1) Global Borrow Metrics
At the top of the page, aggregated data for all active markets:
* **Total Supply** — Total liquidity deposited across all vaults.
* **Total Borrow** — Total outstanding debt.
* **Total Positions** — Number of active Borrow and Multiply positions.
### 2) Vault Select
This selector allows you to filter by collateral or debt asset, making it easy to jump to the specific market you want to inspect.
### 3) Vault Cards (Market Overview)
Each vault is shown as an individual card displaying its key parameters:
* **TVL (Total Value Locked)** — Total supplied value minus active debt (net TVL).
* LTV — The maximum percentage of the collateral that can be borrowed against.
* Liquidation Threshold (LT) — The debt-to-collateral ratio at which a vault becomes eligible for partial liquidation.
* **Liquidation Penalty** — The fee applied during liquidation, varies by vault.
* Liquidation Max Limit (LML) — The ratio that triggers a full liquidation. The position exits the tick system and is liquidated to zero.
* **Total Positions** — The total number of active positions in this vault.
### Expanded Vault View (Detailed Metrics)
Clicking anywhere on a vault card expands it to reveal a deeper breakdown of the market.
The view is split into two panels: Supplied and Borrow.
#### Left Side — Supplied
This section shows all supply-side metrics for the vault:
* **Supplied Amount** — The total amount of this asset deposited into the protocol by all users.
* **Immediate Withdrawable** — The amount that can be withdrawn instantly, based on current vault liquidity and withdrawal limits.
* **Withdraw Limits (\$):**
* **Withdraw Base Limit** — The minimum level the withdrawal ceiling can contract to. Further expansion happens from this base.
* **Withdraw Current Limit** — The active withdrawal ceiling. If it is \$0, 100% of users can withdraw.
* **Withdrawable** — The amount in \$ that can be withdrawn instantly, based on vault liquidity and withdrawal limits.
* **Withdraw Expand Percent** — The rate at which limits increase or decrease over the given duration.
* **Withdraw Expand Duration** — The time window for which the limits expand at the given rate.
* **Withdrawal Gap** — Safety non-withdrawable amount reserved to guarantee liquidations.
#### Right Side — Borrow
This section details the borrowing side of the vault:
* **Borrow Amount** — The total amount of this asset currently borrowed across the protocol.
* **Immediate Borrowable** — The amount available to be borrowed instantly, based on current liquidity and borrowing limits.
* **Borrow Limits (\$):**
* **Borrow Base Limit** — The minimum available borrowing amount for a vault. Further expansion happens from this base.
* **Borrow Current Limit** — The active borrowing ceiling.
* **Borrow Expand Percent** — The rate at which limits increase or decrease over the given duration.
* **Borrow Expand Duration** — The time window for which the limits expand at that rate.
* **Borrowable** — The lesser of: (current limit minus current borrow), (borrowable max utilization minus current borrow), or (available balance).
* **Borrow Max Limit** — The maximum ceiling above which it is not possible to borrow.
* **Borrowable Max Utilization** — Total borrow limit for the maximum allowed utilization.
## 3. DEX Tab
The DEX tab tracks the pools of Jupiter AMM, the trading layer behind [Smart Vaults](/user-docs/earn/lend/smart-vaults). Each pool backs the smart side of one or more vaults: its liquidity comes from Smart Collateral and Smart Debt positions, and its trading fees flow back to them as Trading APR.
### 1) Global DEX Metrics
At the top of the tab, aggregated figures for all DEX pools:
* **Total Supply** — Total value supplied to DEX pools.
* **Total Borrow** — Total debt routed through DEX pools.
* **7D Fee** — Trading fees generated across all pools over the last 7 days.
* **7D Volume** — Trading volume routed through the pools over the last 7 days.
* **7D Trades** — Number of trades executed over the last 7 days.
### 2) Pool Cards
Each DEX pool (for example a stablecoin pair or an LST/SOL pair) appears as a card showing:
| Field | Meaning |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| Total effective reserves | Combined USD value of the pool's reserves backing trading. |
| 7D volume / 7D fees | Volume routed through this pool and fees it generated, over the last 7 days. |
| Trading Fees | The fee charged on swaps routing through this pool. Set per pool. |
| Revenue cut | The percentage of trading fees that goes to the protocol. The remainder accrues to the positions providing the liquidity. |
Badges on each card indicate whether the pool backs **Smart Collateral**, **Smart Debt**, or both.
### 3) Expanded Pool View
Expanding a card reveals the pool's internals:
| Field | Meaning |
| ------------------------- | -------------------------------------------------------------------------------------------------------- |
| Per-leg reserves | The amount of each token currently held by the pool. |
| Pool Price | The current price of the pair inside the pool. |
| Center price | The price the pool concentrates its liquidity around. |
| Center Min / Max price | The bounds within which the center price is allowed to move. |
| Lower / Upper Range | The concentration range around the center price, shown with its percentage width. |
| Lower / Upper bound price | The absolute prices at the edges of the current range. |
| Shift time (t) | The duration of a range shift while the pool rebalances. Shown as Inactive when no shift is in progress. |
For definitions of these terms, see [Protocol Details](/user-docs/earn/lend/protocol-details#smart-vaults-and-dex).
## 4. Earn Tab
The Earn tab tracks all lending pools within Jupiter Lend.
### 1) Global Metrics
At the top of the page, two values summarize activity across all pools:
* **Total Earn Deposits** — Total amount deposited in Earn.
* **Total Earned** — Yield accumulated across all Earn positions.
### 2) Vault Cards
Each token appears as a card showing:
* **TVL** — Total liquidity in the pool.
* **Current APY** — Real-time annual rate paid to lenders.
* **Withdrawable** — Amount that can be withdrawn instantly.
### 3) Expanded View
Clicking a card expands it and displays additional parameters:
* **Withdraw Base Limit** — The minimum level for the withdrawal ceiling. Further expansion happens from this base.
* **Withdraw Current Limit** — The active withdrawal ceiling. If it is \$0, 100% of users can withdraw.
* **Withdraw Expand Percentage** — The rate at which limits increase or decrease over the given duration.
* **Withdraw Expand Duration** — The time window for which the limits expand at the given rate.
* **Withdrawable** — The lesser of: (supply minus withdrawal gap minus current limit) or (available balance).
## Why It Matters
The Statistics page acts as a transparent window into Jupiter Lend's on-chain activity.
It helps users monitor liquidity conditions across assets, borrowing and lending trends, vault performance and protocol utilization, and the overall economic state of the system.
By centralizing this data, the Statistics dashboard allows anyone to assess Jupiter Lend's activity and efficiency in real time.
# Strategies
Source: https://docs.jup.ag/user-docs/earn/lend/strategies
One-click max-leverage positions on pegged vaults within Jupiter Lend
## What are Strategies
Strategies are pre-built, max-leverage positions on pegged vaults within Jupiter Lend. They allow you to enter an automated looping position in a single click, without manually configuring leverage, collateral, or debt parameters.
Each strategy uses a pegged vault where the collateral and debt assets are correlated (e.g., JupSOL/SOL, JUICED/USDC). Because these vaults use on-chain redemption rates as their oracle price rather than market prices, market price fluctuations do not directly cause liquidations. For a definition of pegged vaults and other key terms, see [Protocol Details](/user-docs/earn/lend/protocol-details).
Strategies are built on top of [Multiply](/user-docs/earn/lend/multiply). They follow the same mechanics, the same liquidation rules, and the same fee structure. The difference is that Strategies automate the setup at maximum leverage: you deposit, the protocol handles the rest.
**Strategies vs Multiply** — Multiply lets you choose any leverage level on any supported vault. Strategies apply maximum leverage automatically on a curated set of pegged vaults. If you want flexibility on leverage or vault selection, use Multiply. If you want a one-click max-leverage position on a pre-vetted pair, use Strategies.
Strategies are pre-built templates that apply maximum leverage. You should understand the risks of each strategy before entering a position.
## How it works
When you deposit into a strategy, two transactions are required:
1. **Create Position** — creates your position account on-chain (including the Position NFT).
2. **Apply Leverage** — deposits your collateral, borrows the debt asset, swaps it back into the collateral asset, and redeposits it. This loop repeats until max leverage is reached.
Both transactions happen back to back. If you already have an existing position in that strategy, only one transaction is needed to add more collateral.
Each position is represented by a Position NFT sent to your wallet. Do not burn this NFT while the position is open. It is required to manage and withdraw your funds.
Withdrawing fully unwinds your position in a single transaction. The system swaps your collateral to repay all outstanding debt via a flashloan, then returns the remaining assets to your wallet.
Partial withdrawals are not supported for Strategies. You always withdraw 100% of your position.
The APY displayed on each strategy is calculated based on the difference between the Supply APY (what your collateral earns) and the Borrow APY (what you pay on the debt), multiplied by the leverage.
This APY fluctuates in real time based on supply and demand in the underlying lending pools. It is not fixed.
The APY shown applies to your net value (total collateral minus total debt), not to your total position. With high leverage, your net value is a small fraction of the total position.
Each strategy has a capacity limit: the borrow headroom available in the strategy's underlying vault. Because every deposit is looped at maximum leverage, this effectively caps the total amount that can be deposited across all users.
The capacity status is shown on each strategy card:
* **Available** — deposits are open.
* **Filling fast** — capacity is running low.
* **Filled** — no new deposits can be made until existing positions are closed or the ceiling is raised.
## Available Strategies
All current strategies use pegged vaults with correlated asset pairs. Each strategy's risk level and yield source depend on the underlying assets.
| Strategy | Collateral / Debt | Market | Risk | Yield source |
| ------------------ | ----------------- | ---------------- | ------ | -------------------------------------- |
| JupSOL Loop | JupSOL / SOL | Jupiter | Low | SOL staking rewards |
| INF Loop | INF / SOL | Jupiter | Low | LST basket yield + swap fees |
| JUICED Loop - USDC | JUICED / USDC | Jupiter | Low | T-bill yield |
| JUICED Loop - USDT | JUICED / USDT | Jupiter | Low | T-bill yield |
| SyrupUSDC Loop | syrupUSDC / USDC | Jupiter | Medium | Overcollateralized institutional loans |
| LBTC Loop | LBTC / cbBTC | Jupiter | Medium | Babylon network staking rewards |
| USDe Loop | USDe / USDG | Bitwise x Ethena | Low | Delta-neutral strategies + T-bills |
Assets are correlated and the blockchain-maintained redemption rate is used as oracle. There is no market price risk. The main risk is that SOL borrow rates spike for a sustained period of time.
Assets are correlated. INF holds a basket of LSTs and enhances their yield via swap fees between them. There is no market price risk. The main risk is that SOL borrow rates spike for a sustained period of time.
Assets are correlated and yield is generated via T-bills. The main risk is that borrow rates spike for a sustained period of time.
Assets are correlated. syrupUSDC is backed by overcollateralized loans issued via institutional grade custodians. The main risks are that syrupUSDC depegs or borrow rates spike for a sustained period of time.
Assets are correlated. LBTC yield is generated via staking rewards on Babylon network. The main risks are that slashing occurs to LBTC's underlying or cbBTC borrow rates spike for a sustained period of time.
Available on the [Bitwise x Ethena Market](/user-docs/earn/lend/markets#bitwise-x-ethena-market). Assets are correlated and deployed in low-risk delta-neutral strategies and T-bills. The main risks are that USDG borrow rates spike for a sustained period of time, or a depeg event on USDe.
## Risks
Strategies use max leverage on pegged vaults. While pegged vaults significantly reduce market price risk compared to standard Multiply positions, they do not eliminate all risk. **Maximum leverage means your safety margin is reduced by design**: your debt-to-collateral ratio sits close to the Liquidation Threshold from the moment the position is opened, so smaller adverse movements in rates or asset value can push the position toward liquidation faster than at lower leverage.
**Max leverage risk** — The higher the leverage, the smaller the buffer between your current ratio and the Liquidation Threshold. At max leverage, even small changes in Borrow APY, Supply APY, or asset behavior have an outsized impact on your Position Health. Strategies are designed for users who understand this trade-off.
**Rate risk** — Borrow rates are variable. If the Borrow APY exceeds the Supply APY for a sustained period, your position loses value over time. At max leverage, this effect is amplified, and the Position Health deteriorates faster than at lower leverage.
**Depeg risk** — For most strategies (JupSOL, INF), the oracle uses on-chain redemption rates, so a market depeg does not affect your position. However, for strategies backed by external mechanisms (syrupUSDC, LBTC), a depeg of the collateral asset or a failure in its underlying could impact your position.
**Liquidation** — If your debt-to-collateral ratio reaches the Liquidation Threshold, part of your collateral is automatically sold to repay the debt. Liquidation penalties vary by vault and apply only to the liquidated portion. For pegged vaults, liquidation is primarily driven by rate divergence over time, not sudden price drops.
**Smart contract risk** — Strategies use the same Jupiter Lend smart contracts as Borrow and Multiply. All contracts have been audited, but no protocol is completely risk-free.
Before entering a Strategy, simulate how borrow rate changes affect your position at max leverage over time. The Liquidation Calculator estimates how long it would take for a position to reach liquidation under different rate scenarios.
## Fees
Strategies use the same fee structure as [Borrow](/user-docs/earn/lend/borrow/introduction#fees) and [Multiply](/user-docs/earn/lend/multiply). There are no additional fees for using Strategies.
Borrowing interest accrues on the total leveraged debt, not just your initial deposit. Each deposit and withdrawal involves swaps, which carry standard network and swap fees.
***
Learn how to enter, manage, and exit a Strategy position.
# Affiliate & Referrals
Source: https://docs.jup.ag/user-docs/earn/offerbook/affiliate-and-referrals
How the Offerbook referral program works, vanity slugs, share URLs, and claiming rewards
Offerbook has a built-in referral program that lets users share protocol fees. When someone you refer interacts with Offerbook, a portion of the platform fee is redirected back to you (the referrer) and partially refunded to the referred user.
This page covers the user-facing affiliate experience: how to create your referral link, customize it with a vanity slug, share it, and claim your earned rewards. Referral rewards are a share of the protocol fees charged at each loan stage; the fee schedule itself is in [Fees & Costs](/user-docs/earn/offerbook/fees-and-costs).
The referral program applies at every stage where a fee is charged: loan start (25% fee paid by the borrower), repayment (10% fee paid by the lender), and collateral transfer (0.1% fee paid by the lender).
***
## How It Works
Each protocol fee is split between three parties:
| Recipient | Share |
| -------------------------- | -------------- |
| **Referred user** (rebate) | 20% of the fee |
| **Referrer** | 30% of the fee |
| **Protocol** | 50% of the fee |
The 20% rebate is always credited to whoever is paying the fee at that stage, and the 30% share goes to that user's referrer: the borrower (and their referrer) at loan start, the lender (and their referrer) at repayment and collateral transfer.
Each stage is independent: only the referral relationship of the user paying the fee at that stage applies.
| Stage | Who pays the fee | Rebate (20%) and referrer share (30%) follow |
| ------------------------------ | ---------------- | -------------------------------------------- |
| Loan start (25% fee) | Borrower | The borrower and their referrer |
| Repayment (10% fee) | Lender | The lender and their referrer |
| Collateral transfer (0.1% fee) | Lender | The lender and their referrer |
**Example:** a lender (referred) is repaid on a loan, and the protocol charges \$10 in fees at repayment: the lender receives a \$2 rebate, the lender's referrer earns \$3, and the protocol retains \$5.
A referral is applied when a referred user opens Offerbook through your share link and accepts the referral. Once accepted, the referral persists for all future fee-generating actions of that user.
If a saved referral code is no longer valid (for example, if the referrer changed their vanity slug — see [Vanity Slugs](#vanity-slugs)), it is cleared automatically. Users are not blocked from using Offerbook in the meantime.
***
## Your Affiliate Page
The **Affiliate** page (the Affiliate tab under Dashboard) shows your referral activity and lets you customize your share link. It is also available as an Affiliate tab on any profile you visit, scoped to that profile.
The page surfaces:
* Your **Referral Link** card: the share URL (with vanity slug if set, or a UUID fallback), a QR code, and a **Copy Link** button
* Your **Referral Stats**: total referrals and total earnings
* **Recent Earnings**: each reward with its token, amount, source user, type (Borrower or Lender), date and transaction link
* **People Referred**: each referred user with their volume, loans, offers, activity, join date and a link to their profile
***
## Vanity Slugs
By default, your share URL uses a UUID code that is unique but not memorable. You can replace it with a vanity slug — a custom, readable identifier — that you control.
Vanity slug validation accepts:
* Letters (uppercase and lowercase)
* Digits
* Underscores (`_`)
* Hyphens (`-`)
Slugs must be unique across all Offerbook users.
Go to your Affiliate page and edit the slug field. Once saved, your share URL is updated to use the new slug.
Changing your slug invalidates the previous one. Anyone who saved the old link will no longer be attributed to you when they open it, and the old slug may be claimed by another user.
If you have not set a vanity slug, your share URL uses a UUID code automatically. The UUID still works, but is harder to share verbally or print.
Sharing a referral link does not disclose anything about you: the URL carries only your UUID code, or the vanity slug you chose. A vanity slug is yours to pick, so choosing a recognisable one identifies you by design. Separately, Offerbook activity is recorded onchain and stays publicly visible there, independently of your referral link.
***
## Sharing Your Link
Your share URL is shown on your Affiliate page. Send it through any channel you prefer (social media, direct message, etc.). Anyone who opens Offerbook through your link gets your referral applied.
***
## Claiming Rewards
Referral earnings accumulate in the rewards claim table on your Affiliate page. Each row shows an unclaimed reward; you can claim them individually or in batches depending on the interface.
Claiming is a standard onchain transaction signed from your wallet. There is no minimum claim threshold at the protocol level, but Solana transaction fees still apply.
Referral rewards are paid in the same asset as the fee they originated from (USDC for loan start and repayment fees; collateral asset for collateral transfer fees).
***
## FAQ
Yes, but doing so breaks the previous link. Anyone who opens the old link after the change is no longer attributed to you, and the old slug may be claimed by someone else. Pick a slug you intend to keep.
Treatment of crypto referral rewards varies by jurisdiction. Offerbook does not provide tax advice. Consult a qualified tax professional in your country.
# Borrowing
Source: https://docs.jup.ag/user-docs/earn/offerbook/borrowing
Borrow USDC against your assets on Offerbook, from asking for a loan to repayment
Borrowing on Offerbook is fixed and predictable: you lock collateral, receive USD Coin (USDC), and repay the principal + interest to unlock it. The rate and the duration are agreed when the loan starts and never change, there are no price-based liquidations, and loans run from 1 to 30 days.
You can borrow against tokens or collectibles; what each market accepts is covered in [Markets](/user-docs/earn/offerbook/markets).
## How to start a loan
Everything starts from the Borrow view in the header. There are three paths to a loan as a borrower:
* Fill an open lend offer for instant terms set by the lender
* Create your own borrow offer with the **Ask for a Loan** button, and wait for a lender to fill it
* Send a counter offer on an open lend offer whose terms are close but not quite right. See [Counter Offers](/user-docs/earn/offerbook/counter-offers)
You can also advertise the terms you want through an [intent](/user-docs/earn/offerbook/intents), which is free, off-chain and locks nothing. To browse every offer and intent on one screen instead, use the [Pro](/user-docs/earn/offerbook/pro) view.
## The Borrow view
The Borrow view is built around a widget and the live offer list beneath it. While the redesign rolls out, a banner at the top lets you switch between the new experience and the classic one at any time.
* **Borrow / Leverage toggle:** Borrow is the plain loan flow described on this page; **Leverage** opens a leveraged long on any collateral — pick the **Asset to long** (leveraged with USDC), set **Your deposit** and the **Max leverage** slider, then take the best-leverage offer (the list sorts by highest leverage; if nothing matches, try a shorter minimum duration or another asset). See [Multiply](/user-docs/earn/offerbook/multiply)
* **Filters and sort:** a minimum-duration filter (**Min.**) and a sort selector (**Best match**) sit above the widget.
* **Show offers for:** by default the widget shows **Any collateral** — the whole book. The collateral selector opens a searchable modal with category tabs (Owned, All, Collectibles, Bridged, DeFi, LSTs): assets with live offers carry an **Offers** badge, and you can select a single asset, several at once (**Select all**, then **Select N assets**), or a collectible collection. With several assets selected, the widget shows "Any of N tokens" and the offer list covers them all.
* **You borrow:** the USDC amount — capped, once your wallet is connected, at what your selected collateral can support ("Up to 381 USDC"), with **Half** and **Max** shortcuts.
* If the requested amount exceeds what your wallet can back on the listed offers, a warning shows the maximum drawable amount with a one-click adjustment (for example, "Your wallet can draw up to 20 USDC on these offers, not 27 — Lower to 20").
Each row in the list is labelled by its **lender** — username or shortened address — with what the offer locks and its LTV ("Lock 1.52 SOL · 91% LTV"), the APR and the duration. The best-priced offer is tagged **Best**; offers your wallet cannot fully back show the missing collateral ("Need 0.81 more HYPE"); a **↻** marker next to the duration means loans from that offer can be extended (see [Loan Extensions](/user-docs/earn/offerbook/extensions)). Offers tagged **Intent** and marked **Unfunded offer** are advertised terms rather than filled liquidity: they cannot be filled directly, but posting matching terms lets the intent creator fill you — when such terms beat the book, a callout says so ("A lender off-book beats the best offer · not fillable instantly — post matching terms"). See [Intents](/user-docs/earn/offerbook/intents).
Next to the list, the **How this loan works** panel follows your selection live: what you borrow and what you lock, the APR, LTV and duration, the **Total to repay** with its breakdown (interest, the 25% platform fee, estimated network fees and rent), and the repay-by date — all summed up in one plain sentence ("Confirming locks X as collateral and sends Y to your wallet now. Repay Z by \[date] to unlock it..."). A **Share** button links to the selected offer. Clicking **Borrow** then confirms from this panel, and **+ Ask for a Loan** opens the creation flow; a global **Create Offer** button appears in the header when scrolling the list.
## Filling a lend offer
When you accept a lend offer, the loan starts immediately and the loan duration begins. Your collateral transits through the escrow and is locked onchain automatically, in a single transaction, and the USDC is transferred to you. If the offer allows partial fill, you can accept any amount at or above its Minimum Fill Amount; otherwise the offer must be filled in full.
Before you confirm, the **How this loan works** panel spells out exactly what will happen: the collateral you lock, the USDC you receive, the lender — shown by username when they have set one, with a **Contact** button that opens a direct message (see [Chat](/user-docs/earn/offerbook/chat)) — the rate and duration, and the full cost breakdown — interest, the 25% platform fee, estimated network fees and rent — down to the **Total to repay**, its due date, and your resulting USDC balance. At this stage, you can add the loan's maturity date to your calendar using the calendar button provided in the interface. Calendar reminders fire 2 hours before maturity.
After maturity, the lender can manually claim the collateral at any time. The transfer is not automatic, but you cannot rely on any delay. Repayment timing is entirely your responsibility.
## Creating a borrow offer
The **Ask for a Loan** button opens a creation flow in three steps: **Collateral**, **Terms**, and **Publish**.
Define what you lock and what you borrow:
* **You lock:** the collateral asset and amount, capped by your wallet balance (Max shortcut available). Collateral can be a verified token, a real-world asset (RWA) such as xStocks, or a non-fungible token (NFT) from a whitelisted collection; for NFT collateral, the LTV reference is the collection floor price
* **You borrow:** the USDC amount, linked to the **LTV (Loan-to-Value)** slider: changing one updates the other. As you move the slider, an indicator estimates how attractive the terms are to lenders (for example, "Good chance to fill, reasonable collateral ratio")
* **Quick Pricing · LTV:** presets to position your LTV: **Recommended**, **Match best**, and **Beat market**, computed against competing offers when they exist
Set the price and the duration:
* **APR (Annual Percentage Rate):** the rate is displayed all-in, including the fee (offer APR × 1.25, pricing in the 25% upfront fee), and compared to the market median (for example, "-2.5 vs median 22.5%"). The breakdown is shown underneath: on a 20% all-in APR, "Lender keeps 16% · 4% protocol fee". See [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs)
* **Quick Pricing · APR:** the same preset system as for LTV (Recommended, Match best, Beat market)
* **Duration:** 1 to 30 days, with presets (7d, 14d, 30d) and a fine-grained day stepper
* **What you'll pay:** the interest over the duration and the exact repayment amount at maturity are displayed before you continue
* **VS. MARKET:** a fill score out of 100 positions your offer against live competition on a gauge from "Won't fill" to "Fills fast", with a plain-language verdict (for example, "Below market, 43/100 — softer than the median, it may sit for a while") and your LTV compared to the market median. **Browse all offers** opens the competing offers
The Publish step offers two ways to put your terms on the market:
* **Lock & list now** creates the onchain borrow offer: your collateral is escrowed (the app deposits it from your wallet automatically) and the offer is listed, fillable instantly by any lender. It requires the collateral plus a little SOL for network fees and rent. See [Settings & Notifications](/user-docs/earn/offerbook/settings-and-notifications)
* **Just advertise terms** posts an [intent](/user-docs/earn/offerbook/intents) instead: a free signature, no SOL spent, nothing locked, and the collateral stays in your wallet. Lenders come to you, but the intent cannot be filled until you lock it as an offer. Your wallet must hold the advertised collateral to post it, so that advertised terms stay backed by a real balance
The step also carries the fill settings and the expiration:
* **Allow partial fills:** let lenders fill part of the offer instead of all of it — more likely to fill. **Minimum fill** sets the smallest amount a lender can take in a single fill (leave it blank for the recommended minimum)
* **Expiration** (under Advanced options): how long the offer stays live and fillable — it lapses automatically after this, and nothing is locked in beyond it. 1 to 7 days for a locked offer, up to 90 days when only advertising terms as an intent
An offer's expiration determines how long it stays open to be filled: 1 to 7 days, set at creation (the Create Offer flow offers 1, 3 and 7-day presets). The longer an offer stays open, the longer your terms stay fillable even if the collateral price or market rates move against you — cancel and relist if the market has moved; expired offers can be renewed in one click.
Published offers cannot be edited. You can cancel an offer at any time before it is accepted, at no fee. Once an offer expires, you can renew it directly from **Dashboard > Offers**, with the option to adjust the LTV, instead of recreating it from scratch. If nobody fills your offer before it expires, no loan is created and you owe nothing.
Counterparties can also send [counter offers](/user-docs/earn/offerbook/counter-offers) on your offer, proposing a different LTV, rate (APY), duration or amount. They appear beneath your offer in Dashboard, an activity dot shows on the Dashboard link, and you can accept one (the loan starts immediately at the counter terms) or ignore them.
## Borrowing costs
25% of the estimated interest, paid in USDC when the loan starts.
The full interest for the agreed duration is always owed, regardless
of when you repay.
The interface prices the fee directly into the displayed rate: the APR
shown in the creation flow and in offer listings is all-in, combining the
offer rate and the fee (an offer at 8% APR displays as 10% all-in). The
full schedule is in [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs).
Network fees and account rent also apply to the onchain transactions
involved. Rent is a deposit, not a fee: part of it returns when the related
accounts close.
## Your Escrow
Every Offerbook user has a dedicated escrow wallet, but as a borrower you
never manage it. Your collateral transits through it automatically in a
single transaction when you create or accept an offer, and returns
directly to your main wallet when you repay.
## Your Dashboard
Everything you do as a borrower lives under **Dashboard**. Side filters
(Borrowing, Multiply, Lending) and a **Status** filter narrow the view.
* **Loans** — follows each loan through its statuses: Active, Repaid,
Expired, Defaulted. Each row shows the collateral, the type, the loan
amount, the collateral value, live and expected PnL, the interest and
the time left; **Customize** lets you toggle and reorder columns (APY,
Duration, LTV, Repayment, Created…). Row actions: a calendar-reminder
shortcut, **Repay** (or **Close** on Multiply positions), and a menu
with **View in Explorer** and **Open lender profile**.
* **Offers** — your open borrow offers. Cancel them before they are filled,
or renew them once expired.
## Repayment
Repay from **Dashboard > Loans**, using the action button on the right of the loan's row. If the loan is extendable, the row leads with **Extend** instead and Repay moves into the row menu — extending rolls the loan into a fresh period on the same terms rather than closing it (see [Loan Extensions](/user-docs/earn/offerbook/extensions)). You sign a transaction that returns the principal plus interest to the lender and unlocks your collateral.
Any time before maturity — or even after, as long as the lender has not
claimed. The collateral returns directly to your wallet. Early repayment
does not reduce the cost: the full interest is owed whenever you repay.
Past maturity, the lender can claim your collateral by signing a
transaction. This is not a liquidation: no market sale, the collateral
is transferred directly to the lender and the loan is marked Defaulted.
You keep the borrowed USDC, but the collateral is gone.
The lender can claim at any moment after maturity. **Never rely on the
post-maturity window** — always plan to repay before the loan reaches
maturity.
## Examples
### Accessing liquidity against a held asset
A user holds a tokenized onchain asset valued at approximately \$10,000, with limited onchain liquidity. Rather than selling the asset, they want to access USDC liquidity for a short period.
They create a borrow offer with the following terms:
| Parameter | Value |
| ------------------ | ---------------------------------- |
| **Collateral** | Onchain asset valued at \~\$10,000 |
| **Borrowed asset** | 8,000 USDC |
| **LTV** | 80% |
| **Loan duration** | 3 days |
| **Fixed APR** | 35% |
A lender accepts the offer. Once the loan starts, the collateral is locked for 3 days, and the borrower receives 8,000 USDC. During the loan, no price-based liquidation can occur, regardless of market price movements.
#### If the borrower repays
At maturity, the borrower repays the borrowed amount plus interest:
| Item | Amount |
| ----------------------------------------------------------------- | ------------------------- |
| Interest paid | \~\$23 for the 3-day loan |
| Fee at loan start (25% of estimated interest, paid by borrower) | \~\$5.75 |
| Fee at repayment (10% of interest, deducted from lender's return) | \~\$2.30 |
| Interest received by the lender | \~\$20.70 |
The loan is closed, and the collateral is returned directly to the borrower's wallet.
#### If the borrower does not repay
After maturity, the lender can claim the collateral by signing a transaction: a 0.1% fee is deducted from the collateral, and the rest is sent to the lender (no fee on NFT collateral). The borrower can still repay and recover the collateral until the lender claims.
Do not rely on this window. The lender can claim at any moment after maturity. Always plan to repay before the loan reaches maturity.
### Insurance: protecting against a price drop
The same borrow mechanic can protect against a downside on a volatile asset you want to keep exposure to. This use case is surfaced as **Get Insured** in the interface, but it relies on the same loan flow as any other borrow offer.
A user holds an asset valued at approximately \$1,500 and is concerned about a price drop over the next few days, but does not want to sell. By creating a borrow offer using this asset as collateral, they receive USDC immediately, and decide at maturity whether to repay (and recover the asset) or not (and keep the USDC).
| Parameter | Value |
| ------------------ | ------------------------- |
| **Collateral** | Asset valued at \~\$1,500 |
| **Borrowed asset** | 1,000 USDC |
| **LTV** | \~67% |
| **Loan duration** | 3 days |
Two outcomes at maturity:
* The asset stays above 1,000 USDC: the user repays (principal + interest + fees) and recovers the collateral. The cost is the interest plus the 25% upfront fee — the price of the protection.
* The asset drops below 1,000 USDC: the user can choose not to repay. The lender claims the collateral, and the user keeps the 1,000 USDC, now worth more than the depreciated asset.
Insurance is not free. The borrower pays interest plus the 25% upfront fee regardless of the outcome. The protection only pays off if the asset drops below the borrowed USDC amount (after fees) by maturity; if the price holds, the operation is a net cost.
## Mistakes to avoid
Because there are no margin calls during the loan, borrowers may overlook loan maturity. After maturity, the lender can claim your collateral at any time. Use the calendar reminder at offer acceptance to stay on track.
You can repay at any time before maturity, but the full interest for the agreed loan duration is always owed. There is no partial interest or fee reduction for early repayment.
APR is what balances an offer relative to its collateral, LTV, and duration. The fill score and the market comparisons in the creation flow exist precisely to surface this: offers with rates significantly out of line with current market conditions may remain unmatched. Think about how all parameters work together rather than focusing on a single value.
# Chat
Source: https://docs.jup.ag/user-docs/earn/offerbook/chat
Send direct messages and join public channels on Offerbook
Chat is a built-in messaging feature on Offerbook that lets users communicate with each other directly inside the app. It supports public channels (open discussions) and direct messages (DMs) addressed by username or Solana wallet address.
Chat is accessed from the floating green button in the bottom-right corner of the interface. Opening it reveals a small menu with Messages, Feedback, and Support; click **Messages** to enter Chat.
You can read public channels as a guest without connecting a wallet. Authentication is only required to send messages, start direct messages, change settings, or take any action tied to your identity.
Chat is independent from the rest of Offerbook. Authenticating to Chat requires a separate wallet signature, distinct from the wallet connection used to create or accept offers.
***
## Connecting to Chat
You can browse public channels without signing in. To send messages, start direct messages, or change settings, you need to authenticate. The first time you take one of these actions, you are prompted to **Connect to chat** by approving a wallet signature. This signature only authenticates you with the chat service; no funds are moved.
Once signed, you are not asked again on the same device.
1. Click the floating green button in the bottom-right corner, then choose **Messages**.
2. Click **Connect to chat**.
3. Approve the signature request in your wallet.
Your messages then load. You can navigate between All, Direct, and Channels tabs at the bottom of the panel.
Hardware wallets cannot sign arbitrary messages. Chat sign-in for hardware wallets uses a memo transaction signature instead.
To sign in:
1. Open Chat and click **Connect to chat**.
2. If the standard signature fails, the app displays a hint about Ledger mode and offers to switch to transaction-based authentication.
3. Approve the memo transaction in your hardware wallet. The transaction is empty (no funds move) but requires a small SOL balance to pay the network fee.
You are not asked again on the same device after signing in.
***
## Channels
Channels are public discussion rooms open to all connected users.
At launch, Offerbook ships with a single channel: **General** ("General discussion for everyone"). Additional channels may be introduced over time.
Open Chat → click the **Channels** tab at the bottom of the panel → select **General**.
The channel header shows the channel name and the current number of online users. Pinned messages appear at the top of the channel and can be expanded by clicking the chevron.
Scroll down to read recent messages, and use the input at the bottom to send your own.
Only Jupiter admins can pin messages in channels. Regular users cannot pin or unpin.
The "N online" indicator next to the channel name reflects the number of users currently connected to Chat (not the total number of Offerbook users).
***
## Direct Messages
Direct messages (DMs) are private one-to-one conversations between two users.
1. Open Chat → click the **Direct** tab.
2. Click **+ Start a conversation**.
3. Enter the recipient's username (if they have set one) or their Solana wallet address.
4. Send your first message.
The conversation appears in the All and Direct tabs for both participants.
Any connected user can DM any other connected user, as long as you know their username or wallet address. There is no friend request or approval flow.
***
## Sending an Offer in Chat
You can share one of your open offers directly in a chat message, both in channels and in DMs. The recipient sees a preview card and can open the full offer with one click.
From any chat (channel or DM), click the **+** button on the left of the message input.
Select **Send an offer** ("Browse your open offers"). A list of your currently open offers is shown.
If you have no open offers, the panel displays "You have no open offers." Create or renew an offer first, then come back to share it.
Pick the offer you want to share. It is sent as a preview card in the conversation, showing the principal, collateral, APY, duration, and LTV.
Anyone who can see the message can click the preview card. Clicking opens the full offer page on the right side of the interface, with all the offer details and the actions available to them (accept, send a counter offer, etc.).
Sharing an offer in chat does not change the offer's visibility settings. The offer remains discoverable from the offerbook as usual, and the shared card is only a convenient shortcut to it.
***
## Chat Settings
Click the gear icon at the top of the chat panel to open Chat settings.
The available option is **Display layout**, which controls how messages are rendered:
| Layout | Description |
| ----------- | ---------------------------------------------------------------------------------- |
| **Bubbles** | Messages are shown as full chat bubbles. Best for short, conversational exchanges. |
| **Compact** | Messages are shown as compact rows. Best for high-volume channels. |
| **Mixed** | Bubbles for DMs, compact for channels. Recommended for most users. |
Click **Done** to save your choice. The setting applies across your sessions on the same device.
***
## Reporting & Moderation
Chat includes a built-in moderation system to keep public channels usable.
Hover (or long-press on mobile) on any message and click the **⋯** menu, then **Report message**. A confirmation dialog opens:
> Report this message? A moderator will review it shortly. The sender is not told who reported them.
Click **Report** to submit. The report is sent to the Jupiter moderation team. The sender does not know who reported their message.
To prevent flooding, Chat blocks sending the same message more than once within a short window. If you try to repost identical content, the message is rejected.
This is enforced per user across all channels and DMs.
The moderation team reviews reports and takes action against messages that violate community guidelines: spam, scams, harassment, impersonation, and similar abuse. Actions can include message deletion or user restrictions, at the moderators' discretion.
***
## Use Cases
Chat is designed to support real interactions around lending and borrowing on Offerbook. A few common patterns:
Before formally proposing different terms on an open offer, you can DM the offer creator to discuss what you have in mind (LTV, APR, duration). If you reach an agreement, send a counter offer with the negotiated terms, or wait for them to update their offer.
This reduces back-and-forth on counter offers that would not be accepted anyway.
During the life of a loan, the borrower and lender may need to communicate: confirming early repayment, asking about collateral specifics, or coordinating a renewal. DMs are a direct way to do this on-platform, without leaving the app.
Lenders and borrowers can post in the General channel to bring attention to a specific offer (for example, "Looking for a 7-day lender on \$X collateral at Y% APR"). Sharing the offer card in the message makes it actionable in one click.
For unusual or hard-to-price collateral (illiquid tokens, RWAs, NFTs from smaller collections), the General channel is a place to ask lenders what terms they would consider before publishing the offer.
# Counter Offers
Source: https://docs.jup.ag/user-docs/earn/offerbook/counter-offers
Negotiate the terms of an open offer on Offerbook instead of accepting it as-is
A counter offer is a proposal to modify the terms of an existing open offer before accepting it. Instead of accepting an offer as-is, any user can suggest different terms back to the offer creator. Counter offers do not lock any funds until accepted, and the original offer stays open and visible to other users while counter offers are pending.
Counter offers work the same way for borrowers and lenders: anyone can counter an open offer, and any offer creator can receive counters. Your counter takes the opposite side of the original offer — countering a lending offer puts you on the borrowing side, and countering a borrowing offer puts you on the lending side.
## Sending a counter offer
Open the offer you want to negotiate and click **Counter**. The counter form opens with the original terms shown at the top and your proposed terms below, pre-filled from the original. Adjust one or more of:
* **LTV** — the loan-to-value ratio between borrowed USDC and collateral value. Changing it updates the locked and borrowed amounts accordingly
* **APY** — the rate you propose
* **Duration** — the loan length, in days
* **Expiry** — how long your counter offer stays open
* **Allow partial fills** — inherited from the original offer; toggle it and set a **Min fill (USD)** if you want a different rule
A colored indicator shows how likely your terms are to fill (for example, "Great chance to fill" or "Unlikely to fill quickly, high risk for lenders"), so you can gauge your proposal before sending.
You need to hold enough of the asset to back the counter offer when you send it; if you do not, the form shows "Not enough … to back this counter offer". Nothing is locked until the creator accepts. Click **Review counter offer** to confirm and sign.
Your counter is pinned to the original offer, so the creator sees it alongside their offer. You cannot edit a sent counter offer; if you want to change the terms, cancel it and send a new one.
## Receiving counter offers on your offers
When someone sends a counter offer on one of your open offers, it appears beneath your offer in **Dashboard**, so you can review and respond in context. You are alerted in two places: an activity dot on the Dashboard link, and a notification through your connected channels if enabled in [Settings](/user-docs/earn/offerbook/settings-and-notifications).
You can either:
* Accept the counter offer: the loan starts immediately at the counter-offer terms, and your original offer is consumed by this acceptance
* Ignore it: your original offer stays open, and other counterparties can still accept it at the original terms or send their own counter offers
Multiple counter offers can be open against the same original offer at the same time. Accepting one of them closes the original offer; any other pending counter offers are no longer actionable.
# Loan Extensions on Offerbook
Source: https://docs.jup.ag/user-docs/earn/offerbook/extensions
Roll an active Offerbook loan into a fresh period on the same terms, instead of repaying it
An extension rolls an active loan into a fresh period on the same terms: same rate, same collateral amount, new deadline. The borrower pays the closing period's interest, the principal stays borrowed, and the collateral never moves.
Extensions are opt-in on the lender's side and manual on the borrower's side. Nothing rolls over by itself.
Extensions are **never automatic**. You extend manually, and only before the deadline. Past maturity the lender can claim your collateral as usual — an extendable loan is not a safety net. See [Borrowing](/user-docs/earn/offerbook/borrowing).
## Lenders: allowing extensions
**Allow extensions** ("same terms, new deadline") is a toggle you set when creating an offer. It appears in every offer creation surface: the offer wizard, [Pro](/user-docs/earn/offerbook/pro), the borrow request form, and the Loop lend panel.
Loans filled from that offer start extendable. The toggle is only a starting value:
* After a fill, you can **revoke or re-grant** the permission per loan
* Revoking never shortens the period already running — it only prevents the next extension
## Borrowers: spotting and using them
Extendable offers carry a **↻ marker** next to their duration everywhere offers are listed: the offer book, the Borrow page, [Pro](/user-docs/earn/offerbook/pro), and collectible cards.
Once you fill one, the loan's row in **Dashboard > Loans** leads with an **Extend** button while the loan runs. Repaying stays one click away in the row menu.
## What an extension costs and changes
Before confirming, the panel shows exactly what you pay and what changes:
| Line | Meaning |
| --------------- | -------------------------------------------------------------------------------------------------- |
| Interest | The closing period's interest, paid now |
| Origination fee | The protocol fee on the new period. See [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs) |
| New deadline | The fresh period, starting when the transaction confirms |
Two things are worth knowing:
* The new deadline **replaces** the current one rather than adding to it. Extending the day you take the loan wastes the time you already paid for, so **extending near expiry gets you the most**.
* The principal and the collateral never move. Only the deadline and the interest clock reset.
## Lenders earn every period
Each extension settles the closing period's interest to the lender immediately, so the capital keeps earning without being redeployed into a new offer.
Extended loans wear an **×N badge**, and the loan panel keeps the full extension history: the date, the interest paid, and each new deadline.
# Offerbook FAQ
Source: https://docs.jup.ag/user-docs/earn/offerbook/faq
Frequently asked questions about Offerbook: assets, offers, intents, loans, fees, and risks.
Offerbook is a peer-to-peer lending protocol on Solana. Users borrow or lend USDC against onchain collateral (the asset locked by the borrower for the duration of the loan). Loan duration is set by the offer creator (1 to 30 days), with no price-based liquidations and no oracles. This FAQ covers the most common questions.
## Assets
Any Solana asset (verified tokens on Jupiter, RWAs such as xStocks, NFTs from whitelisted collections) can be used as collateral. The collateral you choose directly affects how attractive your offer is.
USDC (a dollar-pegged stablecoin) is the only asset that can be borrowed or lent on Offerbook.
***
## Offers
Both borrowers and lenders can create offers through a step-by-step flow: choose a side (borrow or lend), define the collateral asset and amount, USDC amount, LTV (Loan-to-Value, the ratio between borrowed USDC and collateral value), APR (Annual Percentage Rate, for borrowers) or APY (Annual Percentage Yield, for lenders), loan duration, expiration, and partial fill preferences. The offer is then published in the offerbook.
**Lenders:** Make sure your escrow wallet has sufficient USDC before publishing. Offers without enough balance will not be visible to other users.
No. To change the terms of an offer, you need to remove it and create a new one. However, once an offer expires, you can renew it directly from **Dashboard > Offers** without recreating it (with the option to adjust the LTV before renewing).
Yes. An offer can be removed at any time before it is accepted. No fees are charged.
Offers expire after 1 to 7 days, set by the offer creator (borrower or lender) at creation (the Create Offer flow offers 1, 3 and 7-day presets).
This is separate from the loan duration: the loan countdown only starts when an offer is accepted, not when it is published.
It depends on the offer creator's settings. When creating an offer, the creator can enable or disable partial fill, and set a Minimum Fill Amount (in USD). If partial fill is enabled, you can accept any amount equal to or greater than the Minimum Fill Amount. If disabled, the offer can only be filled in full.
When an offer is partially filled, protocol fees apply to the filled portion only, and the remaining amount stays available to other counterparties until the offer expires.
Partial fill is not available for offers using NFT collateral.
There is no fixed minimum or maximum at the protocol level. The Minimum Fill Amount can be set per offer when partial fill is enabled.
No. Users can have multiple offers active at the same time.
A counter offer is a proposal to modify the terms of an existing open offer before accepting it. From the offer, click **Counter** and adjust the LTV, rate (APY), duration, expiration, or partial-fill rule. The original offer creator can then accept your counter (starting the loan at those terms) or ignore it. Counter offers do not lock any funds until accepted. See [Counter Offers](/user-docs/earn/offerbook/counter-offers) for details.
Yes. NFTs from whitelisted collections can be used as collateral. Offers using NFT collateral are per-item: each offer targets one specific NFT. The exception is PFP collections with a floor price, where lend offers can be collection offers: any qualifying NFT from the collection can be pledged.
Partial fill is not available for NFT collateral, since an NFT cannot be partially transferred. For NFT collateral with a known floor price, the LTV slider uses the floor price as the reference collateral value.
***
## Intents
An intent is a free, off-chain advertisement of the lending or borrowing terms you want. It locks no funds and cannot be filled directly. Offerbook matches it against live onchain offers and surfaces the matches in your dashboard. See [Intents](/user-docs/earn/offerbook/intents).
No. Posting, editing and cancelling an intent only require a wallet signature. There is no transaction, no gas, no account rent and no protocol fee, and your funds stay in your wallet. For large intents, around \$100,000 in value or more, Offerbook checks that your wallet and escrow balances hold the relevant asset before accepting the intent.
Create a regular onchain offer with the same token pair and terms close to the advertised ones: APY and LTV (Loan-to-Value) within 10%, duration within one day. Your offer then surfaces automatically in the intent creator's dashboard, and they can fill it through the standard flow.
The loan terms you advertise can run from 1 to 30 days, the same range as offers. The intent itself stays active until you cancel it or its expiration lapses; you set the expiration when posting, up to 90 days.
***
## Loans
A loan starts when an offer is accepted. Once matched, the collateral is locked onchain via a smart contract (a PDA, or Program Derived Address, which is a program-owned account on Solana with no private key) and the USDC is transferred. All loan terms are fixed and immutable from that point. The loan duration begins at this moment.
Loan duration is set by the offer creator (borrower or lender) and can range from 1 to 30 days. The interface offers presets depending on the flow (such as 3D, 7D, 30D or 7d, 14d, 30d). The countdown starts when the offer is accepted, not when it is published. Once the loan starts, the duration cannot be changed.
Offer expiration is how long the offer stays visible in the offerbook (1 to 7 days, set at creation). Loan duration is how long the loan lasts once the offer is accepted (1 to 30 days). These are two separate timers.
Yes. Borrowers can repay the loan at any time before maturity. The **full interest** for the agreed loan duration is owed regardless of when the repayment occurs. There is no partial interest or fee reduction for early repayment.
Only if the lender allowed extensions on the offer you filled — those carry a **↻** marker next to their duration. If yours is extendable, its row in **Dashboard > Loans** leads with an **Extend** button: you pay the closing period's interest plus the origination fee, and the loan runs on for a fresh period at the same rate, with the same collateral. Extensions are manual and must happen before the deadline. See [Loan Extensions](/user-docs/earn/offerbook/extensions).
After the loan duration ends, the lender can claim the collateral by signing a transaction. This action triggers the collateral transfer: the collateral is sent directly to the lender (not sold on the market). A 0.1% fee is deducted from the collateral at transfer (no fee on NFT collateral).
**The collateral transfer is not automatic.** It only happens when the lender claims. The borrower can still repay and recover the collateral at any time, as long as the lender has not claimed it.
Do not rely on this window. The lender can claim at any moment after maturity. Always plan to repay before the loan expires.
No price-based liquidation, margin call, or forced closure can occur during the loan. However, the collateral is still exposed to price fluctuations. If its value changes significantly, this affects the outcome at maturity for both sides.
A loan can have one of four statuses:
* **Active:** the loan is running, between offer acceptance and maturity.
* **Repaid:** the borrower has repaid the loan, the collateral has been returned to their wallet.
* **Expired:** the loan has passed maturity without being repaid. The lender can claim the collateral, and the borrower can still repay until they do.
* **Defaulted:** the lender has claimed the collateral after maturity. The loan is closed.
The collateral is locked onchain via a smart contract (a PDA, or Program Derived Address, which is a program-owned account on Solana with no private key) for the full duration of the loan. Neither the borrower nor the lender can access it during this period.
The borrower pays the principal plus the full interest for the loan duration. The collateral is returned directly to the borrower's wallet. The lender receives the USDC (principal + interest, minus the 10% repayment fee) in their escrow wallet.
For tokens where yield accrues in the token value itself (such as liquid staking tokens), the collateral value will grow during the loan. For tokens where yield must be actively claimed, the yield may not be accessible while the collateral is locked.
***
## Fees
Offerbook applies fees at three stages:
1. **At loan start:** 25% of the estimated total interest is taken immediately (USDC), paid by the borrower.
2. **At repayment:** 10% of the interest is deducted from the lender's return.
3. **At collateral transfer:** If the borrower does not repay and the lender claims the collateral, 0.1% is deducted from the collateral (no fee on NFT collateral).
The borrower pays the fee at loan start (25% of estimated interest). The lender pays the fee at repayment (10% deducted from interest received) and at collateral transfer (0.1% deducted from collateral received).
The Effective APR (borrower) and Effective APY (lender) account for platform fees and are displayed in the offer summary.
* **Effective APR** is higher than the offer APR because the 25% upfront fee is added on top of the interest. *Example:* an offer at 30% APR becomes 37.5% Effective APR (30% × 1.25).
* **Effective APY** is lower than the offer APY because the 10% fee is deducted from the interest received. *Example:* an offer at 5% APY becomes 4.5% Effective APY (5% × 0.9).
If a lender fills a borrow offer, the borrower receives the USDC amount minus the fee. If a borrower fills a lend offer, the borrower pays the fee right after receiving the USDC.
No. The full interest for the agreed loan duration is always owed, regardless of when the repayment occurs.
Yes, two other types. Offerbook has three cost types in total:
1. **Network fees** — Solana gas, around 0.000005 SOL per signature. Never refunded.
2. **Account rent** — a refundable deposit Solana requires for each new account. Most of it comes back when the account is closed.
3. **Protocol fees** — Offerbook's cut in USDC (see [Fees & Costs](/user-docs/earn/offerbook/fees-and-costs#protocol-fees)). Never refunded.
Rule of thumb: fees are gone, rent is a deposit (most of it is returned when the account is closed). The full rent table by account type is in [Fees & Costs → Account Rent](/user-docs/earn/offerbook/fees-and-costs#account-rent).
Offerbook offers a referral system that applies at every stage where a fee is charged. By default, each fee is split:
* **Referred user:** 20% of the fee
* **Referrer:** 30% of the fee
* **Protocol:** 50% of the fee
The referred-user share is always credited to whoever is paying the fee at that stage, and the 30% share goes to that user's referrer: the borrower at loan start, the lender at repayment and collateral transfer. See [Affiliate & Referrals](/user-docs/earn/offerbook/affiliate-and-referrals) for the full program.
Yes. Fees are set in the onchain configuration and can be updated by protocol admins. The rates described in [Fees & Costs](/user-docs/earn/offerbook/fees-and-costs) are the current defaults.
***
## Risks
If you do not repay before the end of the loan duration, the lender can claim your entire collateral at any moment. While you can technically still repay until the lender claims, do not rely on this window. Repayment timing is your responsibility. The full interest is always owed, even if you repay early.
Collateral value is not monitored during the loan. If the collateral loses significant value before maturity and the borrower does not repay, you receive the collateral token directly (not USDC), and may need to sell it at a loss. The higher the LTV (Loan-to-Value, the ratio between borrowed USDC and collateral value), the higher this risk. You must also manually claim the collateral after maturity.
No. Offerbook loans are time-based. Market price movements during the loan do not trigger any liquidation or margin call. After maturity, if the borrower has not repaid, the lender can claim the collateral by signing a transaction. This is a direct transfer, not a sale on the market.
Yes. Offerbook has been audited by Cantina. The full report is available here: [Cantina Audit (May 21, 2026)](https://github.com/jup-ag/docs/blob/main/static/files/audits/offerbook-cantina-may-2026.pdf).
***
## Escrow Wallet
A dedicated wallet, separate from your main Solana wallet, used to hold funds while interacting with Offerbook. Each user has one escrow wallet. All funds transit through the escrow when creating or accepting offers.
For lenders, the escrow is visible in the interface. For borrowers, it is used in the background and is not visible.
An offer cannot be created without the USDC backing it, but you do not need to deposit beforehand: the required USDC is deposited from your wallet into the escrow as part of offer creation.
Yes. Lenders can create multiple lend offers from the same USDC balance, and all of them are visible at the same time. When one offer is accepted and the USDC leaves the escrow, any remaining offers that are no longer covered by the balance are hidden automatically.
Yes. You can withdraw USDC at any time. If withdrawing makes your balance insufficient to cover active offers, those offers are automatically hidden.
When a borrower repays a loan, the USDC (principal + interest, minus the 10% fee) returns to the lender's escrow. It can be reused for new offers without withdrawing to your wallet first.
For borrowers, the escrow is invisible. Collateral transits through the escrow automatically in a single transaction when creating or accepting an offer. When the borrower repays, collateral is returned directly to their wallet.
Depositing an asset into your escrow requires funding a Solana account: 0.00203928 SOL the first time you deposit a given asset. This rent is a deposit rather than a fee: it is refunded when you withdraw the asset.
A separate escrow account is required for each distinct asset, so borrowers typically open more of them over time than lenders, who generally only need a USDC account.
See [Fees & Costs → Account Rent](/user-docs/earn/offerbook/fees-and-costs#account-rent) for the other account types.
***
## Notifications & Settings
Open the **Settings** page (gear icon in the navigation header), then go to the **General** tab and connect a notification channel: Telegram or Email. Connecting a channel requires signing a message to prove you own the wallet.
Once at least one channel is connected, the **Notifications** tab becomes active. You can then toggle individual notification types on or off (Offer accepted, Counter offer received, Loan due soon, etc.). See [Settings & Notifications](/user-docs/earn/offerbook/settings-and-notifications) for the full list.
Hardware wallets (Ledger and others) cannot sign arbitrary messages. To connect a notification channel with a hardware wallet, enable **I'm using a hardware wallet** in the General settings. Authentication then uses a signed transaction instead of a signed message.
Auto top-up is the mechanism that automatically deposits the required funds from your main wallet into your escrow when you create an offer: collateral for a borrow offer, USDC for a lend offer.
Two toggles for it are visible in the Escrow Settings but are not yet active (greyed out); for now, the deposit always happens automatically as part of offer creation.
***
## Chat
Click the floating green button in the bottom-right corner of the interface and choose **Messages**. The first time you open Chat, approve the wallet signature to authenticate. You can then join public Channels (currently just General) or send a Direct message to another user by username or wallet address. See [Chat](/user-docs/earn/offerbook/chat) for the full overview.
Hardware wallets cannot sign arbitrary messages. When you click **Connect to chat** with a Ledger, the app detects the failure and offers to switch to a memo transaction signature instead. Approve the empty memo transaction in your wallet to complete sign-in. Your wallet needs a small SOL balance to pay the network fee.
From any conversation (channel or DM), click the **+** button on the left of the message input and choose **Send an offer**. A list of your open offers appears; select the one you want to share. The recipient sees a preview card with the offer terms (principal, collateral, APY, duration, LTV) and can open the full offer with one click.
# Fees & Costs
Source: https://docs.jup.ag/user-docs/earn/offerbook/fees-and-costs
Fee structure, referral program, and how costs are distributed on Offerbook
Offerbook is a peer-to-peer lending protocol on Solana where users borrow or lend USDC against onchain collateral. This page covers the protocol fees charged at each stage of a loan, the Solana network fees and account rent, and the referral program.
Costs on Offerbook fall into three types: network fees (Solana gas), account rent (a refundable deposit), and protocol fees (Offerbook's cut). These are explained in detail below.
Protocol fees are set in the onchain configuration and can be updated by protocol admins. The rates described below are the current defaults.
***
## Protocol Fees
These are Offerbook's cut, taken in the loan token (USDC). They apply at three stages of a loan.
When a loan is opened (an offer is accepted), the program estimates the total interest for the full loan term. A fee equal to 25% of that estimated interest is taken immediately, paid in USDC by the borrower.
How this works in practice:
* If a lender fills a borrow offer: the borrower receives the USDC amount minus the fee.
* If a borrower fills a lend offer: the borrower pays the fee right after receiving the USDC.
The interest is calculated based on the APR (Annual Percentage Rate) or APY (Annual Percentage Yield) defined at offer creation, applied to the full loan duration.
When the borrower repays the loan, the borrower pays the full interest to the lender. A fee equal to 10% of the interest is then deducted from the lender's return.
Example: On a 100 USDC loan with 1% interest (1 USDC), the lender receives 0.9 USDC in interest. The remaining 0.1 USDC goes to the protocol.
If the loan is not repaid after maturity and the lender claims the collateral, a 0.1% fee is deducted from the collateral before it is transferred to the lender.
No fee is charged on collateral transfers involving NFT collateral.
***
## Effective APR / APY
The interface displays the Effective APR (borrower side) and Effective APY (lender side) in the offer summary. These rates account for platform fees automatically.
Effective APR is higher than the offer APR because the 25% upfront fee is added on top of the interest the borrower owes.
*Example:* an offer at 30% APR becomes 37.5% Effective APR (30% × 1.25).
Effective APY is lower than the offer APY because the 10% fee is deducted from the interest received by the lender.
*Example:* an offer at 5% APY becomes 4.5% Effective APY (5% × 0.9).
### How rates appear in the interface
The borrowing flow prices the upfront fee directly into the displayed rate: the APR shown is all-in (offer APR × 1.25), and the breakdown line expresses the split in APR points. An offer at 16% APR displays as a 20% all-in APR, with the line "Lender keeps 16% · 4% protocol fee": 16% is the offer rate earned by the lender (gross), and 4 points is the 25% upfront fee.
On the lending side, the offer summary shows the Effective APY (offer APY × 0.9) with the note "Includes a 10% platform fee on interest, deducted from your return at repayment": an offer at 16% APY shows a 14.4% Effective APY.
***
## Interest Calculation
Interest is pro-rated from the annual rate over the loan duration:
**Interest = principal × APR × (loan duration in days / 365)**
*Example:* borrowing 8,000 USDC at 35% APR for 3 days costs 8,000 × 0.35 × 3/365 ≈ 23 USDC of interest. The 25% upfront fee is computed on this estimated interest (≈ 5.75 USDC).
***
## Interest on Early Repayment
Borrowers can repay at any time before maturity, but the **full interest for the agreed loan duration is always owed**. There is no partial interest or fee reduction for early repayment.
***
## Intents
Intents are off-chain and entirely free. Posting, editing and cancelling an intent require only a wallet signature: no network fees, no account rent, no protocol fees. Standard fees apply only if a matching offer is filled and becomes a loan. See [Intents](/user-docs/earn/offerbook/intents).
***
## Fee Summary
| Stage | Who pays | Fee | Basis |
| ------------------- | ------------------------------------------ | ---- | ------------------------------------------- |
| Loan start | Borrower | 25% | Estimated total interest (USDC) |
| Repayment | Lender (deducted from interest received) | 10% | Interest (USDC) |
| Collateral transfer | Lender (deducted from collateral received) | 0.1% | Collateral value (no fee on NFT collateral) |
***
## Understanding the Three Cost Types
It helps to separate the three different things you pay for on Offerbook. They behave differently: two are gone for good, one comes back to you.
The Solana "gas" fee, paid on every transaction. Tiny (around 0.000005 SOL per signature). Never refunded.
A deposit, not a fee. Solana requires you to fund any new account you create. Most of it is refunded when the account is later closed (see table below).
Offerbook's cut, taken in the loan token (USDC). Never refunded (a share may go to a referrer).
Rule of thumb: **fees are gone, rent comes back.** The largest SOL numbers you see when using Offerbook are usually rent (a refundable deposit), not a cost.
***
## Account Rent
Account rent is a refundable deposit fixed by account type. The amounts are determined by Solana and do not change.
| Account | Rent (SOL) | Paid when | Refundable? |
| ------------------------------ | ---------- | ------------------------------------ | ---------------------------------------------------------- |
| **User account** | 0.00233856 | First time you use Offerbook | Not currently (expected to change) |
| **Escrow account** (per asset) | 0.00203928 | First time you deposit a given asset | Yes — when you withdraw the asset |
| **Offer account** | 0.00940992 | Each time you create an offer | Yes — when the offer is filled, cancelled, or expires |
| **Loan account** | 0.00651456 | When a loan opens | Not currently (expected to change) |
| **Loan vault** | 0.00203928 | When a loan opens | Yes — when the loan is repaid or the collateral is claimed |
Your escrow wallet holds a separate escrow account for each different asset you deposit, so borrowers typically open more of them over time than lenders, who generally only need one for USDC.
On a Solana explorer, an account holding collateral can show a large SOL figure. This is not rent. When the collateral is wrapped SOL (wSOL), the wrapped amount sits inside the account, so the figure shown is the small rent plus the collateral itself. The collateral is yours.
***
## Referral Program
Protocol fees can be split into referral rewards: at every stage where a fee is charged, the user paying the fee receives a rebate and their referrer earns a share. The full split, how it applies across a loan, and how to create your share link are covered in [Affiliate & Referrals](/user-docs/earn/offerbook/affiliate-and-referrals).
# Offerbook Overview
Source: https://docs.jup.ag/user-docs/earn/offerbook/index
Borrow or lend USDC peer-to-peer at fixed rates, with no price-based liquidations on Offerbook
Offerbook is a permissionless, peer-to-peer money market for any onchain assets on Solana, live at [offerbook.jup.ag](https://offerbook.jup.ag/) (currently in Beta).
It allows users to borrow or lend USDC at fixed rates, for a user-defined period (1 to 30 days), using onchain assets as collateral, without price-based liquidations and without relying on price oracles.
USDC (the only asset that can be borrowed or lent on Offerbook) is the liquidity exchanged between borrower and lender. Collateral is the onchain asset locked by the borrower for the duration of the loan, and can be any Solana asset (verified tokens on Jupiter, RWAs such as xStocks, or NFTs from whitelisted collections). See [Markets](/user-docs/earn/offerbook/markets) for what each market accepts.
Unlike classical lending protocols, Offerbook is built around time-based loans. Risk is managed by duration, not by collateral price fluctuations.
Both borrowers and lenders can publish offers with their own terms, expressing their intentions openly in the offerbook. Offers are available for 1 to 7 days, set by their creator. Expired offers can be renewed without recreating them.
Alongside onchain offers, users can post intents: free, off-chain advertisements of the terms they want, matched automatically against live offers. See [Intents](/user-docs/earn/offerbook/intents).
***
## A Fixed-Term Credit Market
Offerbook is best understood as a fixed-term credit market.
Every loan has a known duration, a known return, and a known outcome at maturity.
For lenders, returns are driven by three variables: collateral quality, loan duration, and APY (Annual Percentage Yield, the annualized return for the lender, fixed for the entire loan duration).
For borrowers, it means full control over loan terms and no price-based liquidations.
* Create borrow offers with custom terms
* Accept existing lend offers
* Use any supported onchain asset as collateral
* Repay at any time before maturity
* Create lend offers with custom terms
* Accept existing borrow offers
* Accept offers partially or in full
* Earn fixed yield over a known duration
Partial fill is configurable per offer. The offer creator (borrower or lender) can enable or disable partial fill, and set a Minimum Fill Amount in USD. Partial fill is not available for offers using NFT collateral.
***
## Navigating Offerbook
The header is organized by role: Borrow, Lend, Pro, Loop, Dashboard and Statistics.
Borrow opens the borrowing view: pick the collateral to lock via the collateral selector (a single asset, several at once, or a collectible collection), set the amount to borrow, and fill a matching lend offer — or use Ask for a Loan to create your own borrow offer. A global Create Offer button appears in the header when scrolling the offer list. See [Borrowing](/user-docs/earn/offerbook/borrowing).
Lend is a dropdown with two market views, Tokens and Collectibles: each shows what you can lend against, with Offer to Lend and Post an Intent as entry points. The two markets are described in [Markets](/user-docs/earn/offerbook/markets), and the journey in [Lending](/user-docs/earn/offerbook/lending).
Pro brings the whole order book onto one dense screen: both sides of the market and both intent books, side by side, for users who want everything in one place. See [Pro](/user-docs/earn/offerbook/pro).
Loop hosts the yield loops on stable yield-bearing assets, while leveraged longs on any collateral live in the Leverage tab of the Borrow view. Both create Multiply positions — see [Multiply](/user-docs/earn/offerbook/multiply).
Dashboard is your account view: a profile card (wallet, account age) with your Borrowed and Lent activity summaries (total volume, interest paid or earned, open amounts, repay rate), and five tabs: Loans, Offers, Intents, Analytics and Affiliate, each filterable by side (Borrowing, Multiply, Lending) and by status. Analytics charts your cumulative volume (loans and offers, both sides) and interest earned and paid over 3D to 30D ranges, with per-side volume and earnings breakdowns: fill rate, weighted average and median rates, defaults and their profit or losses. Affiliate manages your referral link (see [Affiliate & Referrals](/user-docs/earn/offerbook/affiliate-and-referrals)).
Statistics shows protocol-wide activity (see [Statistics](/user-docs/earn/offerbook/statistics)). The Chat widget, in the bottom-right corner, hosts public channels and direct messages between users (see [Chat](/user-docs/earn/offerbook/chat)).
***
## Key Terms
The onchain asset locked by the borrower for the duration of the loan. The lender can claim this asset if the loan is not repaid after maturity.
Collateral can be any Solana asset (verified tokens on Jupiter, RWAs such as xStocks, NFTs from whitelisted collections).
The liquidity provided by the lender and received by the borrower. On Offerbook, USDC is the only asset that can be borrowed or lent.
The ratio (in %) between the borrowed USDC amount and the collateral value. It represents how much liquidity is taken out compared to the value of the collateral locked.
Example: If you lock \$1,000 worth of collateral and set the LTV to 70%, you can borrow 700 USDC.
The fixed time period during which the collateral is locked and the loan is active. Loan duration is set when creating the offer (by the borrower for a borrow offer, or by the lender for a lend offer) and can range from 1 to 30 days. The interface offers presets depending on the flow (such as 3D, 7D, 30D or 7d, 14d, 30d).
The countdown starts when the offer is accepted (the loan begins), not when the offer is published. Once the loan starts, the duration cannot be changed.
Published offers expire after a set period, separate from the loan duration:
Offers expire after 1 to 7 days, set by the offer creator (borrower or lender) at creation.
Once an offer expires, it can be renewed directly without recreating it from scratch.
Offer expiration and loan duration are two separate timers. An offer can be accepted at any point within its expiration window; the loan duration then starts from that moment.
A free, off-chain, signed advertisement of the terms a user wants, on either side of the market. An intent locks no funds and cannot be filled directly: Offerbook matches it against live onchain offers and surfaces the matches in the creator's dashboard. Intents advertise the same loan durations as offers (1 to 30 days). An intent is anchored on the LTV rather than on fixed token amounts, so its terms stay meaningful as prices move. See [Intents](/user-docs/earn/offerbook/intents).
The annualized cost of borrowing, paid by the borrower. Fixed for the entire loan duration. Displayed when creating a borrow offer and in offer listings.
The annualized return for the lender. Fixed for the entire loan duration. Displayed when creating a lend offer.
The effective rate accounts for platform fees and is automatically displayed in the offer summary.
Effective APR (borrower side) combines the offer APR with the 25% upfront fee on interest. Because the fee is paid in addition to the interest, the actual cost of the loan is higher than the headline APR.
*Example:* an offer at 30% APR becomes 37.5% Effective APR (30% × 1.25).
Effective APY (lender side) combines the offer APY with the 10% fee deducted at repayment. Because the fee is taken out of the interest received, the actual return is lower than the headline APY.
*Example:* an offer at 5% APY becomes 4.5% Effective APY (5% × 0.9).
Rolling an active loan into a fresh period on the same terms — same rate, same collateral — instead of repaying it. The borrower pays the closing period's interest, and the new deadline replaces the old one. Extensions must be allowed by the lender and are always triggered manually by the borrower, never automatically. See [Loan Extensions](/user-docs/earn/offerbook/extensions).
The point at which the loan duration ends. At maturity, the borrower should have repaid the loan (principal + interest). If not, the lender can claim the collateral.
When a loan is not repaid after maturity, the lender can claim the collateral by signing a transaction. This action triggers the collateral transfer: the collateral is sent directly to the lender (not sold on the market). The lender receives the collateral token itself.
Unlike price-based liquidations in classical lending protocols, this event can only happen after maturity, never during the loan. A 0.1% fee is deducted from the collateral at transfer (no fee on NFT collateral).
**The transfer is not automatic.** It only happens when the lender claims. The borrower can still repay and recover the collateral at any time, as long as the lender has not claimed it.
The offer creator (borrower or lender) can enable or disable partial fill:
* **Partial fill enabled:** the offer can be accepted partially. The creator sets a Minimum Fill Amount in USD (e.g., \$10, \$25, \$100), which is the minimum amount a counterparty can accept per transaction.
* **Partial fill disabled:** the offer can only be filled in full by a single counterparty.
When an offer is partially filled, fees apply to the filled portion only, and the remaining amount stays available to other counterparties.
Partial fill is not available for offers using NFT collateral, since an NFT cannot be partially transferred.
A proposal to modify the terms of an existing open offer before accepting it. Any user can send a counter offer on any open offer, adjusting one or more of: LTV (Loan-to-Value, the ratio between borrowed USDC and collateral value), the rate (APY), duration, expiration, and the partial-fill rule.
The original offer creator can review counter offers received and either accept one (starting the loan at the counter-offer terms) or ignore them. The original offer remains open and visible to other users while counter offers are pending.
Counter offers do not lock any funds until accepted. Multiple counter offers can be open against the same original offer at the same time. See [Counter Offers](/user-docs/earn/offerbook/counter-offers) for details.
A loan can have one of four statuses:
* **Active:** the loan is running, between offer acceptance and maturity.
* **Repaid:** the borrower has repaid the loan, the collateral has been returned to their wallet.
* **Expired:** the loan has passed maturity without being repaid. The lender can claim the collateral, and the borrower can still repay until they do.
* **Defaulted:** the lender has claimed the collateral after maturity. The loan is closed.
A dedicated wallet, separate from your main Solana wallet, used to hold funds while interacting with Offerbook. Each user has one escrow wallet. All funds transit through the escrow when creating or accepting offers.
**For lenders:** the escrow is visible in the interface. USDC is deposited into it as part of offer creation, and lenders can create multiple offers from the same balance.
**For borrowers:** the escrow is used in the background. Collateral transits through the escrow automatically in a single transaction. When the borrower repays, collateral is returned directly to their wallet.
***
## How Offerbook Loans Work
Offerbook loans are time-based, not price-based. This is the core difference with classical lending protocols.
Once a loan starts:
* Collateral is locked onchain for the full duration of the loan
* Loan terms cannot be changed
* No margin calls or price-based liquidations can occur before maturity
Borrowers can choose to repay the loan at any time. The full interest for the agreed duration is owed regardless of when the repayment occurs.
If the loan is not repaid by maturity, the lender can claim the **entire collateral** at any time by signing a transaction. The transfer is not automatic, but you cannot rely on any delay. Always plan to repay before the loan expires.
With time-based loans, risk management is shared between lenders and borrowers. The collateral value at maturity can be higher or lower (in USD terms) than the amount borrowed.
***
## Loan Lifecycle
A loan on Offerbook follows a deterministic lifecycle.
A borrower or lender publishes an offer in the offerbook with their desired terms (collateral, USDC amount, LTV, APR/APY, loan duration, partial fill settings). Offers are visible for 1 to 7 days, set at creation. Expired offers can be renewed without recreating them.
A counterparty accepts the offer, partially or in full. The loan starts immediately. Collateral is locked onchain via a smart contract (a PDA, or Program Derived Address, which is a program-owned account on Solana with no private key). The loan duration begins at this moment.
A calendar reminder can be added at this stage to track the loan's maturity date. The reminder fires 2 hours before maturity.
The loan runs for its full duration. Collateral cannot be accessed by either party. No price-based events can occur. The borrower can repay at any time.
At maturity, the loan resolves in one of two ways:
* **Repaid:** the borrower repays principal + full interest. Collateral is returned directly to the borrower's wallet. Loan status: Repaid.
* **Extended:** on an extendable loan, the borrower pays the closing period's interest and the loan runs on for a fresh period on the same terms. See [Loan Extensions](/user-docs/earn/offerbook/extensions).
* **Not repaid:** the lender can claim the collateral by signing a transaction (this triggers the collateral transfer). A 0.1% fee is deducted from the collateral (no fee on NFT collateral). The borrower can still repay until the lender claims. Loan status: Defaulted.
If an offer expires without being accepted, it is automatically removed from the offerbook. No fees are charged.
***
## Offers and Loans
Both borrowers and lenders can create offers. For each offer, the following terms are defined:
| Parameter | Description | Configurable? |
| -------------------------------------------- | ------------------------------------------------------------------------ | ---------------------------- |
| **Collateral asset and amount** | The onchain asset locked as security | Yes |
| **USDC amount** | The liquidity borrowed or lent | Yes |
| **LTV** | Ratio between USDC amount and collateral value (in %) | Yes (linked to USDC amount) |
| **APR / APY** | Cost of borrowing (APR) or return for lending (APY), annualized | Yes |
| **Loan duration** | Time period of the loan (starts at acceptance) | Yes (1 to 30 days) |
| **Allow partial fill + Minimum Fill Amount** | Whether partial acceptance is allowed and the minimum fill amount in USD | Yes (except NFT collateral) |
| **Offer expiration** | How long the offer stays visible (separate from loan duration) | 1 to 7 days, set at creation |
Together, these parameters determine an offer's attractiveness. Matching occurs when the terms align with current market demand.
The role-by-role journeys are detailed in [Borrowing](/user-docs/earn/offerbook/borrowing) and [Lending](/user-docs/earn/offerbook/lending).
***
## Oracles and Pricing
Offerbook does not use price oracles for loan execution.
Loans are time-based with fixed terms, so there are no price-based liquidations or margin calls, and no onchain price tracking is required.
Prices shown in the interface are provided by Jupiter's pricing API and are informational only. They help users estimate values such as LTV, but do not affect loan execution or outcomes.
Tokenized stocks (xStocks) are valued using the underlying stock price rather than the on-chain market price, giving more accurate LTV and balance estimates.
***
## Why Offerbook?
USDC is the only asset that can be borrowed or lent on Offerbook. This simplifies the experience for both sides: borrowers and lenders only need to choose the collateral asset and the loan terms.
Offerbook can be used with any Solana asset as collateral, and is optimized for specific use cases:
Simple loan management with predictable terms, duration, and outcomes.
High-value assets with low onchain liquidity (such as RWAs) can be used as collateral without price-based liquidation or price manipulation risk.
LP positions, PT tokens, and other complex assets can be used as collateral.
Borrow USDC against a volatile asset to access liquidity now, with the option to walk away at maturity if the asset's value has dropped below the borrowed amount. Surfaced as **Get Insured** in the app interface.
Turn USDC into a leveraged long on a collateral asset by borrowing against it. Surfaced as **Multiply** on the Borrow view.
On the lending side, Offerbook provides a way to earn yield at fixed terms, with clearly defined risk at loan maturity.
***
## Offerbook vs Jupiter Lend
Offerbook and [Jupiter Lend](/user-docs/earn/lend) are both lending products within the Jupiter ecosystem, but they serve different use cases and operate on different models.
### The Offerbook model
| Parameter | Detail |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Model** | Peer-to-peer. Borrowers and lenders publish offers expressing their intentions, and are matched directly through an order book. |
| **Rates** | Fixed. Set by the user at offer creation and locked for the full loan duration. |
| **Loan duration** | User-defined (1 to 30 days). Starts when the offer is accepted. |
| **If not repaid** | After maturity, the lender can manually claim the collateral. The borrower can still repay until the lender claims. No price-based events during the loan. |
| **Oracles** | None. Prices in the interface are informational only. |
| **Collateral monitoring** | None during the loan. |
| **Borrowable assets** | USDC only. |
| **Collateral** | Any Solana asset (verified tokens, RWAs such as xStocks, NFTs from whitelisted collections). |
### The Jupiter Lend model
| Parameter | Detail |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Model** | Pool-based. Lenders supply assets to shared liquidity pools, borrowers draw from those pools. |
| **Rates** | Variable. Adjusted automatically based on supply and demand. |
| **Loan duration** | Perpetual. Positions remain active until the user repays or is liquidated. |
| **If not repaid** | Continuous price-based liquidation. Positions are partially or fully liquidated if collateral value drops below a threshold. |
| **Oracles** | Yes (Pyth, Chainlink, Redstone). Used for real-time valuation and liquidation triggers. |
| **Collateral monitoring** | Continuous. Position Health updated in real time. |
| **Borrowable assets** | Multiple (SOL, USDC, and other supported assets). |
| **Collateral** | Eligible assets only (SOL, JupSOL, mSOL, JitoSOL, stablecoins, and others per vault). |
Use Offerbook when you want fixed terms, no liquidation risk during the loan, or need to borrow against assets with low onchain liquidity. Use Jupiter Lend when you want flexible, perpetual positions with continuous collateral monitoring and variable rates.
***
## Supported Assets
* Any Solana asset (verified tokens)
* RWAs (such as xStocks)
* NFTs (whitelisted collections only)
* USDC only
Asset availability may vary depending on integrations and standards.
***
## Where to Go Next
What you can borrow and lend against: the Tokens and Collectibles markets.
From asking for a loan to repayment, step by step.
From posting an offer to claiming collateral, step by step.
Advertise the terms you want, free and off-chain.
# Intents
Source: https://docs.jup.ag/user-docs/earn/offerbook/intents
Advertise the lending or borrowing terms you want on Offerbook, with no funds locked and no fees
Intents let you advertise the terms you are looking for without committing anything onchain. An intent is a signed, off-chain message that tells the market "I am willing to lend (or borrow) this amount, against this collateral, at these terms".
One wallet signature. No gas, no rent, no fees.
Your funds stay in your wallet the whole time.
You choose whether to fill a matching offer, or ignore it.
Intents exist alongside offers. They do not replace them: an intent surfaces demand or supply that the order book cannot show yet, and the loan itself is still created through the regular offer flow.
## Intents and offers
| | Offers | Intents |
| ---------------------- | ---------------------------------------------------------------- | ------------------------------------------------------- |
| Where they live | Onchain | Off-chain |
| Cost to create | Network fees and account rent | Free, one wallet signature, no gas |
| Funds | Required to fill the offer | Never locked |
| Can be filled directly | Yes | No |
| Loan duration | 1 to 30 days | 1 to 30 days |
| Terms anchor | Token amounts, fixed at current prices when the offer is created | LTV-based: amounts are recalculated against live prices |
| Expiration | 1 to 7 days, set at creation | Set at posting, up to 90 days |
This anchoring difference is why offers are short-lived while an intent can stay posted: an offer commits exact token amounts at the prices of its creation, so it only stays meaningful for a short window, while an intent only advertises an LTV and a rate, so its terms keep their meaning as prices move.
## How matching works
When you post an intent, Offerbook continuously compares it against live onchain offers. An offer matches your intent when all four criteria hold:
| Criterion | Tolerance |
| ---------- | --------------------------------------------------------- |
| Token pair | Exact match: same lent token and same collateral token |
| APY | Within 10% of your intent's annual percentage yield (APY) |
| LTV | Within 10% of your intent's loan-to-value (LTV) ratio |
| Duration | Within one day of your intent's duration |
Matching offers surface under **Dashboard > Intents**. From there, filling one works exactly like filling any other offer. Posting an intent never commits you to anything: you decide whether to fill a matching offer, or ignore it.
## Posting an intent
There are two ways to post an intent:
* The **Post an Intent** button, available on the Lend market views and the Borrow view, opens the dedicated Post intents page ("Advertise the terms you want — no funds locked, matching offers surface in your dashboard"), described in the steps below
* The **Ask for a Loan** flow also ends on the choice: at its Publish step, **Just advertise terms** posts your configured terms as an intent instead of locking them as an offer (see [Borrowing](/user-docs/earn/offerbook/borrowing))
In both cases, the interface reminds you that advertised terms should stay backed by a real balance in your wallet (see the balance check under [Intent costs](#intent-costs)).
Select **Lend** or **Borrow** at the top of the form. As a lender, you set the token you lend and the collateral you want to receive. As a borrower, you set the collateral you lock and you receive the borrowed token.
The form also lists the most used collateral assets, with their recent loan volume, to help you pick a market that is actually active.
Enter the amount on your side of the trade: the amount you lend as a lender, or the collateral amount you lock as a borrower. **Half** and **Max** shortcuts use your wallet balance.
The amount on the other side is calculated automatically from the LTV you set, using current prices, and is labelled "set by LTV" in the form.
Three fields define the loan you are advertising:
| Parameter | Range | Default | Description |
| --------- | -------------------------- | ------- | --------------------------------------------------------- |
| LTV | 1% to 95% | 50% | Ratio between the borrowed value and the collateral value |
| APY | No fixed range in the form | 10% | Annual rate you offer or request |
| Duration | 1 to 30 days | 7 days | Length of the advertised loan |
The footer tracks readiness ("1 of 1 intent ready · one signature, no gas"); an intent line missing a collateral or an amount is flagged until completed. Click **Post intent**. Your wallet prompts you to sign a message. There is no transaction, no gas fee and no rent deposit. Ledger wallets sign an equivalent memo transaction instead, which is never broadcast to the network.
### Posting several intents at once
The **Add intent** button stacks additional intent lines in the same form, each with its own asset pair, amount and terms. The whole batch is posted with a single signature, up to 20 intents at a time.
## Where your intent appears
Once posted, your intent is public:
* Other users see it in the market views, where assets with active intents carry an intent badge and the advertised liquidity shows in the Available column alongside onchain offers
* On the Borrow view, lend intents matching a borrower's collateral appear in the offer list as **Unfunded offer** entries with an **Intent** badge, under the note "These lenders want to lend against your collateral — post matching terms and one can fill". They cannot be filled directly
* The [Pro](/user-docs/earn/offerbook/pro) view lists it in its Borrow intents or Lend intents panel, where counterparties can **Match** it
* The Statistics page counts it in the Advertised Intents card
* You manage it from **Dashboard > Intents**
## Acting on someone else's intent
Intents cannot be filled directly. To act on an intent, create a regular onchain offer with the same token pair and terms close to the advertised ones. Once your offer is onchain, it surfaces automatically in the intent creator's dashboard, and they can fill it through the standard flow.
Keep your terms within the [matching tolerances](#how-matching-works). If your offer drifts further from the intent's terms, it stops being surfaced to the intent creator, although it remains a normal offer that anyone can browse and fill.
## Managing your intents
Your intents live under **Dashboard > Intents**. Each row shows the principal, the collateral (down to a specific collectible), the APY, duration, interest owed, LTV and the time left before expiration, with **Edit** and **Cancel** actions. While an intent is active you can edit its terms or cancel it at any time; each change requires a wallet signature, and like posting, it is free.
An intent has one of three statuses:
| Status | Meaning |
| --------- | ---------------------------------------------------------- |
| Active | Live and visible to the market. Can be edited or cancelled |
| Cancelled | Removed by you. Terminal |
| Expired | Reached its expiration without being cancelled. Terminal |
An intent cannot be filled directly: to make your advertised terms fillable, lock them as an onchain offer through the **Ask for a Loan** flow, whose Publish step turns the same terms into a locked, fillable offer (**Lock & list now**).
## Intent costs
Intents are entirely free. Posting, editing and cancelling an intent involve no network fees, no account rent and no protocol fees, because nothing happens onchain. Protocol fees only apply later, if a matching offer turns into an actual loan, under the standard fee schedule described in [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs).
For large intents, around \$100,000 in value or more, Offerbook verifies that your wallet and escrow balances actually hold the relevant asset before accepting the intent. Smaller intents are accepted without a balance check.
## Risks and limitations
* **Intents are public.** Anyone can see the terms you advertise and the wallet that posted them.
* **An intent is not a commitment.** Neither you nor anyone else is obliged to act on it, so a posted intent may never result in a loan.
* **Prices move.** The counterpart amount displayed in the form is an estimate based on current prices, and the real terms of any future loan are fixed only when an offer is filled.
# Lending
Source: https://docs.jup.ag/user-docs/earn/offerbook/lending
Lend USDC at fixed rates on Offerbook, from posting an offer to claiming collateral
Lending on Offerbook means supplying USD Coin (USDC) at a fixed rate for a fixed duration, secured by the borrower's collateral held in escrow. There are no price-based liquidations: if the borrower repays, you receive your principal + interest; if they do not, you claim the collateral.
You can lend against tokens or collectibles; what each market accepts is covered in [Markets](/user-docs/earn/offerbook/markets).
The collateral is your only recourse. If its value drops below the borrowed amount during the loan, the borrower can rationally choose not to repay, and you receive an asset worth less than the USDC you lent. This trade-off is inherent to time-based lending: only lend against collateral you would accept holding, at an LTV (Loan-to-Value, the ratio between borrowed USDC and collateral value) that prices this risk. See [Security & Risks](/user-docs/earn/offerbook/security-and-risks).
## How to start lending
Everything starts from the **Lend** dropdown in the header, which opens the Tokens or Collectibles market view (see [Markets](/user-docs/earn/offerbook/markets)): pick the collateral you want to lend against, then take one of three paths:
* Fill an open borrow offer at the terms set by the borrower
* Create your own lend offer with the **Offer to Lend** button, and wait for a borrower to fill it
* Send a counter offer on an open borrow offer whose terms are close but not quite right. See [Counter Offers](/user-docs/earn/offerbook/counter-offers)
You can also advertise the terms you want through an [intent](/user-docs/earn/offerbook/intents), which is free, off-chain and locks nothing, or browse every offer and intent on one screen in the [Pro](/user-docs/earn/offerbook/pro) view. Lending against the assets used in yield loops has its own entry point on the [Loop](/user-docs/earn/offerbook/multiply) pages, with the same offer mechanics.
## Your escrow wallet
All funds transit through a dedicated escrow wallet, separate from your main Solana wallet. As a lender, the escrow is visible in the interface next to your main wallet balance, and it is central to how your offers work:
* USDC is deposited into the escrow as part of offer creation. Lend offers must be covered by the escrow balance to be visible to other users. See [Settings & Notifications](/user-docs/earn/offerbook/settings-and-notifications)
* You can create multiple lend offers from the same USDC balance, all visible at the same time. When one offer is accepted, the USDC leaves the escrow, and any remaining offers no longer covered by the balance are hidden automatically
* When a borrower repays, the USDC (principal + interest, minus fees) returns to your escrow, where it can be reused for new offers without withdrawing first
* You can deposit and withdraw at any time. If a withdrawal leaves active offers uncovered, those offers are hidden automatically
The first deposit of a given asset funds an escrow account (0.00203928 SOL of rent, refunded when you withdraw the asset). See [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs#account-rent).
The escrow supports NFT deposits and withdrawals alongside fungible tokens. This is mainly relevant when working with NFT-collateralized loans or when retrieving NFTs after a loan has settled.
## Filling a borrow offer
When you accept a borrow offer, the loan starts immediately and the loan duration begins. USDC is transferred to your escrow automatically if needed, then to the borrower, and the collateral is locked onchain. If the offer allows partial fill, you can accept any amount at or above its Minimum Fill Amount, which borrow offers also display in collateral terms; otherwise the offer must be filled in full.
At this stage, you can add the loan's maturity date to your calendar using the calendar button provided in the interface. Calendar reminders fire 2 hours before maturity.
## Creating a lend offer
The **Offer to Lend** button opens a step-by-step creation flow.
Define the core parameters of the offer:
* **Asset to lend:** USDC (fixed), and the amount
* **Collateral you accept:** verified tokens on Jupiter, real-world assets (RWAs) such as xStocks, or non-fungible tokens (NFTs) from whitelisted collections
* **LTV (Loan-to-Value):** adjust via slider. For NFT collateral, the slider uses the collection floor price as the reference value
* **APY (Annual Percentage Yield):** set the rate you ask. As you adjust the LTV and APY sliders, an indicator estimates how attractive the terms are to borrowers (for example, "Great chance to fill, cheap for borrowers")
Offers using NFT collateral are per-item: each offer targets one specific NFT, shown as its own card in the Collectibles market. The exception is PFP collections with a floor price: lend offers on these can be collection offers, where any qualifying NFT from the collection can be pledged as collateral.
* **Loan duration:** 1 to 30 days (presets: 3D, 7D, 30D)
* **Offer expiration:** 1 to 7 days, set by you. This is separate from the loan duration: the loan countdown only starts when the offer is accepted
Past 1 day, your terms stay fillable even if the collateral price or market rates move against you. Keep the expiration short unless you are confident the terms will still be worth it later, and remember that expired offers can be renewed in one click.
* **Allow partial fill:** when enabled, your offer can be accepted partially, and you set a **Minimum Fill Amount** in USD
* **Allow extensions:** when enabled, borrowers can roll loans from this offer into fresh periods on the same terms, paying you each period's interest as it closes. You can revoke or re-grant it per loan after a fill. See [Loan Extensions](/user-docs/earn/offerbook/extensions)
* Partial fill is not available for offers using NFT collateral, since an NFT cannot be partially transferred
The offer summary recaps your terms (amounts, APY, LTV, duration, expiration, partial fill minimum) and displays the Effective APY: the offer APY minus the 10% platform fee on interest deducted at repayment (an offer at 16% APY shows 14.4%). As the summary states, your USDC stays in your escrow balance until the offer is filled, and you can create multiple offers with the same balance.
Your escrow must hold the offered USDC for the offer to be visible: the app deposits it from your wallet into your escrow automatically when the offer is created.
Published offers cannot be edited. You can cancel an offer at any time before it is accepted, at no fee. Once an offer expires, you can renew it directly from **Dashboard > Offers**, with the option to adjust the LTV, instead of recreating it from scratch.
Counterparties can also send [counter offers](/user-docs/earn/offerbook/counter-offers) on your offer, proposing a different LTV, rate (APY), duration or amount. They appear beneath your offer in Dashboard, an activity dot shows on the Dashboard link, and you can accept one (the loan starts immediately at the counter terms) or ignore them.
## Earnings & Costs
Interest accrues at the agreed rate, fixed for the whole loan duration.
The offer APY, locked for the full duration. The borrower pays the
interest on top of the principal at repayment.
10% of the interest, deducted at repayment, plus network fees and
account rent on the onchain transactions. Rent is a deposit, not a
fee: part of it returns when the related accounts close.
The interface shows the **Effective APY**, which already accounts for the
fee: an offer at 5% APY yields a 4.5% Effective APY. The full schedule is
in [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs).
## Your Dashboard
Everything you do as a lender lives under **Dashboard**, filtered to the
Lending side (side filters: Borrowing, Multiply, Lending; columns are
customizable):
* **Loans** — follows each loan through its statuses: Active, Repaid,
Expired, Defaulted.
* **Offers** — your open lend offers. Cancel them before they are filled,
or renew them once expired.
## How Your Loan Ends
A loan has two possible outcomes, and only one of them asks anything of you. Both are handled from **Dashboard > Loans**, using the action button on the right of the loan's row.
Nothing to do. The loan closes, and the USDC (principal + interest,
minus the 10% fee) lands back in your escrow, ready to be reused for
new offers.
After maturity, claim the collateral by signing a transaction — the
transfer is not automatic. The collateral is sent to your wallet as-is,
never sold on the market, and the loan is marked Defaulted. A 0.1% fee
is deducted at transfer (none on NFT collateral).
Until you claim, the loan stays open and the borrower can still repay.
**Claiming is the action that settles the outcome** — do not leave it
pending.
## Example
The same loan, seen from the lender's side. A borrower posts a borrow offer — 8,000 USDC against \~\$10,000 of collateral, 3 days, 35% APR — and you accept it.
| Parameter | Value |
| -------------------------- | ------------------------ |
| **You lend** | 8,000 USDC |
| **Collateral locked** | \~\$10,000 onchain asset |
| **Loan duration** | 3 days |
| **Interest over the term** | \~\$23 |
* **If the borrower repays:** you get your 8,000 USDC back plus the interest, minus the 10% repayment fee — about \$20.70 net. The USDC lands in your escrow, ready to reuse.
* **If the borrower does not repay:** after maturity you claim the collateral from **Dashboard > Loans**. A 0.1% fee is deducted (none on NFT collateral), and you receive the asset itself, to hold or sell.
See [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs) for the full schedule.
## Mistakes to avoid
The collateral is not transferred automatically. If the borrower does not repay and you do not claim, the loan stays open and the borrower can still repay later. To recover the collateral after maturity, you must sign a claim transaction.
Collateral value is not monitored during the loan. Using highly volatile assets as collateral over long durations increases uncertainty around the collateral's value at maturity. Collateral characteristics and loan duration should always be considered together.
APY is what balances an offer relative to its collateral, LTV, and duration. Offers with rates significantly out of line with current market conditions may remain unmatched. When defining an APY, think about how all parameters work together rather than focusing on a single value.
# Offerbook Markets
Source: https://docs.jup.ag/user-docs/earn/offerbook/markets
The Tokens and Collectibles markets on Offerbook: eligible collateral and how to read each view
Offerbook has two markets, Tokens and Collectibles. In the interface, the lender views live under the **Lend** dropdown in the header, while the borrowing side is reached through the collateral selector on the **Borrow** view — its category tabs (Owned, All, Collectibles, Bridged, DeFi, LSTs) cover both markets. Both markets run on the same loan mechanics: fixed rate, fixed duration, no price liquidations. What changes between them is the collateral, how offers are organised, and what you should evaluate before lending or borrowing. The journeys themselves are covered in [Borrowing](/user-docs/earn/offerbook/borrowing) and [Lending](/user-docs/earn/offerbook/lending), and the [Pro](/user-docs/earn/offerbook/pro) view brings both markets' books onto a single screen.
## Reading the market table
The market table below belongs to the market views; the redesigned Borrow view surfaces offers as a list with per-offer terms instead, and the classic experience remains accessible. All market views share the same table, except the Collectibles Lend view, which is a grid of individual items (see [Collectibles](#collectibles)). Each row is something to borrow or lend against: an asset in the Tokens market, a collection or RWA partner in the Collectibles market. Badges next to the name show how many offers and intents are currently open on it.
| Column | Meaning |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| APR (7d) | The annual percentage rate (APR) over the last seven days, shown as a trend with its current value |
| APR (Median) | The median rate currently quoted |
| LTV (Median) | The median loan-to-value (LTV) ratio currently quoted |
| Available | Borrow mode only. USDC available to borrow. A second line shows the additional liquidity advertised through intents, where present |
| Ask | Lend mode only. USDC currently asked by borrowers |
| Open Loans | Value of the loans currently open, with their count |
| Utilization | Share of the supplied liquidity currently used by open loans |
***
## Tokens
The market for fungible collateral. Eligible collateral covers tokens verified on Jupiter through [VRFD](/user-docs/launch/vrfd) and tokenised real-world assets (RWAs) such as xStocks. The market table lists every asset currently available.
* **Borrow view:** Offerbook reads your wallet — the collateral selector lists your eligible assets, and the offer list shows the live lend offers matching your selection
* **Lend → Tokens view:** pick the collateral you accept, or keep **Any Collateral**, and the table shows the demand for each asset
Category chips above the table (Featured, RWA, DeFi, Bridged, Memecoins, LSTs) filter the rows, and the **Filters** button refines further.
Offers backed by low-liquidity tokens display a warning in the interface, both at offer creation and on the offer page: the collateral may be hard to sell at the indicated price if the lender receives it.
### Intents in the token market
Assets with active intents carry an intent badge, and the advertised liquidity appears under Available alongside onchain offers. This liquidity is not committed: it reflects terms that users have advertised off-chain. To act on it, create an offer matching those terms, as described in [Intents](/user-docs/earn/offerbook/intents).
***
## Collectibles
The market for non-fungible token (NFT) and trading card game (TCG) collateral. Offers are organised per individual item — one card, one open offer — except for PFP collections with a floor price, where lend offers can target the entire collection (collection offers).
* **Borrow view:** your collectibles become collateral — the Collectibles tab of the collateral selector lists the whitelisted collections, and selecting one surfaces the matching liquidity
* **Lend → Collectibles view:** a grid of individual items whose owners are asking for a loan, each with a **Lend** button showing the requested USDC amount. A sidebar filters by category (Trading Card Games, PFPs), APY, duration and loan amount; you can also search, restrict to a collection, or sort by best APY
### Eligible collateral
* **Whitelisted NFT collections** — shown as collection chips at the top of the page
* **Partner collectibles** — physical cards professionally graded, tokenised 1:1 by [Phygitals](https://www.phygitals.com) and [Collector Crypt](https://www.collectorcrypt.com), held in insured vaults and typically redeemable for shipment through the partner's platform
Partner items carry a read-only **Item details** panel on the offer page (grade, grader, cert number, category, language, link to the partner's platform). The loan mechanics are identical to any other NFT collateral; redemption of the physical card is handled entirely by the partner, outside of Offerbook.
### Defaults and claims
On default, the lender claims and receives the item itself, not its USDC value. The 0.1% transfer fee charged on token collateral does not apply to NFT collateral. See [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs).
Collectibles are less liquid than tokens, and the value of an individual item depends on its grade, rarity and resale market. As a lender, only lend an amount you would accept holding the item for, since a default leaves you with the card rather than the USDC.
# Multiply on Offerbook
Source: https://docs.jup.ag/user-docs/earn/offerbook/multiply
Loop stable yield-bearing assets or lever any collateral through Offerbook loans, with fixed terms and no liquidations
Multiply is the leveraged side of Offerbook, and it comes in two flavours, both built on regular Offerbook loans:
* **Yield loops** on stable yield-bearing assets, in the **Loop** section of the header
* **Leveraged longs** on any collateral, from the **Leverage** tab of the Borrow view
Either way, the position follows the same rules as any loan — fixed terms, no price-based liquidations during the loan, and a hard maturity. What Multiply adds is the packaging: the position is opened against your USDC deposit, sized by a leverage multiple, and unwound as a whole.
Leverage amplifies both gains and losses on the collateral asset. A Multiply position also remains a fixed-term loan: as the interface states, **close or repay within the term or you lose your deposit**. There are no price-based liquidations, but there is no way around maturity either. Opening and closing the position involve swapping between USDC and the collateral asset, which exposes both legs to slippage; the estimated APYs displayed do not include these open and close swap fees.
## The Loop page
The Loop page lists every stable yield-bearing asset on the book as a card: loop it with borrowed USDC, or lend USDC against it and earn the rate loopers pay.
* Assets with live USDC offers show the estimated looped APY and its multiple ("37.4% at 9.9×"), the USDC available to borrow, the value in active loans and the range of lend APYs, with a **Lend USDC** shortcut
* Assets without offers show their native yield, flagged "unlooped": the first lender sets the rate (**Post the first offer**)
## The per-asset Loop page
Clicking an asset opens its Loop page, with header stats (native yield, best estimated looped APY, maximum leverage, available liquidity), an APY chart (average estimated APY, the asset's native APY, and the average borrow APY, over 24H, 7D or 30D), and the table of live offers usable for the loop: estimated APY, maximum leverage, borrow APY, duration, LTV, and available USDC.
Offers whose borrow cost exceeds the asset's yield show a **negative estimated APY**, flagged **Below holding**: at those terms, looping earns less than simply holding the asset. The table makes this explicit rather than hiding those offers.
## Opening a loop
The widget's **Loop** tab on the asset page is where the position is opened:
* The selected offer's terms are summarized: estimated looped APY, the asset's native yield, the **borrow cost including fee** (an offer at 6% APY shows a 7.50% borrow cost, the all-in rate), the LTV, and the available liquidity
* **Slippage** presets (0.01%, 0.05%, 0.1%) control the tolerance on the entry swap
* **You deposit** USDC and click **Multiply**: the position is opened at the offer's leverage
The reminder under the button states the deal plainly: close or repay within the term or you lose your deposit — no price-based liquidations. Once open, the position appears under **Dashboard** like any other loan, with a **Multiply** type badge.
## Leveraged longs from the Borrow view
The **Leverage** tab of the Borrow view opens a leveraged long on any collateral, not just yield-bearing assets: pick the **Asset to long** (leveraged with USDC), set **Your deposit** and the **Max leverage** slider, and take one of the best-leverage offers. If no offer matches, try a shorter minimum duration or another asset. The resulting position is a Multiply position like any other. See [Borrowing](/user-docs/earn/offerbook/borrowing).
## Closing or repaying a position
Multiply positions live under **Dashboard > Loans**: the Multiply side filter isolates them, and each row carries a **Multiply** type badge with its live PnL and expected PnL. Two ways out, from the row's actions:
* **Close** opens the Close position view: the collateral is swapped to USDC at market, the loan is repaid, and the remainder hits your wallet — in one wallet prompt. Before you confirm, the view recaps the position (APY, owed, time left), lets you set the exit-swap slippage (Auto, 0.01%, 0.05%, 0.1%), and shows what you deposited, what you receive (with a worst-case floor derived from the slippage) and the resulting PnL.
* **Repay** settles the loan like any other Offerbook loan: you repay the owed USDC yourself and keep the collateral asset.
## Lending on Loop assets
Each asset page also has a **Lend** tab: lend USDC against the looped asset, at a fixed rate, secured by collateral that keeps accruing yield if it ever lands in your hands. The form sets the amount, the APY, the duration in days, and the minimum **LTV** the borrower must lock (higher LTV means deeper loops, less cushion).
The widget adds one loop-specific number, the **loop break-even rate**: price your offer below it and it becomes the top loop; above it, loopers earn more by simply holding the asset, and your offer competes on duration and LTV only. The ceiling starts from the asset's native yield and prices in the 25% fee on interest and the two swaps a borrower pays to open and close (simulated through Jupiter at current market depth, spread over the duration) — so longer durations raise it.
As the interface states when posting: you are posting an offer, not depositing. Your USDC only moves (and starts earning) when a borrower fills it, partial fills are allowed (minimum \$10), unfilled liquidity is withdrawable at any time, and the offer expires after 7 days at most, like any lend offer.
## What it costs
A Multiply position carries the economics of the underlying loan: the borrow cost displayed is all-in (offer APY plus the upfront fee), network fees and account rent apply, and the estimated looped APY nets out the borrow cost but **not** the open and close swap fees. See [Fees and Costs](/user-docs/earn/offerbook/fees-and-costs).
# Pro
Source: https://docs.jup.ag/user-docs/earn/offerbook/pro
The all-in-one Offerbook order book: both sides of the market and both intent books on a single screen
**Pro**, in the header, brings the whole order book onto a single screen: both sides of the market and both intent books, side by side. The mechanics are exactly the same as everywhere else on Offerbook — the same offers, intents and loans — only the presentation changes: denser, but with everything reachable from one place.
Use it to compare both sides of the market at a glance, spot the spread, and act on any offer or intent without switching views.
## The market at a glance
The strip at the top summarizes the market in five numbers:
| Stat | Meaning |
| --------------- | --------------------------------------------------------- |
| Best borrow APY | The cheapest rate a borrower can take right now |
| Spread | The gap between the best borrow and best lend rates |
| Best lend APY | The highest rate a lender can earn right now |
| Open to borrow | Total USDC available in lend offers, with the offer count |
| Seeking funding | Total USDC asked by borrow requests, with the offer count |
## The four panels
The live lend offers you can take a loan from, with a **Borrow** button on each row and a **New borrow request** shortcut to create your own.
The live borrow requests you can fund, with a **Lend** button on each row and a **New lend offer** shortcut.
Terms advertised by borrowers, not yet funded. **Match** starts the standard flow to post the matching offer.
Terms advertised by lenders, not yet funded. **Match** works the same way — see [Intents](/user-docs/earn/offerbook/intents).
Acting from Pro goes through the standard flows: **Borrow** and **Lend** open the usual offer confirmation ([Borrowing](/user-docs/earn/offerbook/borrowing), [Lending](/user-docs/earn/offerbook/lending)), and the shortcuts open the regular creation flows.
## Reading a row
Each offer row shows:
| Column | Meaning |
| ---------- | -------------------------------------------------------------------------------- |
| Collateral | The asset and amount backing the loan, with its dollar value |
| APY | The rate, with the interest it represents in dollars for the term |
| LTV | The loan-to-value ratio of the offer |
| Term | The loan duration, with its due date |
| Available | The amount still fillable, with the fill progress (fully open, partially filled) |
| Expires | The time left before the offer lapses |
Intent rows show the advertised size and an approximate APY (their amounts are LTV-based and recalculated against live prices — see [Intents](/user-docs/earn/offerbook/intents)).
## Filters, sorting and customization
* **Collateral filters:** restrict the book to Tokens or NFTs, or pick specific assets with **+ Collateral**
* **Sort:** order the rows by collateral, APY, LTV, term, amount or expiry
* **Customize:** choose the visible columns and drag to reorder them; **Reset** restores the default
# Security & Risks
Source: https://docs.jup.ag/user-docs/earn/offerbook/security-and-risks
Risk model, what Offerbook removes and what remains, and audit information
Offerbook is a peer-to-peer lending protocol on Solana where users borrow or lend USDC against onchain collateral. This page covers the risk model: what types of risk Offerbook removes by design, what types of risk remain, and the specific considerations for borrowers and lenders.
Offerbook is a fully permissionless protocol. Anyone can participate: both borrowers and lenders publish offers with their own terms, expressing their intentions openly without restrictions or approval. There are no price oracles, no price-based liquidations, and no intermediaries.
This openness means that risk evaluation is the responsibility of each user. Offerbook removes price-based liquidation risk, but does not remove market risk.
***
## What Offerbook Removes
Collateral is never liquidated due to market price movements during the loan. Even if the collateral loses 90% of its value mid-loan, nothing happens until maturity.
Offerbook does not rely on price oracles for loan execution. No risk of oracle manipulation, stale price feeds, or oracle downtime affecting your loan.
Price swings during the loan duration do not trigger margin calls, adjustments, or forced closures. Loan terms are immutable once the loan starts.
***
## What Remains
The value of the collateral at maturity may be higher or lower than at loan creation. This risk exists for both sides.
Collateral is locked for the full loan duration. It cannot be used, traded, or withdrawn until the loan is resolved, regardless of market opportunities.
Lenders are exposed to the quality and price trajectory of the collateral asset they accept. If the collateral is illiquid or volatile, the lender carries that risk.
***
## Risk for Borrowers
If you do not repay by maturity, the lender can claim your entire collateral at any moment by signing a transaction. While you can technically still repay until the lender claims, do not rely on this window.
Key risk factors:
* **Repayment timing is your responsibility.** Use the calendar reminder added at offer acceptance, and enable notifications to receive a Loan due soon alert 2 hours before maturity (see [Settings & Notifications](/user-docs/earn/offerbook/settings-and-notifications)).
* **Full interest is always owed**, regardless of when you repay. Early repayment does not reduce the interest amount or fees.
* **Collateral is locked** for the full loan duration. You cannot access it until the loan is resolved, even if you find a better opportunity elsewhere.
* **The collateral transfer is not automatic.** If the lender does not claim immediately after maturity, the loan stays open and you can still repay. But this is at the lender's discretion.
* **Network congestion or transaction failures** at maturity can prevent you from repaying in time. Plan your repayment with a margin to account for potential delays.
***
## Risk for Lenders
Collateral value is not monitored during the loan. If the collateral loses significant value before maturity, you may need to claim and sell an asset worth less than the USDC you lent.
Key risk factors:
* **A rational borrower may choose not to repay.** If the collateral's value drops below the borrowed amount, walking away can be the borrower's best move. Defaults are a normal outcome of the model, and the collateral is your only recourse: price this into the LTV and the rate you accept.
* **Higher LTV** (Loan-to-Value, the ratio between borrowed USDC and collateral value) increases the risk that collateral may not cover the lent amount if the borrower defaults.
* **Collateral liquidity** matters. If the collateral asset has low trading volume, selling it after claiming may result in slippage or losses.
* **Claiming is manual.** After maturity, if the borrower has not repaid, you must sign a transaction to receive the collateral. The transfer is not automatic. Claiming triggers the collateral transfer.
* **A 0.1% fee** is deducted from the collateral at transfer (no fee on NFT collateral).
* **Receiving the collateral token, not USDC.** If the borrower defaults, you receive the collateral itself. Selling it to recover USDC is a separate action, exposed to market conditions at that moment.
* **Evaluate the collateral** asset's volatility, market depth, and fundamentals before accepting an offer.
***
## Other Risks to Consider
### Smart Contract Risk
Offerbook is a smart contract protocol on Solana. As with any onchain protocol, there is residual risk that a bug, vulnerability, or exploit could affect funds. Offerbook has been audited (see [Audits](#audits)), but no audit guarantees the absence of all risks.
### Solana Network Risk
Offerbook depends on the Solana network. Network downtime, congestion, or fee spikes can affect your ability to:
* Repay a loan before maturity
* Claim collateral after maturity
* Create or accept offers
* Withdraw from your escrow
Always factor in network conditions when planning critical actions.
### Asset-Specific Risk
The collateral and lent assets are subject to their own risks (token contract risk, deauthorization, freezing, depegging for stablecoins, etc.). Verify the assets you interact with.
### Yield-Bearing Collateral
If your collateral is a yield-bearing token (such as a liquid staking token), the yield mechanics can affect the asset during the loan:
* Yield that accrues directly in the token value will grow during the loan.
* Yield that requires manual claiming may not be accessible while the collateral is locked.
***
## Off-chain Signatures
Some Offerbook actions are signed messages rather than transactions: posting, editing or cancelling an intent, and signing in to Chat or sending messages. These signatures cost nothing, move no funds and are never broadcast onchain. Ledger wallets sign an equivalent memo transaction instead, which is also never broadcast. Always read what your wallet asks you to sign: a legitimate Offerbook message signature never requests a token approval or a transfer.
Intents are public. The terms you advertise and the wallet that posted them are visible to anyone, and an intent may never result in a loan. See [Intents](/user-docs/earn/offerbook/intents#risks-and-limitations).
***
## Key Principle
Offerbook shifts risk management from automated, price-based systems to user-defined, time-based terms. Both borrowers and lenders must evaluate their exposure before committing to a loan. There is no fallback if you misjudge the collateral, the duration, or the timing.
***
## Audits
Offerbook has been audited by Cantina.
[Cantina Audit (May 21, 2026)](https://github.com/jup-ag/docs/blob/main/static/files/audits/offerbook-cantina-may-2026.pdf)
# Settings & Notifications
Source: https://docs.jup.ag/user-docs/earn/offerbook/settings-and-notifications
Configure notification channels, hardware wallet authentication, escrow auto top-up, and notification types on Offerbook
The Settings page (gear icon in the navigation header) is where you configure how Offerbook talks back to you and how your escrow behaves when you create offers. It has two tabs: General and Notifications.
The General tab manages notification channels, hardware wallet authentication, and Escrow Settings. The Notifications tab lists all available notification types and lets you enable or disable them individually.
The Notifications tab is gated behind a connected channel. Before you connect at least one channel (Telegram or Email), notification types are visible but disabled, and a banner reads "Please connect socials to receive notifications".
***
## Notification Channels
Offerbook supports two notification channels: Telegram and Email. They are independent and can both be connected at the same time. A channel can be connected to multiple wallets.
Connecting a channel requires proving you own the wallet by signing a message (or a transaction, for hardware wallets — see [Hardware Wallet Authentication](#hardware-wallet-authentication)).
Changing your notification settings also requires an explicit sign-in. Each time you connect a new channel, change a setting, or toggle a notification type, the app asks for a wallet signature to protect your preferences from unauthorized changes.
1. In **Settings → General**, click **Connect** next to Telegram.
2. The app opens a signature request to authenticate you with Jupiter Notifications.
3. After signing, you are redirected to the Telegram bot to link your account.
Once linked, Telegram is shown as **Connected**. You can disconnect at any time.
1. In **Settings → General**, click **Connect** next to Email.
2. Enter your email address and confirm.
3. The app opens a signature request to authenticate the wallet.
4. A verification email is sent to the address you provided.
Once verified, Email is shown as **Connected**, and the address is displayed next to the channel with Edit and Disconnect controls.
A notification channel (Telegram or Email) is tied to a notification service account, not to a single wallet. Once authenticated, the same channel can be linked to additional wallets, allowing you to receive alerts for activity across all of them in one place.
***
## Hardware Wallet Authentication
Hardware wallets such as Ledger cannot sign arbitrary messages. To connect a notification channel from a hardware wallet, you need to enable an alternative authentication flow.
In **Settings → General**, toggle **I'm using a hardware wallet** on.
With this toggle on, authentication uses a signed transaction instead of a signed message. The transaction is empty (no funds move and no state changes), but it still requires a small SOL balance to pay the network fee.
Enable it only if your wallet rejects message-signing requests. Software wallets such as Phantom or Solflare sign messages natively and do not need this toggle.
Once enabled, the toggle persists across sessions. You can switch it off later if you change to a software wallet.
This setting applies to notification channel authentication. Chat has its own hardware-wallet sign-in flow using a memo transaction; see [Chat](/user-docs/earn/offerbook/chat#connecting-to-chat) for details.
***
## Profile
You can set a public profile from the **Your Profile** dialog. It is optional and applies across Offerbook (Chat, Statistics, your Affiliate page).
* **Username** — 3 to 20 characters, letters, digits, `-` and `_`. Lets others reach you in [Chat](/user-docs/earn/offerbook/chat) by name instead of wallet address
* **Profile image** — pick one of the NFTs in your wallet
* **Social medias** — optional X and Telegram handles
Click **Save Profile** to apply.
***
## Escrow Settings
Escrow Settings control how your escrow is funded when you create an offer.
These two toggles are visible in Settings but not yet active (greyed out). For now, the app always deposits the required assets from your wallet into the escrow as part of offer creation, as described below.
The app automatically deposits the required collateral from your main wallet into your escrow when you create a borrow offer. Once this toggle becomes active, disabling it will let you fund the escrow manually instead.
The app automatically deposits the required USDC from your main wallet into your escrow when you create a lend offer. Once this toggle becomes active, disabling it will let you fund the escrow manually instead.
Independently of these settings, filling an offer (i.e., accepting an existing offer rather than creating one) automatically pulls any missing funds from your wallet — only the minimum top-up needed is taken, so your wallet balance is not over-drained.
Auto top-up only moves funds from your main wallet to your escrow. You always need sufficient SOL in your main wallet to cover transaction fees, regardless of these settings.
***
## Notification Types
Notification types are listed in the **Notifications** tab. Each can be toggled on or off independently. Notifications are grouped into two categories: Offers and Loans.
All notification types are enabled by default once at least one channel is connected. You can disable any of them individually, or use **Disable all** at the top of each group to turn the whole group off.
### Offers
A counterparty has accepted one of your open offers. The loan starts immediately at the offer terms.
A counterparty has proposed a counter offer on one of your open offers. You can review it under the original offer and either accept the counter-offer terms (starting the loan) or ignore it. See [Counter Offers](/user-docs/earn/offerbook/counter-offers).
One of your open offers reached its expiration window without being filled. Offers expire after 1 to 7 days, depending on the expiration you set at creation.
An offer you created — or an offer you had matched against — has been cancelled.
### Loans
One of your active loans is approaching its due date. This notification fires 2 hours before maturity, matching the in-app calendar reminder.
A borrower has fully repaid one of your loans. The USDC (principal + interest, minus the 10% repayment fee) is now available in your escrow.
A loan has passed its due date without repayment. The lender can now claim the collateral. As a borrower, you can still repay until the lender claims, but you should not rely on this window.
The collateral has been claimed on a defaulted loan. As a lender, the collateral has been transferred to your wallet (minus the 0.1% fee, where applicable). As a borrower, the loan is now closed and you have lost the collateral.
***
## Common Issues
The signature request authenticates your wallet with Jupiter Notifications so that channels and notification preferences can be securely tied to your account. Once signed, the Settings page opens normally on subsequent visits.
If you cancel the signature, the Settings page is accessible but most controls (channels, notification toggles) remain disabled until you sign.
Make sure the Email channel shows as **Connected** in the General tab (with your address displayed and Edit/Disconnect controls visible). If it still appears as Not connected, complete the verification step from the email you received.
If the banner persists after a confirmed connection, this may be a transient UI issue. Refreshing the page usually resolves it.
Make sure **I'm using a hardware wallet** is toggled on in Settings → General. With this enabled, authentication uses a signed transaction instead of a signed message, which is supported by all hardware wallets.
# Offerbook Statistics
Source: https://docs.jup.ag/user-docs/earn/offerbook/statistics
Understand the metrics displayed on the Offerbook Statistics page
The Statistics section gives a real-time overview of Offerbook activity and performance: total value locked, liquidity, volume, loans, interest, and rankings of the most active assets and participants.
## Headline cards
The top of the page summarises the protocol in eight cards.
| Card | What it shows |
| ------------------ | --------------------------------------------------------------------------------------------------------- |
| Total Value Locked | Total value locked (TVL) across all Offerbook markets |
| Notional Liquidity | Value of currently active offers |
| Advertised Intents | Number of active intents and their advertised liquidity. See [Intents](/user-docs/earn/offerbook/intents) |
| Volume | Total volume since launch, and the volume of currently active loans |
| Offers | Number of offers currently open |
| Loans | Total number of loans since launch, and the number currently active |
| Interest | Interest already paid, and open interest accruing on active loans |
| Averages | Average annual percentage yield (APY) and average duration per loan |
## Volume chart and protocol breakdown
The Volume chart plots protocol volume over the last 7, 30 or 90 days, cumulative or daily. Next to it, the **Protocol Breakdown** panel repeats the key figures in one place: liquidity, total volume, active offers, total loans and active loans.
## Categories Offers Value
This section groups offer liquidity by token type, for example trading card games (TCGs), liquid staking tokens (LSTs), DeFi tokens and PFP collections. Selecting a category expands a per-asset table:
| Column | Meaning |
| ---------- | ------------------------------------------------------ |
| Locked | Value currently locked for this asset |
| Active TVL | Value locked in active loans, with the number of loans |
| Active APY | Average rate of active loans on this asset |
| Supply | Value of open lending offers, with the offer count |
| Supply APY | Average rate asked by lenders |
| Demand | Value of open borrowing offers, with the offer count |
| Demand APY | Average rate offered by borrowers |
A time selector (1H to ALL) restricts the figures to the chosen window.
## Top Tokens on Offerbook
A ranking of the most active tokens, with notional liquidity, volume, APY, and the number of offers and loans for each. The same time selector applies, and the table is paginated.
## Top Participants
Two leaderboards rank the most active wallets over a selectable window (24H, 7D, 15D, 30D or ALL):
* **Top Lenders**, ranked by lending volume, with their number of loans
* **Top Borrowers**, ranked by borrowing volume, with their number of loans
Wallets appear under their shortened address, or under their chosen display name.
Statistics are aggregated server side and refresh periodically. Figures can lag live activity by a short interval, so counts on this page and badges elsewhere in the interface may briefly disagree.
# Jupiter Rewards Hub FAQ
Source: https://docs.jup.ag/user-docs/earn/rewards-hub/faq
Frequently asked questions about the Jupiter Rewards Hub and the Trading Card Game.
## General
The [Jupiter Rewards Hub](https://jup.ag/rewards) is a platform that hosts trading and referral campaigns across the Jupiter ecosystem. Each campaign has its own rules, eligibility criteria, reward pool, and timeframe.
The TCG is the first campaign format on the Rewards Hub. Users earn trading points by swapping eligible token pairs on Jupiter. Points convert into cards, and each card is a lootbox that reveals a random rarity with a fixed reward amount. The TCG runs in seasons, each with its own dates, reward currency, and reward pool. See [How the TCG Works](/user-docs/earn/rewards-hub/trading-card-game) for a full breakdown.
No. Each season is independent. Points, cards, and referral links are specific to the season they were earned in.
## Eligibility
You must trade on [jup.ag](https://jup.ag), Jupiter Wallet, or Jupiter Mobile. Trades made through partner platforms using Jupiter APIs are not eligible.
Ultra Mode and Limit Order V2 only. Manual Mode, Limit Order V1, and DCA are not eligible.
All pairs covered by the multiplier table are eligible. Tokens fall into one of seven categories: JUP/JLP, JupSOL, Stable, SOL, LST, Uncategorised, and New. Some pair directions earn cards, others earn 0. See the [multiplier table](/user-docs/earn/rewards-hub/trading-card-game#multiplier-table) for the full breakdown.
Yes, you can trade with any Solana wallet. However, to reveal cards and claim rewards, you must use Jupiter Wallet or Jupiter Mobile. If you traded with another wallet, you can [import it into Jupiter Wallet](/user-docs/manage/extension-wallet/getting-started#importing-a-wallet) or Jupiter Mobile to access your rewards.
## Trading points and cards
Trading points are an intermediary unit between your trading volume and cards. You earn points based on your volume and the pair's multiplier. Points are not the final reward. They convert into cards at a rate defined per season.
At a fixed rate per season. For example, in Season 2, the rate is 100,000 points per card. Points accumulate across swaps, but you can only reveal whole cards. If you have 150,000 points, you can reveal 1 card and the remaining 50,000 points carry over until you reach the next threshold. The rate can change between seasons. See the [current season details](/user-docs/earn/rewards-hub/trading-card-game#seasons).
Each card is a lootbox. When you reveal it, a rarity is randomly assigned based on fixed drop rates. Each rarity has a predetermined reward amount. The outcome is random and there is no guarantee of receiving any specific rarity.
There are 5 tiers: Common, Premium, Rare, Mythical, and Legendary. Each has a fixed reward and drop probability that depend on the season.
**Season 2 drop rates:**
| Rarity | Reward | Drop rate |
| --------- | ------------- | --------- |
| Legendary | 10,000 JupUSD | 0.001% |
| Mythical | 100 JupUSD | 0.1% |
| Rare | 25 JupUSD | 2.5% |
| Premium | 5.00 JupUSD | 10% |
| Common | 1.00 JupUSD | 87.399% |
No. A multiplier of `0` means the trade is eligible but earns no cards. This is different from `—` in the table, which means the trade is not possible (e.g., swapping a token to itself).
Multipliers vary by pair direction and reflect the fee structure of each pair. Generally, pairs involving New tokens carry the highest multipliers (5x), while pairs between similar categories (e.g., Stable to Stable) earn little or nothing.
A token classified as New is one that was created within the last 24 hours, based on its creation time (not the first time it was traded). After 24 hours, the token moves to the Uncategorised category (or another named category if it qualifies).
Uncategorised is a catch-all for any token that does not fall into the named categories (JUP/JLP, JupSOL, Stable, SOL, LST) and is not classified as New.
## Referrals
Share your referral link from the [Rewards Hub](https://jup.ag/rewards). When someone clicks your link and connects their wallet on an eligible Jupiter platform, they become your referral. You earn a percentage of their trading points, converted into cards for you.
Connecting a wallet through your referral link is enough to establish the referral relationship. However, you only earn referral points when your referral earns trading points (i.e., when they trade eligible pairs).
The referral system has 3 levels of depth:
| Level | Relationship | Points earned |
| ------- | ------------------------ | --------------------------- |
| Level 1 | Direct referral | 30% of their trading points |
| Level 2 | Referred by your Level 1 | 3% of their trading points |
| Level 3 | Referred by your Level 2 | 2% of their trading points |
There is no cap on referral earnings.
Users who join through a referral link receive a 10% bonus on the trading points they earn from their own trades, for the duration of the campaign.
Yes. Both accumulate on the same wallet and convert into cards together.
Two rules commonly cause this:
* **Your wallet was already referred.** The manual code-entry option is hidden once a wallet is linked to a referrer. Check the Referral Status section of your account to see whether you are already referred.
* **Cyclic referral.** Two wallets cannot refer each other. If you see a "cyclic referral detected" error, have the other person connect with a different wallet to accept your link.
## ASR (Active Staking Rewards) claims
Active Staking Rewards (ASR) are periodic rewards distributed to JUP stakers who participate in DAO governance. ASR claims are accessible through the Rewards Hub. For full details on how ASR works, see the [ASR documentation](/user-docs/more/dao/asr).
ASR rewards are claimed through the [Jupiter Rewards Hub](https://jup.ag/rewards): open the quarter's **Active Staking Rewards (ASR)** campaign card and select **View details** to reach the claim page. Each quarter has its own card (for example "Active Staking Rewards (ASR) Apr - Jun 2026").
Claims stay open for a limited window after each quarter, not indefinitely. Once the campaign page shows that claims are closed, you can still claim by opening a support ticket until the deadline displayed on that page. See [ASR claim period](/user-docs/more/dao/asr#claim-period).
The Rewards Hub is accessible at [jup.ag/rewards](https://jup.ag/rewards) (also linked as **Rewards** in the jup.ag top bar). ASR claims live on the quarter's ASR campaign card. If you don't see your ASR rewards, make sure you're connected with the same wallet you used for JUP staking and DAO voting.
You can claim ASR rewards through the Jupiter web interface at [jup.ag](https://jup.ag) using any Solana wallet that supports transaction signing.
If your claim transaction fails, check the following:
* **SOL balance:** claiming requires SOL to cover the transaction fee (gas). Make sure your wallet has enough SOL.
* **Correct wallet:** make sure you're connected with the wallet you used for JUP staking.
* **Try the web interface:** if claiming fails on Jupiter Mobile, try claiming through [jup.ag](https://jup.ag) in a browser with the same wallet. Some wallet types may experience issues on Mobile.
If the issue persists, contact support.
## Referrals: Rewards Hub (TCG) vs Spend
No. These are two separate referral programs tied to different Jupiter products.
* **Rewards Hub referrals (TCG):** you share a referral link from the [Rewards Hub](https://jup.ag/rewards). You earn a percentage of your referrals' trading points, which convert into TCG cards. The referred user gets a 10% trading points bonus. This only applies to TCG campaigns.
* **Spend referrals:** part of the [Jupiter Spend](/user-docs/global/spend) program, operated by Jupiter Global. This is a separate cashback and referral system tied to the Jupiter Card and spending features. It has its own rules, reward currency, and structure.
Earnings from one program do not transfer to or affect the other.
No. A Spend referral link only applies to the Spend program. To receive TCG referral benefits (10% trading points bonus), you must join through a Rewards Hub referral link. The two systems are independent.
## Claiming TCG rewards
You must reveal your cards and claim rewards through Jupiter Wallet or Jupiter Mobile during the claim period. If you traded with a different wallet, you can [import it into Jupiter Wallet](/user-docs/manage/extension-wallet/getting-started#importing-a-wallet) or Jupiter Mobile.
Yes. Each season has a claim period that ends after the campaign. Once the claim period closes, unclaimed rewards cannot be recovered. Check the [current season details](/user-docs/earn/rewards-hub/trading-card-game#seasons) for the exact deadline.
It depends on the season. Season 1 rewards were paid in USDC. Season 2 rewards are paid in JupUSD. The reward currency is always specified in the [season details](/user-docs/earn/rewards-hub/trading-card-game#seasons).
# Jupiter Rewards Hub Overview
Source: https://docs.jup.ag/user-docs/earn/rewards-hub/index
Overview of the Jupiter Rewards Hub and its campaign system.
The [Jupiter Rewards Hub](https://jup.ag/rewards) is a platform that hosts trading and referral campaigns across the Jupiter ecosystem.
Each campaign runs for a fixed period, with its own rules, eligible trading pairs, reward currency, and distribution method. Campaigns are independent from one another: eligibility, points, and rewards do not carry over between campaigns.
## What is a campaign?
A campaign is a time-limited program where users earn rewards by trading eligible pairs on Jupiter and/or referring other users. Each campaign defines:
* Which platforms and trading modes are eligible
* Which token pairs earn rewards, and at what rate
* How rewards are earned (trading points, cards, lootboxes)
* The reward currency and total pool
* How rewards are delivered: a claim window after the campaign ends, or an automatic airdrop for some campaigns
## Trading Card Game
The Rewards Hub currently hosts the **Trading Card Game (TCG)**, a recurring campaign with multiple seasons.
Core mechanics: points, cards, referrals, eligibility, and season details.
Common questions about the Rewards Hub, the TCG, and how rewards work.
# Trading Card Game
Source: https://docs.jup.ag/user-docs/earn/rewards-hub/trading-card-game
Core mechanics of the Jupiter Trading Card Game — points, cards, lootboxes, referrals, eligibility, and season details.
The Trading Card Game (TCG) is a recurring campaign on the [Jupiter Rewards Hub](https://jup.ag/rewards). Users earn rewards by trading eligible token pairs and referring others. Each season has its own dates, reward pool, and reward currency, but the core mechanics described below apply across all seasons unless stated otherwise.
## Core flow
Swap eligible token pairs on an eligible Jupiter platform using an eligible trading mode.
You earn points based on your trading volume and the pair's multiplier. Points are an intermediary unit, not the final reward.
Points convert into cards at a rate defined per season (e.g., 100,000 points per card in Season 2). Only whole cards can be revealed. Leftover points carry over until you reach the next threshold.
Each card is a lootbox. When revealed, a rarity is randomly assigned based on fixed drop rates. Each rarity has a predetermined reward amount.
Claim your rewards during the claim period through Jupiter Wallet or Jupiter Mobile.
***
## Trading points
Trading points are the intermediary unit between your trading volume and cards.
When you trade an eligible pair, you earn points based on:
* **Your trading volume** (in USD equivalent)
* **The pair's multiplier**, determined by the token categories of the tokens you're swapping
The more you trade and the higher the multiplier, the more points you accumulate.
Referred users receive a **10% bonus** on the trading points they earn from their own trades.
### Points-to-card conversion
Points convert into cards at a rate defined per season. Points accumulate across swaps. You can only reveal whole cards. If you have 150,000 points at a rate of 100,000 points per card, you can reveal 1 card. The remaining 50,000 points carry over until you reach the next threshold.
The points-to-card conversion rate can change between seasons. Check the [Seasons](#seasons) section for the current rate.
***
## Token categories
Every token involved in an eligible trade is classified into one of these categories:
| Category | Definition |
| ----------------- | ---------------------------------------------------------------------------------- |
| **JUP / JLP** | JUP token and JLP (Jupiter Liquidity Provider token) |
| **JupSOL** | Jupiter staked SOL |
| **Stable** | Stablecoins (fixed list per campaign) |
| **SOL** | Native SOL |
| **LST** | Liquid Staking Tokens (fixed list per campaign) |
| **Uncategorised** | Any token not in the above categories and not classified as New |
| **New** | Tokens created within the last 24 hours |
The Stable and LST categories are based on fixed token lists defined per campaign. Not all stablecoins or liquid staking tokens may be included.
***
## Multiplier table
The multiplier determines how many trading points you earn per trade, based on the direction of the swap. A higher multiplier means more points per dollar of volume, which means faster card accumulation at the season's conversion rate.
The table below is expressed in \*\*cards per $10,000 of eligible volume**. To translate into points: multiply the table value by the season's points-per-card rate. For example, in Season 2 (100,000 points per card), a multiplier of 5 means 500,000 points per $10,000 traded.
**How to read the table:** rows are the token you're selling (From), columns are the token you're buying (To).
| From / To | JUP/JLP | JupSOL | Stable | SOL | LST | Uncategorised | New |
| ----------------- | ------- | ------ | ------ | --- | ---- | ------------- | --- |
| **JUP / JLP** | 1 | 1 | 1 | 1 | 1 | 1 | 5 |
| **JupSOL** | 0 | — | 0.25 | 0 | 0 | 1 | 5 |
| **Stable** | 0 | 0 | 0 | 0.1 | 0.25 | 1 | 5 |
| **SOL** | 0 | 0 | 0.1 | — | 0 | 1 | 5 |
| **LST** | 1 | 0 | 0.25 | 0 | 0 | 1 | 5 |
| **Uncategorised** | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
| **New** | 5 | 5 | 5 | 5 | 5 | 0 | 0 |
* A number (e.g., `1`, `5`, `0.25`) is the number of cards earned per \$10,000 in volume for that pair direction.
* `0` means the trade is eligible but earns no cards.
* `—` means the trade is not possible (swapping a token to itself).
Multipliers are asymmetric. Swapping JUP/JLP to JupSOL earns 1 card, but JupSOL to JUP/JLP earns 0. This is by design and reflects the fee structure of each pair direction.
New tokens (created within the last 24 hours) carry a 5x multiplier across most pairs. This is designed to incentivize trading newly launched tokens on Jupiter.
***
## Cards and lootboxes
Cards are the reward unit of the TCG. Each card works as a **lootbox**: when you reveal it, a rarity is randomly assigned based on fixed drop rates.
There are 5 rarity tiers. Each rarity has a fixed reward amount and a fixed drop probability. The reward currency and exact values are defined per season. See the [Seasons](#seasons) section for current rates.
Card reveals are random. There is no guarantee of receiving any specific rarity. The drop rates are fixed probabilities, not quotas.
***
## Referral system
The TCG includes a referral program with 3 levels of depth. You earn a percentage of your referrals' trading points, converted into cards for you.
### How it works
Get your link from the [Rewards Hub](https://jup.ag/rewards).
The referred user clicks your link and connects their wallet on an eligible Jupiter platform. This is enough to establish the referral relationship.
When your referral trades, you earn a percentage of their trading points based on the referral depth.
### Referral tiers
| Level | Relationship | Points earned |
| ------- | -------------------------------------- | --------------------------- |
| Level 1 | User you directly referred | 30% of their trading points |
| Level 2 | User referred by your Level 1 referral | 3% of their trading points |
| Level 3 | User referred by your Level 2 referral | 2% of their trading points |
There is no cap on the number of cards you can earn through referrals. Referral points and trading points accumulate on the same wallet and convert into cards together.
### Bonus for referred users
Users who join through a referral link receive a **10% bonus** on the trading points they earn from their own trades, for the duration of the campaign.
***
## Eligibility
### Eligible platforms
* [jup.ag](https://jup.ag)
* [Jupiter Wallet](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh)
* [Jupiter Mobile](https://jup.ag/mobile)
### Eligible trading modes
Use **Ultra Mode** or **Limit Order V2** to earn TCG rewards.
### Not eligible
The following are **not eligible** for TCG rewards:
* Manual Mode
* Limit Order V1
* DCA (Dollar-Cost Averaging)
* Trades through partner platforms using Jupiter APIs
### Wallets
You can trade using any Solana wallet. However, to reveal cards and claim rewards, you must use Jupiter Wallet or Jupiter Mobile. If you traded with another wallet, you can [import it into Jupiter Wallet](/user-docs/manage/extension-wallet/getting-started#importing-a-wallet) or Jupiter Mobile to access your rewards.
***
## Seasons
Each TCG season runs independently with its own dates, reward currency, pool, and conversion rate. Points, cards, and referrals do not carry over between seasons.
| | |
| ------------------- | --------------------------------- |
| **Campaign period** | January 31, 2026 – March 31, 2026 |
| **Claim period** | Until April 8, 2026 |
| **Reward currency** | JupUSD |
| **Points per card** | 100,000 trading points |
### Card rarities and drop rates
| Rarity | Reward | Drop rate |
| --------- | ------------- | --------- |
| Legendary | 10,000 JupUSD | 0.001% |
| Mythical | 100 JupUSD | 0.1% |
| Rare | 25 JupUSD | 2.5% |
| Premium | 5.00 JupUSD | 10% |
| Common | 1.00 JupUSD | 87.399% |
| | |
| ------------------- | ------------------------------------ |
| **Campaign period** | December 11, 2025 – January 31, 2026 |
| **Reward pool** | \$1,000,000 |
| **Reward currency** | USDC |
| **Claim deadline** | February 7, 2026, 11:59 PM |
### Card rarities and drop rates
| Rarity | Reward | Drop rate |
| --------- | ----------- | --------- |
| Legendary | 10,000 USDC | 0% |
| Mythical | 100 USDC | 0.1% |
| Rare | 25 USDC | 2.5% |
| Premium | 5.00 USDC | 10% |
| Common | 1.00 USDC | 87.4% |
Rates as displayed on the [Season 1 campaign page](https://jup.ag/rewards/jupiter-tcg-s1).
# Stake SOL FAQ
Source: https://docs.jup.ag/user-docs/earn/stake-sol/faq
Frequently asked questions about staking SOL with Jupiter Stake, native staking, and JupSOL.
Quick answers to common questions about Jupiter Stake. For more detail, see the [Overview](/user-docs/earn/stake-sol), [Native Staking](/user-docs/earn/stake-sol/native-staking), and [JupSOL](/user-docs/earn/stake-sol/jupsol) pages.
## General
Jupiter Stake is Jupiter's Solana validator. It lets you stake SOL on-chain through two options: native staking (direct delegation) or JupSOL (liquid staking token). The validator takes a 5% commission on inflation rewards and 0% on MEV.
[Learn more →](/user-docs/earn/stake-sol)
Both use the Jupiter validator and earn staking rewards, but the mechanics are different.
| | Native Staking | JupSOL |
| ------------------ | ------------------------------------- | ----------------------------------------------------------------------- |
| What you hold | A native stake account | A liquid staking token |
| Activation | Epoch-based (\~2 days) | Immediate |
| Liquidity | Locked; epoch-based unlock (\~2 days) | Instant; trade or transfer anytime |
| Rewards | Inflation + MEV | Inflation + MEV + priority fees |
| DeFi composability | Collateral on Jupiter Lend only | Usable across DeFi protocols |
| Commission | 5% inflation, 0% MEV | 5% inflation, 0% MEV. Additional 5% epoch fee on base rewards (Sanctum) |
No. There is no minimum staking amount on Jupiter Stake, for either native staking or JupSOL.
No. All staking actions are executed on-chain, directly from your wallet. Jupiter does not take custody of your SOL.
The Jupiter validator takes a 5% commission on inflation rewards and 0% on MEV, for both native staking and JupSOL. JupSOL has an additional 5% epoch fee charged by the Sanctum SPL Stake Pool Program (2.5% to Sanctum, 2.5% to Jupiter DAO treasury). This means JupSOL inflation rewards are subject to two fees: the validator's 5% commission and Sanctum's 5% epoch fee. Neither fee applies to MEV or priority fees.
## Native Staking
Activation is epoch-based. Your stake becomes active at the start of the next Solana epoch. Epochs last approximately 2 days, so the wait depends on when in the current epoch you stake.
Unstaking follows the same epoch schedule. When you deactivate your stake, it becomes available for withdrawal at the end of the current epoch (up to \~2 days). During this period, your SOL does not earn rewards.
You earn inflation rewards (standard Solana staking rewards) and MEV rewards. Both are auto-compounded into your stake account every epoch. No manual claiming is needed.
On the Jupiter Stake page, the **Manage** tab shows your total staked SOL, the status of each stake account, total rewards earned, and a per-epoch rewards history.
## Native Staked Vaults
Yes. Through Native Staked Vaults on Jupiter Lend, your native stake account is represented as **nsJUPITER**, which appears within Jupiter Lend (not in your wallet as a regular token). You can use it in the nsJUPITER / SOL vault to borrow SOL.
Staking rewards continue to accrue while your position is used as collateral. Only SOL can be borrowed. Multiply is not available.
[Learn more →](/user-docs/earn/stake-sol/native-staking#native-staked-vaults)
nsJUPITER is a yield-bearing token that represents your native stake account with the Jupiter validator. It is created through the Single Pool Program (a Solana Foundation program) and is visible only within Jupiter Lend.
The amount of nsJUPITER you hold stays the same over time. Its value increases as staking rewards accrue on the underlying stake account.
Your staking rewards continue to accrue normally. As rewards accrue, the value of your nsJUPITER increases, which means you can borrow more SOL over time.
## JupSOL
JupSOL uses an exchange-rate model. The JupSOL/SOL ratio increases over time as staking rewards, MEV rewards, and priority fees accrue to the pool. Your JupSOL balance stays the same, but each token becomes worth more SOL over time.
Because the JupSOL/SOL exchange rate has increased since launch. 1 SOL now converts to less than 1 JupSOL, but your JupSOL still represents the full value of your deposit plus future rewards.
No. Rewards accrue automatically by increasing the JupSOL/SOL exchange rate. There is nothing to claim.
Yes. You can swap JupSOL for SOL at any time through [Jupiter](https://jup.ag/) or any other exchange that supports it. If the swap route requires unwrapping JupSOL directly from the pool, a 0.1% withdrawal fee applies. Alternatively, you can use Delayed Unstake on Jupiter Stake (\~2 days) to avoid routing through the open market.
Swapping via the Jupiter aggregator routes through available liquidity pools and applies standard swap fees depending on the route. Depositing SOL directly via Jupiter Stake (JupSOL tab) stakes your SOL into the pool with no deposit fee. Both paths give you the same JupSOL token.
Delayed Unstake is available on [Jupiter Stake](https://jup.ag/stake) (JupSOL tab). Your JupSOL is converted into a stake account that needs to be deactivated before withdrawal. This takes approximately 2 days. Once complete, you can claim your SOL.
Yes. The JupSOL/SOL exchange rate increases regardless of where your JupSOL is held. Staking rewards continue to accrue even when JupSOL is deposited as collateral.
JupSOL is built on Sanctum's SPL Stake Pool Program. Sanctum handles day-to-day management of the pool (delegation of deposited SOL). The program's upgrade authority is controlled by an 11-member multisig, not by Sanctum alone. Sanctum collects 2.5% of each epoch's base staking rewards as an infrastructure fee.
No. The management authority (held by Sanctum) cannot access user funds, even if compromised. Fee changes are capped by the program and require advance warning, giving users time to withdraw before any change takes effect.
## Risks
* **Variable rewards**: APY is not fixed and depends on network and validator conditions.
* **Epoch-based lock-in**: Both activation and unstaking follow the Solana epoch schedule (\~2 days).
* **Validator risk**: If the Jupiter validator experiences downtime, rewards for that period may be reduced.
If you use your staked position as collateral on Jupiter Lend, additional risks apply (liquidation, market risk). See [Native Staked Vaults](/user-docs/earn/stake-sol/native-staking#native-staked-vaults).
* **Smart contract risk**: JupSOL relies on the SPL Stake Pool Program. While audited and battle-tested, no smart contract is guaranteed to be free of vulnerabilities.
* **Market price deviation**: The market price of JupSOL can temporarily fall below its redeemable value, which could trigger liquidation if used as collateral.
* **Liquidity risk**: During high market stress, available liquidity for swapping JupSOL to SOL may be reduced.
* **Variable rewards**: Staking rewards fluctuate from epoch to epoch.
* **Regulatory uncertainty**: The regulatory environment for liquid staking products continues to evolve.
# Stake SOL Overview
Source: https://docs.jup.ag/user-docs/earn/stake-sol/index
Stake SOL with Jupiter's Solana validator. Choose between native staking and JupSOL liquid staking.
Jupiter Stake is Jupiter's Solana validator. It lets you stake SOL directly on-chain and earn staking rewards, MEV rewards, and priority fees.
The Jupiter validator takes a **5% commission on inflation rewards** and **0% on MEV**. All actions are non-custodial and executed directly from your wallet.
A step-by-step walkthrough of Jupiter Stake on Jupiter Academy. Covers how to stake, the differences between native staking and JupSOL, and how to manage your position.
## Staking Options
Jupiter Stake offers two ways to stake SOL. Each option has different tradeoffs in terms of liquidity, lock-up, and composability.
| | Native Staking | JupSOL |
| ------------------ | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| What you hold | A native stake account | A liquid staking token (JupSOL) |
| Activation | Epoch-based (\~2 days) | Immediate |
| Liquidity | Locked; epoch-based unlock (\~2 days) | Instant; trade or transfer anytime |
| Rewards | Inflation + MEV, auto-compounded | Inflation + MEV + priority fees, reflected in JupSOL value |
| DeFi composability | Usable as collateral on Jupiter Lend only (via Native Staked Vaults) | Usable across DeFi protocols |
| Commission | 5% inflation, 0% MEV | 5% inflation commission, 0% MEV. Additional 5% epoch fee on base staking rewards (Sanctum infrastructure) |
| Unstaking | \~2 days (epoch-based) | Instant swap or \~2 days via Delayed Unstake |
Stake SOL directly with the Jupiter validator. Keep full ownership of your stake account. Use it as collateral on Jupiter Lend.
Get a liquid staking token that accrues value over time. Trade, transfer, or use it in DeFi without waiting.
# JupSOL
Source: https://docs.jup.ag/user-docs/earn/stake-sol/jupsol
Liquid staking with the Jupiter validator. Earn staking rewards, MEV, and priority fees while keeping your SOL liquid.
JupSOL is a **liquid staking token (LST)** that represents SOL staked with the Jupiter validator. It is built on [Sanctum's SPL Stake Pool Program](https://learn.sanctum.so/docs/technical-documentation/sanctum-lsts).
Unlike native staking, JupSOL gives you a token you can hold, transfer, trade, or use in DeFi while your SOL remains staked and earning rewards.
**Contract address:** [`jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v`](https://jup.ag/tokens/jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v)
## What is a Liquid Staking Token?
A Liquid Staking Token (LST) is a token that represents staked SOL. When you stake SOL through an LST, your SOL is delegated to validators who secure the Solana network. In return, you receive a token that:
* Earns staking rewards automatically
* Can be traded, transferred, or used in DeFi
* Can be redeemed for the underlying SOL at any time
With [native staking](/user-docs/earn/stake-sol/native-staking), your SOL is locked until you unstake (\~2 days). LSTs remove this constraint by giving you a liquid token while your SOL remains staked.
## How JupSOL Accrues Value
JupSOL uses an **exchange-rate model**. The JupSOL/SOL ratio increases over time as staking rewards accrue to the pool.
* The number of JupSOL in your wallet **stays the same**
* Each JupSOL becomes redeemable for **more SOL** over time
* You do not need to claim rewards manually
Because the exchange rate has moved since launch, 1 SOL deposited today returns less than 1 JupSOL. This is expected. Your JupSOL still represents the full value of your deposit plus future rewards.
## How to Get JupSOL
There are two paths to acquire JupSOL.
On the [Jupiter Stake page](https://jup.ag/stake), select the **JupSOL** tab. Deposit SOL directly into the pool and receive JupSOL in return.
**No deposit fee** is charged on this path.
Swap any token for JupSOL using the [Jupiter aggregator](https://jup.ag/swap?outputMint=jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v). The aggregator finds the best available route. Standard swap fees apply depending on the route.
On the **Manage** tab of [Jupiter Stake](https://jup.ag/stake), convert an existing native stake account, in whole or in part, directly into JupSOL. There is no waiting period. See [Native Staking](/user-docs/earn/stake-sol/native-staking#stake-account-actions).
## Exiting JupSOL
There are three ways to exit JupSOL.
Swap JupSOL for SOL (or any other token) through [Jupiter](https://jup.ag/). This uses the aggregator and standard swap fees apply. If the route requires unwrapping JupSOL from the pool, a **0.1% withdrawal fee** applies.
On [Jupiter Stake](https://jup.ag/stake) (JupSOL tab), use **Delayed Unstake**. Your JupSOL is converted into a stake account that needs to be deactivated before withdrawal. This process takes approximately **2 days** (one epoch). Once complete, you can claim your SOL. The resulting stake account must be at least 1 SOL.
On [Jupiter Stake](https://jup.ag/stake), convert JupSOL into a native stake account **instantly**. You keep earning staking rewards through a stake account you control directly instead of the pool, and can manage it from the [Manage tab](/user-docs/earn/stake-sol/native-staking#managing-your-stake). The resulting stake account must hold at least 1 SOL.
## Rewards
JupSOL holders earn yield from three sources. All rewards accrue automatically to the pool, increasing the JupSOL/SOL exchange rate. There is no manual claim.
| Source | Description |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Staking rewards | Base inflation rewards from the Solana network, distributed each epoch (\~2-3 days). The Jupiter validator takes a 5% commission on these rewards. |
| MEV rewards | MEV kickbacks from the Jupiter validator. The validator takes no MEV commission. |
| Priority fees | The validator's priority fees on JupSOL's stake, added to the pool. |
The Jupiter validator takes a **5% commission on inflation rewards** and **0% on MEV**. JupSOL's share of priority fees goes to the pool.
## Fees
### Pool Fees
| Fee | Amount | Notes |
| --------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
| SOL deposit fee | 0% | No fee to deposit SOL into the pool |
| Withdrawal fee | 0.1% | Applied when withdrawing SOL or a stake account from the pool. Also applies on swaps if the route requires unwrapping JupSOL. |
| Management fee | 0% | The SPL Stake Pool management fee, separate from the validator inflation commission below. |
### Validator Inflation Commission
The Jupiter validator takes a **5% commission on inflation rewards**.
The commission applies to inflation rewards only. MEV is not subject to a commission, and priority fees are unaffected.
### Sanctum Epoch Fee
A **5% fee on base staking rewards** is applied each epoch. This fee does **not** apply to MEV or priority fee rewards.
The 5% is split equally:
| Recipient | Share | Notes |
| -------------------- | ----- | ----------------------- |
| Sanctum | 2.5% | Infrastructure provider |
| Jupiter DAO treasury | 2.5% | Not the Jupiter team |
This fee is standard across all LSTs deployed through Sanctum's SPL Stake Pool Program.
Two separate fees apply to inflation rewards: the validator's 5% commission and Sanctum's 5% epoch fee. Neither applies to MEV or priority fees.
## Using JupSOL in DeFi
JupSOL is a standard SPL token and can be used across the Solana DeFi ecosystem. Here are the main integrations.
You can supply JupSOL as collateral on [Jupiter Lend](https://jup.ag/lend/earn). Staking rewards continue to accrue while your JupSOL is used as collateral, since the JupSOL/SOL exchange rate keeps increasing regardless of where the token is held.
JupSOL can be used in lending platforms, liquidity pools, and other DeFi protocols that support it. Jupiter does not endorse or guarantee any third-party protocol.
## Security
### SPL Stake Pool Program
JupSOL is built on Sanctum's SPL Stake Pool Program (SanctumSplMulti deployment).
* Audited **9 times** by multiple security firms
* Has secured over **\$4B** in staked SOL across the ecosystem without exploits
* Separate from the Single Pool Program (Solana Foundation) used by [Native Staked Vaults](/user-docs/earn/lend/borrow/native-staked-vaults)
Audit reports are available in [Sanctum's documentation](https://learn.sanctum.so/docs/technical-documentation/sanctum-lsts#security).
### Multisig Governance
The upgrade authority of the program is held by an **11-member multisig** with a **threshold of 6** (majority required).
Multisig members: Jito, Jupiter, Laine, Mango, MRGN, Solblaze, SolanaFM, and Sanctum.
The program address and multisig can be verified on [Solscan](https://solscan.io/account/SPMBzsVUuoHA4Jm6KunbsotaahvVikZs1JyTW6iJvbn#programMultisig).
### Management Authority
Day-to-day management of JupSOL (setting up the pool, delegating deposited SOL) is handled by Sanctum. Important constraints on the management authority:
* It **cannot steal funds**, even if compromised
* Fee changes are **capped** and require **advance warning**, giving users time to withdraw before any change takes effect
## Risks
JupSOL, like all liquid staking tokens, carries risks. These should be understood before depositing.
JupSOL relies on the SPL Stake Pool Program. While audited 9 times and battle-tested with billions in value, no smart contract is guaranteed to be free of vulnerabilities.
The market price of JupSOL can temporarily fall below its redeemable value (the amount of SOL you would receive by withdrawing from the pool). This is not a loss of underlying SOL. It typically happens during large sell-offs and is usually resolved by arbitrage. However, if you are using JupSOL as collateral on a lending protocol, a temporary price deviation could trigger liquidation.
During periods of high market stress, available liquidity for swapping JupSOL back to SOL may be reduced, potentially increasing slippage or making instant swaps temporarily less favorable.
Staking rewards depend on validator performance and network conditions. They are not fixed and can fluctuate from epoch to epoch.
The regulatory environment for staking and liquid staking products continues to evolve and may change.
## Resources
| Resource | Link |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| JupSOL token page | [jup.ag](https://jup.ag/tokens/jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v) |
| Jupiter validator (Solana Beach) | [solanabeach.io](https://solanabeach.io/validator/CatzoSMUkTRidT5DwBxAC2pEtnwMBTpkCepHkFgZDiqb) |
| Jupiter validator (validators.app) | [validators.app](https://www.validators.app/validators/JupmVLmA8RoyTUbTMMuTtoPWHEiNQobxgTeGTrPNkzT?locale=en\&network=mainnet) |
| JupSOL on Sanctum | [app.sanctum.so](https://app.sanctum.so/explore/JupSOL) |
| JupSOL/SOL oracle | [Solscan](https://solscan.io/account/6uiicrzTUUA89U3hXXxawjokwycmcFQyHWgqKP17Up3k) |
| JupSOL/SOL Pyth feed | [Solscan](https://solscan.io/account/D7UqeBmCEmhGXGYfi2y9RfoCa7t1Xw5iZLBeYZ3sxFSe) |
| SPL Stake Pool Program (multisig) | [Solscan](https://solscan.io/account/SPMBzsVUuoHA4Jm6KunbsotaahvVikZs1JyTW6iJvbn#programMultisig) |
| Sanctum LST documentation | [learn.sanctum.so](https://learn.sanctum.so/docs/technical-documentation/sanctum-lsts) |
| Sanctum audit reports | [learn.sanctum.so](https://learn.sanctum.so/docs/technical-documentation/sanctum-lsts#security) |
# Native Staking
Source: https://docs.jup.ag/user-docs/earn/stake-sol/native-staking
Stake SOL directly with the Jupiter validator. Earn inflation and MEV rewards. Use your staked SOL as collateral on Jupiter Lend.
Native staking lets you stake SOL directly with the Jupiter validator through a **native stake account**. Your SOL remains in a stake account you own; it is not transferred to Jupiter.
The Jupiter validator takes a **5% commission on inflation rewards** and **0% on MEV rewards**. All actions are non-custodial and executed directly from your wallet.
## How to Stake
Follow these steps to stake SOL natively with the Jupiter validator.
On the **Native** tab of the [Jupiter Stake page](https://jup.ag/stake), enter the amount of SOL you want to stake. The minimum is 1 SOL: the form blocks amounts below this and explains the requirement before you submit.
Click **Delegate**. This creates a native stake account and delegates your SOL to the Jupiter validator.
Your stake activates at the start of the next Solana epoch. Epochs last approximately 2 days, so the wait depends on when in the current epoch you stake.
Once active, your stake earns rewards every epoch. Both inflation rewards and MEV rewards are auto-compounded into your stake account.
## Rewards
Staking with Jupiter Stake earns two types of rewards. Both are auto-compounded into your stake account every epoch. No manual claiming is needed. The validator takes a **5% commission on inflation rewards** and **0% on MEV**.
Standard Solana staking rewards, paid by the network to validators and their delegators at the end of each epoch. These rewards come from Solana's inflation schedule. The Jupiter validator takes a 5% commission on them.
Additional revenue from Maximal Extractable Value (MEV). MEV refers to the extra value a validator can capture by optimizing the ordering of transactions within a block. Jupiter redistributes 100% of MEV rewards to stakers.
Staking rewards are **variable**. The estimated APY displayed on the interface depends on network conditions, validator performance, and MEV activity. It is not fixed and not guaranteed.
## Unstaking and Unlock Period
Unstaking follows Solana's epoch schedule, not a fixed timer.
Your stake begins deactivating.
Deactivation completes at the end of the current epoch (up to \~2 days, depending on when you unstake). During the unlock period, your SOL **does not earn rewards**.
Once fully deactivated, you can withdraw your SOL from the **Manage** tab.
## Managing Your Stake
The **Manage** tab on the Stake page gives you an overview of your staking position.
| Field | Description |
| ----------------- | ----------------------------------------------------------------------- |
| Your Total Staked | Total SOL currently staked, with USD equivalent |
| Status | Current state of each stake account (active, deactivating, or inactive) |
| Total Rewards | Cumulative rewards earned since staking started, in SOL and USD |
| Recent Rewards | Per-epoch reward history for each stake account, with pagination |
| Withdraw | Reclaim SOL from fully deactivated stake accounts |
### Stake Account Actions
Each stake account can be managed individually from the Manage tab:
* **Unstake (deactivate)**: begins deactivation, following the epoch schedule described above.
* **Reactivate**: restart a deactivating stake account without withdrawing.
* **Withdraw**: reclaim SOL from a fully deactivated account.
* **Split**: divide one stake account into two. Every stake account must hold at least 1 SOL, so both resulting accounts need to stay above that minimum.
* **Merge**: combine multiple compatible stake accounts into one, in a single flow.
* **Convert to JupSOL**: convert a stake account, in whole or in part, into [JupSOL](/user-docs/earn/stake-sol/jupsol) without waiting for deactivation.
The account list refreshes after every action. Around epoch boundaries, an action can temporarily fail while staking rewards are being distributed; this resolves once the epoch transition completes.
Stake accounts delegated to other validators also appear in the list, but the only action available for them is deactivation. Merging requires the accounts to be compatible with each other, and converting to JupSOL requires the stake account to be delegated to a validator in the JupSOL pool. These are Solana-level constraints, not restrictions added by Jupiter.
## Risks and Limitations
The following risks apply specifically to native staking with Jupiter Stake.
Staking APY fluctuates based on network conditions, validator uptime, and MEV activity. Past performance does not predict future returns.
Both activation and deactivation follow the Solana epoch schedule (\~2 days). You cannot access your SOL during the unlock period.
If the Jupiter validator experiences downtime or poor performance, your rewards for that period may be reduced. Slashing risk on Solana is currently negligible, but the protocol allows for it.
You unstake whole stake accounts. To unstake part of a position, split the stake account first, then deactivate one of the resulting accounts (each must keep at least 1 SOL).
Solana no longer supports redelegating a stake account from one validator to another; the feature existed in the past and was disabled for security reasons. To move a stake delegated to another validator over to Jupiter, unstake it, wait for deactivation to complete at the end of the epoch, then stake again. The same applies in the other direction.
***
## Native Staked Vaults
Your natively staked SOL doesn't have to sit idle. **Native Staked Vaults** on Jupiter Lend let you borrow SOL against your staked position, without unstaking and without interrupting your staking rewards.
This section covers the Native Staked Vaults functionality as it relates to Jupiter Stake. For the full Jupiter Lend documentation on Native Staked Vaults, see [Jupiter Lend — Native Staked Vaults](/user-docs/earn/lend/borrow/native-staked-vaults).
### How It Works
The following steps describe how to use your natively staked SOL as collateral on Jupiter Lend.
Stake your SOL with Jupiter Stake (or another supported validator). This creates a native stake account delegated to that validator.
Your stake account is represented by **nsJUPITER**, a yield-bearing token created through the Single Pool Program. This token is not displayed as a regular asset in your wallet. It exists on-chain and is surfaced only within Jupiter Lend.
Use nsJUPITER as collateral in the nsJUPITER / SOL vault to borrow SOL. Your staking rewards continue to accrue while your position is used as collateral.
### nsJUPITER: Yield-Bearing Representation
When you stake SOL with Jupiter Stake, your native stake account is represented within Jupiter Lend by **nsJUPITER**. This token is created by the **Single Pool Program**, a Solana program developed and maintained by the Solana Foundation. It converts a native stake account into a tokenized representation that can be used as collateral.
The amount of nsJUPITER you hold **stays the same** over time. Its **value increases** as staking rewards accrue on the underlying stake account. This also means you can borrow more SOL over time as your collateral value grows.
The naming convention for all Native Staked Vaults is **ns + validator name**. For Jupiter Stake, it's nsJUPITER. Other supported validators follow the same pattern (e.g., nsHELIUS, nsKILN).
### Validator-Specific Vaults
Each Native Staked Vault is linked to a specific validator. Staked SOL from one validator can only be used in its corresponding vault.
Jupiter Lend supports several validators. The Jupiter Stake vault (nsJUPITER / SOL) is the primary one covered in this documentation.
| Validator | Vault |
| ------------- | ---------------- |
| Jupiter Stake | nsJUPITER / SOL |
| Helius | nsHELIUS / SOL |
| Nansen | nsNANSEN / SOL |
| Blueshift | nsSHIFT / SOL |
| Kiln | nsKILN / SOL |
| Temporal | nsTEMPORAL / SOL |
Additional native staking vaults may be added over time.
### Contract-Based Pricing
Native Staked Vaults use **contract-based pricing**, not market-based pricing.
| Aspect | How it works |
| -------------------- | ---------------------------------------------------------- |
| Collateral valuation | Derived directly from the underlying stake account balance |
| Liquidation logic | Based on the true staked value, not a market price feed |
### Borrowing
Once your nsJUPITER is visible in Jupiter Lend, you can use it as collateral in the nsJUPITER / SOL vault to borrow SOL. All borrowing actions are executed on-chain, directly from your wallet. Jupiter does not take custody of your assets or pool them.
Native Staked Vaults support **borrowing SOL only**. Multiply is not available for these vaults.
### Risks Specific to Native Staked Vaults
These risks apply in addition to the general native staking risks listed above.
If the value of your collateral falls relative to your borrowed amount, your position may be liquidated. Monitor your health ratio regularly.
Crypto market volatility can affect the value of your collateral and your borrowing position, even with contract-based pricing.
Staked SOL from one validator can only be used in that validator's vault.
### Security and Audits
Native Staked Vaults rely on two standard Solana programs, both audited and widely used.
The native Solana program used to create and manage stake accounts. Part of Solana's core infrastructure, audited and battle-tested across the network.
Handles the conversion from a native stake account to its yield-bearing representation (nsTOKEN). Deployed and maintained by the Solana Foundation. Shared across all supported validators and not specific to Jupiter.
Audited three times:
| Auditor | Date |
| ------- | ---------- |
| Zellic | 2023-06-21 |
| Neodyme | 2023-08-08 |
| Zellic | 2024-01-02 |
[Audit reports on GitHub](https://github.com/solana-program/single-pool/tree/main?tab=readme-ov-file#security-audits)
Jupiter Lend integrates these audited programs to allow native stake positions to be used as collateral. All staking, minting, and borrowing actions are executed on-chain, directly from the user's wallet, without custody or pooled asset management by Jupiter.
# App Features
Source: https://docs.jup.ag/user-docs/global/mobile/app-features
Search, scanning, dApp browser, notifications, widgets, and earning in Jupiter Mobile.
## Universal Search
Jupiter Mobile has a unified search that lets you find tokens, dApps, and wallet addresses from a single interface.
Tap the search icon (top right of the app), then enter a token name, contract address, dApp name, or wallet address.
## Magic Scan
Magic Scan ("Trade Anything. Scan Anything.") is a multi-purpose scanning tool that can:
* Scan tickers, token names, or contract addresses to trade them immediately.
* Scan wallet QR codes to send funds.
* Scan WalletConnect QR codes to connect to dApps.
* Process uploaded images with smart text detection.
To use Magic Scan, tap the **Scan** button on the home tab.
Make sure Jupiter Mobile has permission to access your camera and photo gallery in your device settings.
## dApp Browser
The dApp browser lets you connect your Jupiter Mobile wallet to Solana dApps directly from the app.
Tap the globe icon (top right of the app).
Search for the dApp you want to use.
Connect your Jupiter Mobile wallet and interact with the dApp.
Always verify the URL of the dApp before connecting your wallet. Phishing sites often use similar-looking URLs to trick users into signing malicious transactions.
You can allow transactions on selected sites to be signed without a prompt — see [Auto-Approve](/user-docs/global/mobile/managing-wallets#auto-approve).
## Radar (Notifications)
Radar is Jupiter Mobile's notification system. It provides push notifications for:
* Swaps, limit order fills, and recurring order fills
* Sends and Magic Link claims
* Updates from ecosystem projects (Meteora, Sanctum, Jito, and others)
Make sure push notifications are enabled for Jupiter Mobile in your device's system settings to receive Radar alerts.
## iOS Price Widget
iOS only
Home-screen widgets are available on iOS only. Android does not currently support a Jupiter Mobile widget.
You can add a price widget to your iOS home screen that displays live token prices.
The widget supports two data sources:
* **Portfolio** — shows your top 3 tokens by portfolio value.
* **Watchlist** — shows your top 3 tokens from your Watchlist (managed via the star icon on tokens; see the Watchlist section of the home tab and the discovery tab).
Long-press the Jupiter Mobile app icon on your home screen and select the widget option.
Pick either Portfolio or Watchlist as the data source. The widget updates automatically with live prices.
The Watchlist in Jupiter Mobile is local to the app and is not synced with the watchlist on the Jupiter website. Widget price updates are subject to iOS refresh constraints and may have a slight delay.
## Earn
The **Earn** button on the home tab opens Jupiter Lend Earn Vaults, letting you deposit into [Jupiter Lend](https://jup.ag/lend/earn) directly from Jupiter Mobile. Each vault screen shows Deposited, Earnings, Total APY (Annual Percentage Yield), and Vault TVL (Total Value Locked), with **Deposit** and **Withdraw** actions. These values are dynamic and change with market conditions.
For details on how lending works, associated risks, and current rates, see the [Jupiter Lend documentation](/user-docs/earn/lend/index).
## Refer
**Refer** (button on the home tab) is the Jupiter Spend referral program. The in-app copy states: "Refer 2 friends to bump your cashback to 4%, plus \$10 for every invite". It provides a referral code, a referral link, and a dashboard.
Using Refer requires a Jupiter Spend account. For the current terms, see [Spend rewards and referrals](/user-docs/global/spend/rewards-and-referrals).
## Campaigns
**Campaigns** (home tab → **More** → **Campaigns**) lists active and past campaigns and claims, including Active Staking Rewards (ASR). Campaign content is dynamic and changes over time.
Claiming rewards requires a small amount of SOL for transaction fees. If you don't have enough SOL in your wallet, the claim transaction will fail.
For full details on rewards, tiers, and the Trading Card Game, see the [Rewards Hub documentation](/user-docs/earn/rewards-hub/index).
## Clean Account
Clean Account (formerly Reclaim) lets you recover SOL locked in unused token accounts and empty accounts. When tokens are removed from your wallet, the associated token accounts may still hold a small rent deposit in SOL. Clean Account closes these accounts and returns the SOL to you.
The Clean Account prompt may appear as a notification within the app. If dismissed, the feature is still accessible from the Portfolio section, but the notification itself cannot be restored.
# Discovery
Source: https://docs.jup.ag/user-docs/global/mobile/discovery
Token discovery, market data, tokenized stocks, and Earn vaults in the Jupiter Mobile discovery tab.
The discovery tab (chart icon in the bottom navigation) is where you find and track tokens, tokenized stocks, and Earn vaults. At the top are three tabs, **Tokens** / **Stocks** / **Earn**, plus a star (watchlist) filter.
Filter pills **Trending** / **Top Traded** / **Alphascan**, time windows **24h** / **6h** / **1h** / **5m**, and a **Filter** button. Token rows show the price with its % change and Vol/Net figures, the token age, and verification badges.
Overview of tokenized stocks available on Solana.
Lists Jupiter Lend Earn Vaults (e.g. JupUSD, USDC, SOL) with APY (Annual Percentage Yield) and TVL (Total Value Locked) figures. These values are dynamic and change with market conditions. For how the vaults work, see [Jupiter Lend](/user-docs/earn/lend/index).
Alphascan is a real-time feed of token launches across Solana; see [AlphaScan](/user-docs/trade/spot/alphascan) for what it is and how it works.
The former Cooking / New / Top Traded / Launchpad sections are replaced by this layout. "Cooking" remains as a News category on the home tab.
## Watchlist
Tap the star icon next to a token name to add it to your watchlist; tap it again to remove it. Your watchlist appears in the Watchlist section of the home tab and behind the star filter in the discovery tab.
You can add up to 50 tokens to your watchlist.
## Token Pages
Selecting a token opens a detailed page with:
* Token symbol and contract address
* Price chart (historical performance)
* Market cap (MC) and Fully Diluted Valuation (FDV)
* Circulating and total supply
* 24-hour trading volume
* Organic Score
* Verified insights from [Jupiter VRFD](https://verified.jup.ag/) on the token's details and authenticity
### Organic Score
The Organic Score is a metric derived from core indicators: holder count, trading volume, and liquidity. To improve reliability, the score is calculated using activity from real user wallets only (excluding bots and automated activity), tracked in real time.
The Organic Score is an informational metric. It is not an endorsement or investment recommendation.
## Quick Buy
Always verify the contract address before buying, especially for newly listed or unverified tokens.
## Token Verification
A green checkmark next to a token name indicates it has been verified by Jupiter. Verification means Jupiter has confirmed the token's identity to help protect traders from impersonators.
Verification is not an endorsement, investment signal, or guarantee of the token's value or safety.
# Jupiter Mobile FAQ
Source: https://docs.jup.ag/user-docs/global/mobile/faq
Jupiter Mobile FAQ: wallets and recovery, funding, swaps and orders, portfolio, fees, and troubleshooting.
## Getting Started
Jupiter Mobile is available on:
* [Android (Google Play)](https://play.google.com/store/apps/details?id=ag.jup.jupiter.android)
* [iOS (App Store)](https://apps.apple.com/us/app/jupiter-mobile/id6484069059)
* Solana Seeker (available in the Seeker dApp store)
* [Play Solana](https://x.com/jup_mobile/status/1925250675283554468)
**Requirements:** iOS 17.0 or later, Android 9 or later.
When you open Jupiter Mobile for the first time, the app walks you through wallet creation. You can choose between:
* **Recovery phrase wallet** — a standard wallet secured by a 12 or 24-word recovery phrase. You must write this down and store it securely.
* **Quick Account** — a social login wallet (Gmail, Apple, Google, Twitter, or Discord) that doesn't require a recovery phrase. A private key is generated and can be exported through the Jupiter website.
For details on wallet types and management, see [Managing Wallets](/user-docs/global/mobile/managing-wallets).
During onboarding, choose the import option and enter your recovery phrase exactly as provided (same spacing, same capitalization). You can then select which wallets to import from that phrase.
If you already have Jupiter Mobile set up, open the profile menu (top left) → **Switch** → **Add Account** and enter your recovery phrase.
**Recovery phrase wallets:** Jupiter Mobile does not support cloud-based backups. Write down your recovery phrase and store it in a secure, physical location. This is the only way to recover the wallet if you lose your device.
**Quick Accounts:** Export your private key through the Jupiter website at [jup.ag](https://jup.ag) and store it securely. See [Managing Wallets](/user-docs/global/mobile/managing-wallets#exporting-your-quick-account-private-key) for the full steps.
In both cases, Jupiter cannot recover your wallet for you.
The **Deposit** button (home tab or wallet tab) opens a sheet with three options:
* **Buy with card:** "Buy with Credit card, Apple Pay & more" opens a Buy USDC flow with a fiat currency selector, quick amounts, and payment methods such as Apple Pay.
* **Receive funds:** share your Solana address or QR code with someone who can send you tokens. Cross-chain deposits from Base, Arbitrum, or Sui are part of this flow.
* **Phantom Connect:** deposit directly from a Phantom wallet.
If you already hold other tokens, you can also swap them for SOL or USDC in the **Trade** tab.
For details, see [Funding & Sending](/user-docs/global/mobile/funding-and-sending).
## General
Jupiter Mobile is restricted in certain jurisdictions including the United States, China, and other sanctioned regions due to regulatory requirements. See the [Terms of Use](https://jup.ag/mobile/terms) for the full list.
Jupiter Mobile supports all Solana tokens, including SPL tokens. Token-2022 tokens with transfer tax features have limited support (excluded from Limit and Recurring orders, but supported on Market swaps). See [Swaps & Orders](/user-docs/global/mobile/swaps-and-orders) for details.
Open the wallet tab (wallet icon) → **History**, or the home tab → **More** → **History**. You can filter by type: **All**, **Swaps**, **Transfers**, **Limit**, or **Recurring**.
Yes. Jupiter Mobile supports both .sol and .skr domains as recipient addresses.
No. Jupiter Mobile currently supports sending to one address at a time.
No. Swaps and limit orders are self-only: output tokens are always sent back to your own wallet. To send tokens to someone else, swap first, then use **Send**.
No. The main wallet displays all values in USD. Other currencies (EUR, GBP, AUD, etc.) are not available as display options.
The Jupiter Spend balance has its own display currency selector (USD plus other currencies). See [Jupiter Spend](/user-docs/global/spend/index).
## Fees
| Trade type | Fee |
| -------------------------- | ---------------------------------------------------- |
| Sends | No protocol fee. Standard Solana tx fees apply. |
| Gasless swaps/sends | Standard fee + gasless surcharge (capped at 10% max) |
| Limit and Recurring orders | 0.1% flat |
The gasless surcharge is a fixed amount based on the SOL costs Jupiter covers on your behalf, not a percentage of trade size. Larger trades have a lower effective percentage.
Jupiter Mobile applies its own fee schedule to swaps placed natively in the app. The fee depends on the token pair (bps stands for basis points; 1 bps = 0.01%):
| Pair | Fee |
| -------------------------- | ------------- |
| Stablecoin ↔ stablecoin | 0% (0 bps) |
| SOL ↔ stablecoin | 0.1% (10 bps) |
| LST ↔ stablecoin | 0.1% (10 bps) |
| Bluechip token ↔ any token | 0.1% (10 bps) |
| All other pairs | 0.2% (20 bps) |
| Newly launched tokens | 0.5% (50 bps) |
LST stands for Liquid Staking Token (e.g. JupSOL, jitoSOL): tokens that represent staked SOL while remaining tradable.
This schedule applies only to swaps placed natively in Jupiter Mobile. Swaps made through the in-app dApp browser, or on jup.ag on the web, follow the standard fee schedules of those products. See [Jupiter Mobile fees](/user-docs/global/mobile/fees) for the full recap.
"Fees Saved" is an estimate of how much you've saved by trading on Jupiter Mobile compared to other platforms. It's calculated automatically and is already reflected in the fees you paid. It cannot be claimed or withdrawn separately.
## Wallets & Security
A Quick Account is a wallet created through social login (Gmail, Apple, Google, Twitter, or Discord) instead of a recovery phrase. It's powered by Privy and designed for users who prefer a simpler setup.
Quick Accounts do not have a recovery phrase. You can export your **private key** through the Jupiter website at [jup.ag](https://jup.ag) (not from within Jupiter Mobile). Connect via Social Login on the website, then tap the key icon in the mini-portfolio to retrieve it.
If you lose access to your social login, you lose the only way to retrieve your private key. Jupiter cannot recover it for you. It is strongly recommended to export and back up your private key.
You can create a Quick Account from the profile menu (top left) → **Switch** → **Add Account** → **Social Login**.
For the full export walkthrough, see [Managing Wallets](/user-docs/global/mobile/managing-wallets#exporting-your-quick-account-private-key).
**Recovery phrase wallets:** Open the profile menu (top left) → **Switch** → **Manage Account** → **Show Recovery Phrase** or **Show Private Key**. Copy it and store it securely.
**Quick Accounts:** You cannot export from Jupiter Mobile. Go to [jup.ag](https://jup.ag) in a browser, connect via Social Login, then tap the key icon in the mini-portfolio. See [Managing Wallets](/user-docs/global/mobile/managing-wallets#exporting-your-quick-account-private-key) for the full steps.
Anyone with your recovery phrase or private key has full control over your wallet. Never share it.
Open the profile menu (top left) → **Switch** → **Manage Account** → **Remove Account** and confirm. This removes the wallet from the app only. The wallet still exists onchain, and you can re-import it with the recovery phrase at any time.
Jupiter Mobile supports Bluetooth only Ledger devices (no USB). Make sure your Ledger is paired via Bluetooth in your phone settings, then open the profile menu (top left) → **Switch** → **Add Account** → **Ledger**.
Only one Ledger device can be connected at a time. Make sure Blind Signing is enabled on your Ledger.
Open the profile menu (top left) → **Settings** → **Security & Privacy** → **Biometric Authentication**. From there you can enable or manage your preferred authentication method.
Open the profile menu (top left) → **Settings** → **Security & Privacy** → **Signing & Permissions**, then toggle auto-approve for the site you want. It is supported for [Jupiter](https://jup.ag/) and [Meteora](https://meteora.ag/).
With auto-approve on, transactions on those sites are signed without a confirmation prompt, so you no longer get the chance to review each one before it is submitted.
See [Managing Wallets](/user-docs/global/mobile/managing-wallets#auto-approve) for the full walkthrough.
Jupiter ID is a single login for Jupiter's onchain products and payment features. You can log in with email, Google, or Apple, and you can only be logged in to one Jupiter ID at a time; Discord & X are currently not supported as login options and will be logged out if you proceed. Identity verification through Jupiter ID is required to use Jupiter Spend features. See [Jupiter Spend](/user-docs/global/spend/index) for what Jupiter ID is and how verification works.
It means the token has been verified by Jupiter. Verification confirms the token's identity to help protect against impersonators.
Verification is not an endorsement or investment signal.
No. Watch wallets are view-only and cannot be converted. If you want to control the wallet, you need to import it separately using its recovery phrase or private key via the profile menu (top left) → **Switch** → **Add Account**.
Scammers sometimes send fake or duplicate tokens to wallets, hoping you'll interact with them. If you see an unrecognized token, tap on it, open the three-dot menu, and select **Hide**.
Do not try to swap or trade unknown tokens. Some are designed to drain your wallet when you approve a transaction.
Your wallet may be compromised. Stop using it immediately and move all remaining funds to a new wallet with a fresh recovery phrase. Store your new recovery phrase securely, ideally offline.
Address poisoning is a scam where attackers create wallet addresses that look very similar to addresses you frequently interact with. When you copy an address from your transaction history, you might accidentally select the scammer's address. Always double-check the full address before sending funds.
Wallets may be flagged if they've interacted with sanctioned exchanges or addresses linked to suspected criminal activity (phishing, social engineering, etc.).
If your wallet has been flagged, open a ticket at [support.jup.ag](https://support.jup.ag) so the team can review your case.
## Magic Links
A Magic Link lets you send tokens to anyone using a shareable link with a claim code. The recipient doesn't need to have a wallet yet. Unclaimed links expire after 7 days and tokens are returned automatically.
For full details, see [Funding & Sending](/user-docs/global/mobile/funding-and-sending#magic-links).
If you have Jupiter Mobile, tap the link. It opens the app and auto-fills the claim code. Confirm to receive the tokens.
If you don't have the app yet, the link will prompt you to install it and set up a wallet first.
There may be an issue with your ATA. Open a ticket at [support.jup.ag](https://support.jup.ag) with your wallet address.
## Trading
| Order type | Minimum (USD equivalent) |
| --------------- | ------------------------ |
| Limit order | \$5 |
| Recurring order | |
Gasless lets you swap or send tokens when you don't have enough SOL to cover transaction fees. It activates automatically when your SOL balance can't cover gas costs. Jupiter pays the SOL fees on your behalf and deducts the equivalent value from the tokens involved.
Gasless carries a surcharge capped at 10% max. This is a fixed amount (not a % of trade size), so larger trades have a lower effective fee. Very small trades may not be eligible if the surcharge would exceed 10%.
Gasless is ideal for onboarding (e.g. receiving USDC and swapping without SOL). If you trade regularly, keeping a small SOL balance gives you access to lower fees.
It means Jupiter couldn't find a viable swap path. Common causes: insufficient liquidity, trade size too large or too small, or trading restrictions on the token. Try adjusting the amount and check whether the token has real liquidity on Solana DEXs.
1. Make sure you're on the latest version of Jupiter Mobile.
2. Verify you have at least 0.01 SOL for transaction fees.
3. Check that your internet connection is stable.
4. Try switching wallets to see if the issue is wallet-specific.
5. If using Ledger, try removing the Bluetooth pairing from your device settings and reconnecting.
6. On Android, if signing fails or you get repeated signature prompts, switch from biometric to PIN under **Settings** → **Security & Privacy** → **Biometric Authentication**, then try again.
Usually because:
* The token account has been frozen by the creator (transfers are restricted).
* Liquidity has been drained from the pool (the creator removed funds).
In both cases, the tokens are not tradable. Jupiter cannot compensate for actions taken by token creators.
Token-2022 tokens with transfer tax features are excluded from Limit and Recurring orders. Token creators can change the tax rate at any time, which could lead to users receiving less value than expected at execution. This restriction is in place to protect users.
These tokens are supported on Market swaps (via Ultra).
## App Features
Jupiter Mobile uses Radar for push notifications (swaps, order fills, Magic Link claims, ecosystem updates). Make sure notifications are enabled for Jupiter Mobile in your device's system settings.
Yes. You can find your NFTs in the left sidebar.
Jupiter Mobile currently supports viewing NFTs only. Sending and trading NFTs are not available yet.
The **Earn** button on the home tab lets you deposit SOL and stablecoins into [Jupiter Lend](https://jup.ag/lend/earn) directly from the app. For details on how lending works and associated risks, see the [Jupiter Lend documentation](/user-docs/earn/lend/index).
They are two different indicators:
* **Networth P\&L** (the 1D figure under your total balance on the home tab) covers your entire net worth, including tokens and DeFi positions (lending, perps, staking). The time window is ideally 24h but depends on the last snapshot stored in Jupiter's database. If the snapshot is older, the actual period is shown.
* **Holdings P\&L** only covers token holdings (no DeFi positions) and uses a strict rolling 24h window.
Different scopes and windows mean the two numbers can differ. See [Portfolio](/user-docs/global/mobile/portfolio#pnl) for full details.
Tap the globe icon in the top right, search for the dApp, and connect your Jupiter Mobile wallet.
Always verify the URL before connecting to avoid phishing sites.
Rewards and Active Staking Rewards (ASR) claims are accessible from the home tab → **More** → **Campaigns**.
Common causes:
* **Not enough SOL for gas.** Claiming requires a small amount of SOL to cover transaction fees. Make sure you have at least 0.01 SOL in your wallet.
* **Non-Jupiter wallet.** Rewards must be claimed from the wallet that earned them. If you originally used a different wallet provider, try claiming from the Jupiter website at [jup.ag](https://jup.ag) instead.
* **Persistent errors.** If you have enough SOL and the claim still fails, open a ticket at [support.jup.ag](https://support.jup.ag) with your wallet address.
For full details on rewards and ASR, see the [Rewards Hub documentation](/user-docs/earn/rewards-hub/index).
Clean Account lets you recover SOL locked in unused token accounts. It's accessible from the Portfolio section.
The Clean Account prompt may appear as a notification. If dismissed, the feature is still accessible from Portfolio, but the notification won't reappear.
## Reporting a Bug
Make sure you're on the latest version of Jupiter Mobile.
If the issue persists, submit a support request at [support.jup.ag](https://support.jup.ag) with:
* Your wallet address
* Device model and OS version
* A description of the issue and steps to reproduce it
## Support
For all Jupiter Mobile issues.
For onramp delays, KYC, and payment issues.
# Jupiter Mobile Fees
Source: https://docs.jup.ag/user-docs/global/mobile/fees
All fees that apply when using Jupiter Mobile, with links to each product's detailed fee documentation.
This page recaps every fee that applies when using Jupiter Mobile, with links to each product's detailed fee documentation.
## Sends
Jupiter charges no protocol fee on sends; standard Solana transaction fees apply.
**Gasless Send:** when you don't have enough SOL to cover transaction fees, Jupiter pays them for you and applies a surcharge capped at 10% maximum. The surcharge is a fixed amount based on the SOL costs Jupiter covers, not a percentage of the transfer, so larger transfers result in a lower effective percentage. See [Funding & Sending](/user-docs/global/mobile/funding-and-sending) for details.
## Swaps (Native App)
Jupiter Mobile applies its own fee schedule to swaps placed natively in the app. The fee depends on the token pair (bps stands for basis points; 1 bps = 0.01%):
| Pair | Fee |
| -------------------------- | ------------- |
| Stablecoin ↔ stablecoin | 0% (0 bps) |
| SOL ↔ stablecoin | 0.1% (10 bps) |
| LST ↔ stablecoin | 0.1% (10 bps) |
| Bluechip token ↔ any token | 0.1% (10 bps) |
| All other pairs | 0.2% (20 bps) |
| Newly launched tokens | 0.5% (50 bps) |
LST stands for Liquid Staking Token (e.g. JupSOL, jitoSOL): tokens that represent staked SOL while remaining tradable.
This schedule applies only to swaps placed natively in Jupiter Mobile. Swaps made through the in-app dApp browser, or on jup.ag on the web, follow the standard fee schedules of those products. See [Spot fees](/user-docs/trade/spot/fees).
## Limit and Recurring Orders
Limit orders and recurring orders each carry a 0.1% flat fee. See [Swaps & Orders](/user-docs/global/mobile/swaps-and-orders#fees) for minimum amounts and gasless behavior.
## Perps
Perps fees are shown as **Total Fees** when placing an order. See [Perps fees](/user-docs/trade/perps/fees) for the full schedule.
## Lend (Earn)
See the [Jupiter Lend documentation](/user-docs/earn/lend/index) for how deposits work, how rates are determined, and the associated risks.
## Jupiter Spend
Jupiter Spend has its own fees and limits; see [Spend fees and limits](/user-docs/global/spend/fees-and-limits).
# Funding & Sending
Source: https://docs.jup.ag/user-docs/global/mobile/funding-and-sending
How to receive, deposit, send tokens, and use Magic Links in Jupiter Mobile.
## Receiving Tokens
To receive tokens in Jupiter Mobile:
Tap **Deposit** (on the home tab or the wallet tab), then select **Receive funds**.
Copy your Solana deposit address with the **Copy** button, or share the QR code with the sender via **Share**.
You can also copy your wallet address from the account selector at the top center of the home tab (the address copy button is next to the account name).
## Depositing Funds
The **Deposit** button (home tab or wallet tab) opens a sheet with three options:
"Buy with Credit card, Apple Pay & more" opens a Buy USDC flow with a fiat currency selector (e.g. EUR), quick amounts, and payment methods such as Apple Pay.
MoonPay charges fees based on your location, payment method, and the nature of the trade. Review their [pricing disclosure](https://www.moonpay.com/legal/pricing_disclosure) before purchasing.
MoonPay transactions may experience delays due to banks and intermediate payment providers. If funds haven't arrived after several hours, contact MoonPay support at [support.moonpay.com](https://support.moonpay.com/en/).
"Deposit Solana • Bridge Base, Arbitrum or Sui" shows a QR code and your Solana deposit address with **Share** and **Copy** buttons, plus a **Claim Code** button used to claim [Magic Links](#magic-links).
Cross-chain deposits from Base, Arbitrum, or Sui are part of this flow and arrive as USDC; see [Universal Deposit](/user-docs/onramp/deposit/universal-deposit). Ethereum is available on the web and in the extension, not in the app.
"Deposit directly from Phantom Wallet": connect your Phantom wallet, select the token and amount, and initiate the transfer.
## Sending Tokens
The **Send** button (home tab or wallet tab) opens a flow with two tabs: **To Address** ("Send tokens on the Solana network") and **Magic Link** ("Send tokens via a link or QR code").
Tap **Send** and stay on the **To Address** tab.
Choose the token and enter the amount to send, or use the **MAX** / **75%** / **50%** quick amounts.
Enter the recipient address. You can paste an address, select from the address book, choose a recent address, or scan a QR code.
Review the details (amount, token, address) and confirm.
Jupiter Mobile supports sending to **.sol** and **.skr** domains in addition to standard Solana addresses.
Double-check the recipient address before sending. Some scammers create addresses that closely resemble ones you frequently interact with (address poisoning). Transactions on Solana are irreversible.
Sending to multiple addresses at once is not supported. The address book displays addresses you've recently sent tokens to. Manual address entry is not supported.
### Fees on Sends
Jupiter Mobile does not charge protocol fees for sending tokens. You only pay standard Solana transaction fees.
### Gasless Send
Gasless Send lets you transfer tokens when you don't have enough SOL to cover transaction fees. It kicks in automatically when your SOL balance can't cover gas costs. Jupiter pays the SOL fees on your behalf and deducts the equivalent value from the tokens you're sending.
Gasless is designed primarily for onboarding: you receive tokens (e.g. USDC) in a new wallet and can send them without needing to acquire SOL first.
Gasless transactions carry a surcharge capped at 10% maximum. This surcharge is a fixed amount (not a percentage of your trade), so larger transfers result in a lower effective fee. If a transfer is too small for the surcharge to stay within the 10% cap, gasless won't be available for that transaction.
If you send tokens regularly, keeping a small SOL balance in your wallet gives you access to lower fees than gasless.
## Magic Links
Magic Links let you send tokens to anyone, including people who don't have a wallet yet. The sender creates a link with a claim code. The recipient uses this code to claim the tokens.
### Sending a Magic Link
From the **Send** flow, choose the **Magic Link** tab ("Send tokens via a link or QR code"), select the token and amount, and create the link. Share the link or claim code with the recipient.
### Claiming a Magic Link
1. Tap the Magic Link. It opens the app and auto-fills the claim code.
2. Confirm to receive the tokens.
You can also claim manually: go to **Deposit** → **Receive funds** → **Claim Code** and enter the claim code.
1. The link prompts you to install the app and set up a wallet.
2. Once set up, either tap the link again or go to **Deposit** → **Receive funds** → **Claim Code** and enter the claim code manually.
### Cancelling a Magic Link
Unclaimed Magic Links expire automatically after **7 days** and tokens are returned to the sender's wallet.
To cancel a link before it expires, find the pending link and select **Revoke Code**. Tokens are returned to the wallet that created the link.
### Checking Magic Link Status
Open the list of Magic Links created by your wallet and tap any link to see details including creation time and status (active, claimed, expired, or cancelled).
The history sheet's filter tabs are **All** / **Swaps** / **Transfers** / **Limit** / **Recurring**; it no longer includes a Magic Links tab.
If you have Radar notifications enabled, you'll also receive a push notification when a Magic Link is claimed.
### Magic Link Troubleshooting
If a Magic Link expired but tokens weren't returned to your wallet, there may be an issue with your ATA. Open a ticket at [support.jup.ag](https://support.jup.ag) with your wallet address.
# Jupiter Mobile Overview
Source: https://docs.jup.ag/user-docs/global/mobile/index
What Jupiter Mobile is, where it runs, and what it supports.
Jupiter Mobile is a self-custodial, Solana-native wallet built by Jupiter. It provides direct access to Jupiter's core products (swaps, limit and recurring orders, perps, predictions, and lending) alongside wallet management, portfolio tracking, and a dApp browser for the broader Solana ecosystem.
The app is organized around a bottom navigation with five icon-only tabs: home (house icon), a discovery tab (chart icon), Trade (arrows icon), a wallet tab (wallet icon), and Spend (card icon).
## Supported Platforms
Jupiter Mobile is available on:
* **iOS** — requires iOS 17.0 or later
* **Android** — requires Android 9 or later
* **Solana Seeker** — available in the Seeker dApp store
* **Solana Saga**
* [**Play Solana**](https://x.com/jup_mobile/status/1925250675283554468) — Jupiter Mobile is the exclusive wallet provider for Play Solana
## Blockchain Support
Jupiter Mobile operates exclusively on Solana. It supports all Solana tokens, including SPL tokens. Interactions with other blockchains are not supported.
Token-2022 standard tokens with transfer tax features have limited support. See [Swaps & Orders](/user-docs/global/mobile/swaps-and-orders) for details.
Users should not attempt to bypass regional restrictions using VPNs or other methods.
## Security Model
Jupiter Mobile is a **self-custodial wallet**. This means:
* Jupiter does not store your recovery phrase, private keys, or personal data.
* You are solely responsible for securing your recovery phrase.
* If you lose your recovery phrase and access to your device, your wallet cannot be recovered by Jupiter.
Jupiter Mobile relies on Jupiter's APIs and infrastructure for its core functionality. These have been audited by multiple independent firms. The full list of audit reports is available at [dev.jup.ag/docs/misc/audits](https://dev.jup.ag/docs/misc/audits).
Quick Accounts (social login) do not generate a recovery phrase. They use a private key that can only be exported through the Jupiter website, not from within Jupiter Mobile. See [Managing Wallets](/user-docs/global/mobile/managing-wallets#quick-accounts) for details.
## Explore Jupiter Mobile
Create, import, secure, and manage your wallets.
Receive, deposit, send tokens, and use Magic Links.
Market swaps, Limit and Recurring orders, perps, and predictions.
Balances, PnL, token visibility, and NFTs.
Token discovery, market data, and Earn vaults.
Search, dApp browser, notifications, and more.
All fees that apply when using Jupiter Mobile.
Common questions and getting started guides.
# Managing Wallets
Source: https://docs.jup.ag/user-docs/global/mobile/managing-wallets
Creating, importing, securing, and managing wallets in Jupiter Mobile.
Jupiter Mobile is a self-custodial wallet that supports multiple wallet types: recovery phrase wallets, Quick Accounts (social login), watch-only wallets, and hardware wallets (Ledger).
## The Profile Menu and App Settings
Account management starts from the **profile menu** (top left of the home tab). It contains:
* Your current account, with a **Switch** button.
* A **Jupiter ID** section: Verification Status (with states such as "Not started", "In Progress" and "Verified"), Manage, and Notifications.
* **Help & Support**: Settings, FAQ, Support.
* **Sign Out**.
Jupiter Spend is not in this menu: it lives on the Spend tab (card icon, bottom right of the app).
App Settings (profile menu → **Settings**) contains: Security & Privacy, Connected Apps, Preferred Explorer, Background Theme, Jupiter Sync, Help & Support, and About Jupiter. Security & Privacy holds [Biometric Authentication](#authentication-pin-/-biometrics) and [Signing & Permissions](#auto-approve).
## Jupiter ID
The profile menu contains a **Set up Jupiter ID** entry ("Unlock card and other features"). Jupiter ID is a single login for Jupiter's onchain products and payment features, and you can log in with email, Google, or Apple. You can only be logged in to one Jupiter ID at a time; Discord & X are currently not supported as login options and will be logged out if you proceed.
Jupiter ID identity verification (KYC, Know Your Customer) is required to use Jupiter Spend features. For what Jupiter ID is and how verification works, see [Jupiter Spend](/user-docs/global/spend/index).
## Creating a Wallet
When you install Jupiter Mobile for the first time, the onboarding flow guides you through wallet creation. You can choose between:
* **Recovery phrase wallet** — a standard Solana wallet secured by a recovery phrase.
* **Quick Account** — a social login wallet (see [Quick Accounts](#quick-accounts) below).
To create an additional wallet after setup:
Open the profile menu (top left) and tap **Switch**.
Select "Add Account", then choose between:
* **New recovery phrase** — creates a new wallet with a fresh recovery phrase.
* **Existing recovery phrase** — derives a new wallet from a recovery phrase already stored in the app.
Jupiter Mobile is self-custodial and does not have access to your recovery phrase. If you lose it, Jupiter cannot recover your wallet. Write it down and store it in a secure, physical location.
## Importing an Existing Wallet
If you already have a Solana wallet and want to use it in Jupiter Mobile:
Open the profile menu (top left) and tap **Switch**.
Select "Add Account" and enter your recovery phrase. Make sure to enter it exactly as provided, with no changes to spacing or capitalization.
Choose which wallets to import from the phrase.
If you're installing Jupiter Mobile for the first time, you can import during onboarding by choosing the "import existing wallet" option.
## Quick Accounts
Quick Accounts are wallets created through social login (Gmail, Apple, Google, Twitter, or Discord), powered by Privy. They don't require managing a recovery phrase, which makes them more accessible for new users.
To create a Quick Account:
Open the profile menu (top left) and tap **Switch**.
Select "Add Account" → "Social Login", then choose your preferred provider and follow the prompts.
### Exporting Your Quick Account Private Key
Quick Accounts do not have a recovery phrase. Instead, you can export your private key through the Jupiter website. This is **not possible from within Jupiter Mobile**.
Visit [jup.ag](https://jup.ag) in a regular browser (not through Jupiter Mobile's dApp browser).
Tap **Connect** in the top right and select the **Social Login** option. If prompted to use the Jupiter Wallet extension, choose "Continue to Social Login".
Select the same method you used to create the Quick Account. If you used an email or wallet-based method (not Google), select **More Options** to find it. Enter a verification code if prompted.
Once connected, tap your wallet address in the top right to open the mini-portfolio. At the top, tap the **key icon** (between Send and Disconnect) to retrieve your private key.
Save your private key somewhere safe. If you lose access to your social login method, you also lose the only way to retrieve the private key for that wallet. Jupiter cannot help you recover it, as Quick Accounts are fully self-custodial.
## Backing Up Your Recovery Phrase
Jupiter Mobile does not support cloud-based backups. You must write down your recovery phrase and store it in a secure location, ideally offline.
This is the only way to recover a recovery phrase wallet if you lose access to your device.
This section applies to recovery phrase wallets only. Quick Accounts do not have a recovery phrase. See [Quick Accounts](#quick-accounts) for how to export your private key.
## Authentication (PIN / Biometrics)
To enable or manage biometric authentication:
Open the profile menu (top left) → **Settings**.
Go to **Security & Privacy** → **Biometric Authentication** to configure your preferences.
## Auto-Approve
Auto-approve lets Jupiter Mobile sign transactions on selected sites without showing a confirmation prompt each time. It is supported for [Jupiter](https://jup.ag/) and [Meteora](https://meteora.ag/).
Open the profile menu (top left) → **Settings**.
Go to **Security & Privacy** → **Signing & Permissions**, then toggle auto-approve per site.
When enabled, transactions on the selected sites are signed automatically without a manual confirmation prompt. This speeds up the experience but removes the opportunity to review each transaction before submission. Only enable this if you understand the tradeoff.
To review or revoke the sites your wallet is connected to, see [Managing Connected Apps](#managing-connected-apps).
## Switching Between Wallets
There are two ways to switch accounts:
* Open the profile menu (top left) → tap **Switch** → choose your account.
* Tap the account selector at the top center of the home tab.
Each account has a name and a customizable emoji to identify it.
## Watch-Only Wallets
Watch wallets let you view a wallet's portfolio balance, DeFi positions, and transaction history without being able to execute transactions. You cannot swap, send, deposit, or use Earn from a watch wallet.
Open the profile menu (top left) and tap **Switch**.
Select "Add Account" → "Watch Account". Enter a name and the wallet address you want to monitor.
A watch wallet cannot be converted into a full wallet. If you want to control the watched wallet, you need to import it separately using its recovery phrase or private key via **Add Account**.
## Hardware Wallets (Ledger)
Jupiter Mobile supports Bluetooth only Ledger devices. USB-based Ledger devices are not compatible due to Ledger SDK limitations.
Make sure your Ledger is already paired with your phone in your system Bluetooth settings.
Open the profile menu → "Switch" → "Add Account" → "Ledger". Select your device and continue.
Only one Ledger device can be connected at a time.
Ledger is the only hardware wallet supported on Jupiter Mobile. Other hardware wallets such as Trezor or Tangem cannot be connected in the app. On [jup.ag](https://jup.ag), Trezor is supported directly and Tangem can be connected via the QR (WalletConnect) option. See [Connecting on jup.ag](/user-docs/manage/connect-wallet).
If you're having trouble signing transactions with Ledger:
* Make sure **Blind Signing** is enabled on your Ledger.
* Try removing the Ledger pairing from your phone's Bluetooth settings and reconnecting.
* If the issue persists, open a ticket at [support.jup.ag](https://support.jup.ag).
## Solana Seeker Setup (Seed Vault)
If you're using Jupiter Mobile on a Solana Seeker device, you can import an existing recovery phrase into the Seeker's Seed Vault and connect it to Jupiter Mobile.
On your Seeker device, go to Settings → Seed Vault.
Tap "Add a new seed phrase" → "Import from a wallet".
A secure screen will appear (screenshots are disabled on this screen). Enter your 12 or 24-word recovery phrase.
Create a passcode for this recovery phrase and set a nickname to identify it.
Launch the app on your Seeker device.
Open the profile menu → "Switch" → "Add Account" → "Import Account". Enter your recovery phrase and follow the prompts.
Follow the on-screen instructions to authorize the imported recovery phrase from your Seed Vault.
Once authorized, your wallet will appear in your account list and you can manage its assets from Jupiter Mobile.
Never share your recovery phrase with anyone. Always store a backup in a secure, offline location.
## Removing a Wallet
Open the profile menu (top left) and tap **Switch**.
Select **Manage Account** → **Remove Account** and confirm.
The wallet is removed from Jupiter Mobile. This does not delete the wallet onchain. If you have the recovery phrase, you can re-import it at any time.
## Exporting Your Recovery Phrase or Private Key
This applies to recovery phrase wallets only. For Quick Accounts, see [Exporting Your Quick Account Private Key](#exporting-your-quick-account-private-key).
Open the profile menu (top left) and tap **Switch**.
Select **Manage Account**.
Choose **Show Recovery Phrase** or **Show Private Key**. Copy it and store it securely.
Anyone with your recovery phrase or private key has full control over your wallet. Never share it and never store it in a place others can access.
## Customizing a Wallet
Open the profile menu (top left) and tap **Switch**.
Go to **Manage Account** → **Customize Account**. You can rename your wallet and choose an emoji and background color to identify it.
## Managing Connected Apps
To view and manage dApps connected to your wallet:
Open the profile menu (top left) → **Settings**.
Select **Connected Apps** to see all dApps your wallet is connected to. You can disconnect individual dApps or select **Disconnect from all** to revoke all connections.
## Jupiter Sync (Mobile ↔ Desktop)
Jupiter Sync links Jupiter Mobile with the [Jupiter Wallet browser extension](/user-docs/manage/extension-wallet) on desktop. It works in both directions — **Mobile to Desktop** and **Desktop to Mobile** — and in both cases you scan a QR code displayed on the computer screen with your phone.
To bring your mobile wallet into the extension:
In the Jupiter Wallet extension, choose **Import an existing wallet** → **Jupiter Mobile**. A "Mobile to Desktop" QR code appears on the screen.
In Jupiter Mobile, open the profile menu (top left) → **Settings** → **Jupiter Sync**, and select **Mobile to Desktop**.
Scan the QR code shown on your computer screen to complete the sync.
# Portfolio
Source: https://docs.jup.ag/user-docs/global/mobile/portfolio
Balances, the home and wallet tabs, PnL, token visibility, and NFTs in Jupiter Mobile.
Jupiter Mobile tracks your total net worth by combining liquid token balances with DeFi (decentralized finance) positions across the Solana ecosystem. Close to every protocol on Solana is tracked, and the list is maintained manually by the Jupiter portfolio team.
Your portfolio lives in two places: the home tab (house icon in the bottom navigation) and the wallet tab (wallet icon).
## Home Tab
The home tab (house icon) is the app's starting screen. From top to bottom:
* **Profile menu** (top left): your current account with a **Switch** button, a **Jupiter ID** section (Verification Status, Manage, Notifications), **Help & Support** (Settings, FAQ, Support), and **Sign Out**. See [Managing Wallets](/user-docs/global/mobile/managing-wallets) for details. Jupiter Spend is not in this menu: it lives on the Spend tab (card icon, bottom right).
* **Account selector** (top center): the account name with a customizable emoji, and an address copy button next to it.
* **Total balance** with a 1D P\&L (profit and loss) figure below it. This is the Networth P\&L; see [PnL](#pnl) below.
* **Action buttons** (eight): Send / Deposit / Scan / Swap and Perps / Earn / Refer / More. The **More** menu contains Campaigns / History.
* **Spend balance card row**: shows the card and its balance; opens the Spend tab.
* **Watchlist**: tokens you starred (star icon on tokens), with price, market cap, 24h change, and verification badges.
* **News**: see below.
### News
The News section shows an update timestamp and the tabs Spotlight / Cooking / RWA (Real World Assets) / DeFi / Meme. Entries include macro news and per-token news with verification badges.
News content is informational only. It is not an endorsement or investment recommendation.
## Wallet Tab
The wallet tab (wallet icon) shows your **Total Value** with its 1D change, the buttons **Send** / **Deposit** / **History**, and the sections **Hot Tokens** and **Hot Stocks** (price, market cap (MC) or volume (Vol), 24h change, and verification badges).
The **History** button opens the history sheet, with the filter tabs **All** / **Swaps** / **Transfers** / **Limit** / **Recurring**.
## PnL
Jupiter Mobile shows P\&L in two different ways:
**Networth P\&L** is the 1D figure displayed under your total balance on the home tab. It compares your current total net worth to the last known snapshot stored in Jupiter's database. The scope includes everything tracked: liquid tokens and DeFi positions (lending, perps, staking, etc.).
The time window is ideally **24 hours**, but it depends on when the last snapshot was recorded. If the previous snapshot is older (2 days, 3 days, etc.), the app indicates the actual period covered.
**Holdings P\&L** only covers token holdings (no DeFi positions) and uses a strict **rolling 24-hour window**.
Networth P\&L and Holdings P\&L can show different numbers because they cover different scopes and time windows. If you want a strict 24h view of your tokens only, use Holdings P\&L. For a complete picture including DeFi positions, use Networth P\&L.
## Managing Token Visibility
Some low-liquidity or unverified tokens are hidden by default to reduce spam. To manage which tokens are visible:
Scroll to the bottom of your token list and select **Manage tokens**.
Tap the eye icon next to any token to hide or unhide it.
## Spam Tokens
Scammers sometimes send fake or duplicate tokens to wallets, hoping users will interact with them. If you see an unrecognized or unverified token, tap on it, open the three-dot menu, and select **Hide**.
Do not attempt to swap or interact with unknown tokens. Some are designed to drain your wallet when you approve a transaction.
## NFTs
You can view your NFTs (non-fungible tokens) from the left sidebar.
Jupiter Mobile currently supports viewing NFTs only. Sending and trading NFTs are not available yet.
# Swaps & Orders
Source: https://docs.jup.ag/user-docs/global/mobile/swaps-and-orders
Trading in Jupiter Mobile: Market swaps, Limit orders, Recurring orders, perps, and predictions in the Trade tab.
Jupiter Mobile provides access to Jupiter's trading products directly from the app. The Trade tab (arrows icon in the bottom navigation) has up to three top tabs: **Swap**, **Perps**, and **Predictions**. Predictions availability depends on your region: where it is not available, the Trade tab only shows Swap and Perps. This page covers how to use these features within Jupiter Mobile, including mobile-specific behavior, fees, and limitations.
Swaps and orders are self-only: output tokens are always sent to your own wallet. You cannot specify a different recipient address. To send tokens to someone else, use the [Send](/user-docs/global/mobile/funding-and-sending#sending-tokens) feature instead.
For detailed documentation on how these products work under the hood:
Routing and execution mechanics.
How limit orders are filled onchain.
How dollar-cost averaging (DCA) execution works.
## Swap
Within the Trade tab, **Swap** has a mode selector with three pills: **Market**, **Limit**, and **Recurring**, plus a history icon. All three modes use the same layout: a Sell panel and a Buy panel, a numeric keypad, and **MAX** / **50%** / **25%** quick amount buttons.
### Market Swap
Market is the instant swap, executed via Jupiter Ultra. Slippage, MEV (Maximal Extractable Value) protection, and routing are all handled automatically. You only select the tokens and the amount, Ultra optimizes the rest for best price and execution.
Navigate to the **Trade** tab (arrows icon) → **Swap** → **Market**.
Choose the input and output tokens and enter the amount with the keypad, or use the **MAX** / **50%** / **25%** quick amounts.
Tap the right arrow (>) to check execution parameters.
Confirm the trade. Tokens are sent to your wallet immediately upon execution.
A toast notification appears in the app when your swap executes successfully.
### Limit Orders
Limit orders let you set a target price at which your trade should execute. The order remains open until the price is reached or the order expires.
Navigate to the **Trade** tab → **Swap** → **Limit**.
Enter the token and amount on the sell side.
Tap the right arrow (>) next to "Trigger when x \[Token A] = y \[Token B]" to input your trigger price and expiration time.
Review the order summary, save changes, and place the order.
If you have Radar notifications enabled, you'll receive a push notification when your limit order fills.
For how limit orders are executed onchain, see [Limit Orders](/user-docs/trade/spot/limit-orders).
### Recurring Orders
Recurring orders let you split a trade into multiple smaller orders executed at regular intervals (similar to dollar-cost averaging).
Navigate to the **Trade** tab → **Swap** → **Recurring**.
Enter the token and total amount on the sell side.
Tap the right arrow (>) next to "Recurring every x minutes over y orders" to configure:
* Execution interval between orders
* Number of orders
* Optional price range for execution
Review, save changes, and place the recurring order.
For how recurring orders are executed onchain, see [Recurring Orders](/user-docs/trade/spot/recurring-orders).
### Minimum Order Amounts
| Order type | Minimum (USD equivalent) |
| --------------- | ------------------------ |
| Limit Order | \$5 |
| Recurring Order | |
### Token Support Restrictions
Token-2022 tokens with transfer tax features are **not supported** on Limit and Recurring orders. This is because token creators can modify transfer tax rates at any time, which could lead to users receiving significantly less value than expected at execution time.
Token-2022 tokens are supported on Market swaps (via Ultra).
## Perps on Mobile
The **Perps** tab in the Trade tab lets you trade perpetual futures (perps) on the SOL, ETH, and BTC markets. Each market shows the current price with 24h Vol / 24h High / 24h Low figures, a chart with 1m / 1h / 4h / 1D / More intervals, **Positions** / **Open Orders** / **History** tabs, and **Long** / **Short** buttons.
The order sheet has **Long** / **Short** toggles, a leverage selector (e.g. 10x), and a **Market** / **Limit** order type selector — Limit adds −1% / −2% / −5% quick presets for the limit price. You pay in USDC, and the sheet displays the **Entry Price**, **Liquidation Price**, and **Total Fees** before you place the order.
Perpetual futures involve leverage and liquidation risk: your position can be liquidated and you can lose your collateral. Read [how Jupiter Perps work](/user-docs/trade/perps/index) before trading.
For how perps work, see the [Perps documentation](/user-docs/trade/perps/index). For the full fee schedule, see [Perps fees](/user-docs/trade/perps/fees).
## Predictions on Mobile
The **Predictions** tab in the Trade tab shows featured market cards (e.g. Sports, Crypto) and a Categories row (Live, FIFA, Sports, Crypto, Esports, Culture, Tech, Finance). Each market page has a probability chart (4H / 1D / ALL), outcome buttons priced in cents, plus Spreads, Totals, and Odd / Even sections (each with a Rules link), and **Positions** / **Open Orders** / **History** tabs.
Prediction outcomes are priced in cents. If the outcome you buy does not occur, the amount placed is lost entirely.
For how prediction markets work, see the [Predict documentation](/user-docs/trade/predict/index).
## Fees
Jupiter Mobile applies its own fee schedule to swaps placed natively in the app. The fee depends on the token pair (bps stands for basis points; 1 bps = 0.01%):
| Pair | Fee |
| -------------------------- | ------------- |
| Stablecoin ↔ stablecoin | 0% (0 bps) |
| SOL ↔ stablecoin | 0.1% (10 bps) |
| LST ↔ stablecoin | 0.1% (10 bps) |
| Bluechip token ↔ any token | 0.1% (10 bps) |
| All other pairs | 0.2% (20 bps) |
| Newly launched tokens | 0.5% (50 bps) |
LST stands for Liquid Staking Token (e.g. JupSOL, jitoSOL): tokens that represent staked SOL while remaining tradable.
This schedule applies only to swaps placed natively in Jupiter Mobile. Swaps made through the in-app dApp browser, or on jup.ag on the web, follow the standard fee schedules of those products. See [Spot fees](/user-docs/trade/spot/fees).
Other trade types:
| Trade type | Fee |
| --------------- | ------------------------------------------------------- |
| Gasless swap | Market swap fee + gasless surcharge (capped at 10% max) |
| Limit order | 0.1% flat |
| Recurring order | 0.1% flat |
### Gasless Swaps
Gasless swaps let you trade tokens when you don't have enough SOL to cover transaction fees. Gasless is not a mode you select: it activates automatically when your SOL balance can't cover gas costs.
When gasless kicks in, Jupiter pays the SOL fees (signature fees, priority fees, rent) on your behalf and deducts the equivalent value from the tokens involved in the swap.
**Surcharge:** gasless transactions carry a surcharge capped at 10% maximum. This surcharge is a fixed amount based on the SOL costs Jupiter covers, not a percentage of your trade size. In practice, the larger the trade, the smaller the effective percentage. If a trade is too small for the surcharge to stay within the 10% cap, gasless won't be available for that transaction.
Gasless is designed primarily for onboarding: you receive tokens (e.g. USDC) in a new wallet and can start swapping without needing to acquire SOL first.
If you trade regularly, keeping a small SOL balance in your wallet gives you access to lower fees than gasless.
## Trading Volume and Fees Saved
To see your trading volume:
Navigate to the **Trade** tab (arrows icon).
Tap **Fees saved**. This displays your Jupiter Mobile trading volume since the start of 2025, total swaps completed, and estimated fees saved. You can share this summary on social media.
"Fees Saved" is an estimate based on fee comparisons with other platforms. These savings are applied automatically through Jupiter Mobile's fee structure and cannot be claimed or withdrawn separately.
## Viewing Trade History
Open the wallet tab (wallet icon) → **History**, or the home tab → **More** → **History**. You can filter by type: **All**, **Swaps**, **Transfers**, **Limit**, or **Recurring**.
## Troubleshooting
This typically means:
* Insufficient liquidity for the token pair.
* The trade amount is too large relative to available liquidity, or too small for reliable execution.
* The token may have trading restrictions that prevent routing.
Try adjusting the order size and verifying that the token has liquidity on Solana DEXs.
* Make sure you're using the latest version of Jupiter Mobile.
* Verify you have at least 0.01 SOL for transaction fees (unless using gasless).
* Check your internet connection.
* If using Ledger, try re-pairing the device via Bluetooth.
If problems persist, open a ticket at [support.jup.ag](https://support.jup.ag) with your wallet address and device details.
# Campaigns
Source: https://docs.jup.ag/user-docs/global/spend/campaigns
Limited-time promotional campaigns and special offers for Jupiter Spend users.
## Ambassador Referral: 0% FX Fees
Sign up with a Jupiter Global Ambassador's referral code and get your **FX fees back for your first 30 days**, up to **US\$100 of fees**. Jupiter Global Ambassadors can offer this to the people they refer.
### At a Glance
* **0% FX fees** for **30 days**, starting the day you sign up
* **Up to US\$100 of fees** back
* **Paid back at the end of the 30 days**, not waived at the till
* **New users** signing up with **a Jupiter Global Ambassador's referral code**
* Available **wherever Jupiter Spend works**
You need to be a **new Jupiter Mobile user**, and you need to enter a **Jupiter Global Ambassador's referral code** when you sign up. If you already have an account, or you signed up without that code, this offer isn't on your account.
Not sure if your code is an Ambassador's? Ask the person who gave it to you.
**We rebate the FX fees you paid, up to US\$100.**
You pay FX fees as normal while you spend. At the end of the 30 days we add them up and give them back.
It's a rebate of what you paid, so it's never more than that.
Anything labelled as an **FX fee on your transaction in the Jupiter Mobile app**. Open any transaction and you'll see the fee, so you can check your own total against what we pay back.
The rebate is on **card spend**, because that's where the FX fee sits. **QR payments don't carry a separate FX fee**, so there's nothing to rebate on them. Keep paying by QR wherever it suits you.
**Your 30 days start the day you sign up.** Not when your ID check clears, and not when your card arrives. Sign up on 3 August and your window runs to 2 September.
**Your rebate lands in your Rewards Balance, and you claim it from there.** It doesn't arrive on its own. Tap claim and it moves into your Jupiter Spend balance.
**The claim never expires.** There's no deadline, so it'll wait for you.
We total your FX fees and credit them at the end of your 30 days.
No. Every FX fee you pay in the window comes back, up to the US\$100 cap, whether that's one transaction or fifty.
* **QR payments.** No FX fee is charged, so there's nothing to rebate.
* **Spending in USD.** No conversion means no FX fee.
* **Anything after day 30.** Normal FX fees apply from then on.
* **FX fees above the US\$100 cap.** Everything past US\$100 stays paid.
Some transactions are excluded. See [Ineligible Transactions](/user-docs/global/spend/rewards-and-referrals#ineligible-transactions-for-cashback-%26-rewards).
Yes. It **stacks with any other Jupiter offer you qualify for**, and it doesn't reduce cashback you earn elsewhere.
***
## VIP Matching Program
The VIP Matching Program has ended. It ran for July and August 2026 and closed at the end of August. A successor rewards program will be announced; this section stays as a reference in the meantime.
The VIP Matching Program matched proven VIP status from another card issuer with a flat 3% cashback on the Jupiter Card, for July and August 2026. Applications are closed.
### How It Works
The VIP Matching Program rewarded cardholders who brought proven VIP status from another card issuer whose program offered more than 2% cashback. Once the status was verified, the cardholder earned a flat 3% cashback on eligible Jupiter Spend transactions for the duration of the program.
### Cashback Rate
Eligible cardholders earned a flat **3% cashback**, up to a monthly cap of **\$300** per calendar month. To qualify, the other provider's VIP program had to offer cashback above 2%. Cashback was credited to the Rewards balance after each transaction fully settled, not at the point of payment.
The same exclusions apply as our standard cashback. Ineligible transactions do not earn cashback, see [Ineligible Transactions](#ineligible-transactions).
### Eligibility
Any card issuer qualified, as long as the VIP program offered cashback above 2%. Existing Jupiter users also qualified.
### How to Apply
Take two screenshots - (1) your VIP-status email from the other provider (clearly showing the sender, the date, and your tier with its cashback rate), and (2) your VIP status inside the other provider's app.
Pick whichever is easier. Both go to the same team.
**Option A. Apply via form**
Submit your details through the [VIP Matching application form](https://docs.google.com/forms/d/e/1FAIpQLSdsKZccBCwsaMPYuojDVqeo60m-z7mxTr4gCjqKHdZtQIujPA/viewform).
**Option B. Apply by email**
Email **[VIP@jupiter.global](mailto:VIP@jupiter.global)** with:
* Subject: **VIP Tier Matching**
* Your **Jupiter ID** or **Spend email** (find these in the **Jupiter Mobile** app under your account/profile). The email you send from may be different.
* Your other card's **issuer**, **VIP tier**, and **current cashback %**
* **Screenshots** of (a) that card's official VIP/cashback email and (b) your in-app VIP status on that card
We review your submission within 72 hours. Once approved, your 3% cashback applies to eligible Jupiter Spend transactions.
Once you're approved, deposit at least **\$1,500** in fresh funds into your card to activate your matched cashback rate. Only deposits made after approval count toward the \$1,500 - your existing balance and earlier deposits do not.
Attach **screenshots**, not PDFs. Questions? Email [VIP@jupiter.global](mailto:VIP@jupiter.global).
### Program Duration
The program ran for **July and August 2026** and ended at the end of August. The monthly cap applied separately to each calendar month.
### Ineligible Transactions
Ineligible transactions do not qualify for VIP Matching cashback. The exclusions are the same as those listed under Ineligible Transactions in the [standard Rewards & Referrals terms](/user-docs/global/spend/rewards-and-referrals#ineligible-transactions-for-cashback-%26-rewards).
We reserve the right to verify all submitted proof and to adjust, withhold, or reverse rewards at any time. Falsified or fraudulent submissions will be rejected.
# Jupiter Spend FAQ
Source: https://docs.jup.ag/user-docs/global/spend/faq
Frequently asked questions about Jupiter Spend: cards, QR Pay, deposits, transfers, and referrals.
## General
Jupiter Spend is a set of regulated financial services integrated into the Jupiter app. Built on the Solana blockchain, it allows users to convert USDC into fiat and access traditional payment infrastructure (card payments, QR Pay, and bank transfers) directly from the app.
Jupiter Spend is available in selected countries. Availability depends on your country of residence and applicable regulations. The full country list is on the [Jupiter Card](/user-docs/global/spend/jupiter-card#supported-countries) page.
Open the Jupiter app, tap the profile icon in the top-left corner, and select "Set up Jupiter ID". Sign in with an email, Google, or Apple account, then complete identity verification from the Verification Center. Verification has five steps: provide an identity document, verify your phone number, perform a liveness check, provide personal information, and complete a short questionnaire. In APAC regions, a proof of address is also required. Verification typically takes a few minutes.
Identity verification is required by law to help prevent fraud, money laundering, and misuse of financial services. It is a standard requirement for any regulated financial product, and is required to access any Jupiter Spend feature.
Yes. You must be at least 18 years old to apply for the Jupiter Card and use Jupiter Spend.
Verification typically takes a few minutes. If your application is flagged for manual review, it can take longer, typically 3 to 5 working days.
Proof of address is required for users in APAC regions. Accepted documents include:
* Utility bills (electricity, water, heating, gas, sewerage, waste disposal, house/elevator maintenance)
* Telecom bills (phone, internet, TV)
* Bank statements
* Tax invoices
This list is not exhaustive. If your document is rejected, you can resubmit a different accepted document.
Your funds are handled through regulated financial partners, and balances are held and settled according to regulatory requirements. Jupiter does not take custody of your DeFi wallet funds. Card transactions are protected by industry-standard security, monitoring, and controls. The Jupiter Card operates on the Visa network, which includes chargeback protections — if a transaction is fraudulent or a merchant fails to deliver, you can dispute the charge through your card issuer (Rain or DCS). You can also freeze your card instantly in the app if anything looks suspicious.
Jupiter ID is the account you use to sign in to the Jupiter app, with an email, Google, or Apple login. It includes an identity verification layer required to use Jupiter Spend: verify once, then access the Card, QR Pay, and Remittance without repeating the process. You can only be logged in to one Jupiter ID at a time. Discord and X logins are currently not supported.
No. Once identity verification is complete, the Jupiter ID cannot be deleted. Jupiter does not store or process identity documents directly — all verification data is handled by SumSub.
No. Jupiter ID is not linked to your DeFi wallets. It is used only for identity verification and Jupiter Spend services. Jupiter does not take custody of your DeFi wallet funds, and Spend mode activity is kept separate from your onchain DeFi activity.
No monthly or annual maintenance fees. Any applicable transaction fees (such as FX conversion on non-USD card payments) are shown before confirmation. See [Fees & Limits](/user-docs/global/spend/fees-and-limits) for the full breakdown.
Yes. The Spend balance can be displayed in USD (default) or another currency such as EUR, GBP, AUD, BRL, CAD, CNY, or HKD, using the currency selector next to the balance. This only changes how the balance is displayed. The balance itself is held in USD.
Use the "Forgot Password" or "Need help signing in" option on login to start recovery. If you have also lost access to your registered email or phone, contact support.
No. It is not currently possible to change the email associated with your Jupiter ID. If you have lost access to your registered email, contact support.
In-app support is available.
***
## Cards
The Jupiter Card uses credit-card infrastructure, which generally offers stronger payment networks and higher merchant acceptance than many debit or prepaid crypto cards. This means fewer declines, smoother refunds and disputes, and more consistent performance, especially for online purchases, travel, and subscriptions.
There is no annual fee to hold the card, and USDC deposits are credited one-to-one with no fees. The only standard fee is the FX conversion fee on non-USD payments: 1% with Rain, 1.8% with DCS. See [Fees & Limits](/user-docs/global/spend/fees-and-limits) for the full breakdown.
Spending limits depend on your card issuer:
* **Rain** — no spending limits.
* **DCS** — daily limit of \$50,000 and annual limit of \$990,000.
Your card issuer is determined by your country of residence. See [Fees & Limits](/user-docs/global/spend/fees-and-limits) for the full breakdown.
The Jupiter Card is available in selected countries where card issuance is supported. Availability depends on your country of residence and regulatory requirements. The full country list is on the [Jupiter Card](/user-docs/global/spend/jupiter-card#supported-countries) page.
1. Open Apple Wallet and tap the **+** icon in the top-right corner.
2. Select **Debit or Credit Card** and tap **Continue**.
3. Enter your card details (found under "Show Details" in the Jupiter app).
4. Complete verification in Apple Wallet.
1. Open Google Wallet and tap **+ Add to Wallet**.
2. Select **Payment method** and enter your card details manually.
3. Accept the issuer's terms and choose a verification method (SMS or email).
4. Enter the OTP to verify your card.
No Jupiter fees apply to adding or using the card via Apple Pay or Google Pay. The standard FX fee, set by the issuer, still applies on non-USD payments.
Yes. The Jupiter Card works anywhere Visa is accepted, regardless of where you are. Your card issuer (Rain or DCS) is determined by your country of residence at the time of KYC, not by where you use the card. If you pay in a non-USD currency while abroad, the standard FX conversion fee applies (1% Rain, 1.8% DCS).
Refunds can take up to 7 business days to settle back into your card balance. If the original transaction is still pending, the charge is reversed directly. If it has already settled, the refund appears as a separate credit marked "Reversed" under the original transaction.
If the original transaction is still pending (not yet authorized or settled), the full amount is reversed at no cost. If the transaction has already been authorized or settled, the refund is processed at the FX rate of the day the refund is issued, not the original transaction rate. The FX fee on the original payment is not refunded.
When a transaction is authorised but not captured by the merchant, the funds are held as a pending authorisation on your card balance. The hold can take up to 30 days to drop, depending on the merchant. This timing is set by the merchant and is not controlled by Jupiter. Once the authorisation drops, the funds are released back to your balance.
Yes. A frozen card does not block incoming refunds. The refund is still credited to your card account, even while the card is frozen. If you are expecting a refund and have any concern about its status, contact support with the original transaction details.
This is region-dependent due to regulatory requirements. Global withdrawal support is being rolled out progressively. Check the app for current availability in your region. Note that only USDC deposits can be withdrawn to fiat; USDT deposits cannot.
Not yet. The Jupiter Card is currently digital-only, accessible through the Jupiter app. A physical card is planned by the end of 2026.
Freeze your card immediately from the Jupiter app to block any further transactions. Then contact support — the team will cancel the existing card and issue a replacement.
You can freeze your card instantly through the Jupiter app at any time. The card can also be unfrozen from the app when the issue is resolved. The Jupiter Card operates on the Visa network and benefits from standard consumer protections, including chargeback and dispute mechanisms.
Yes. From the app, select the date range you want and request the export; the file is sent to you by email. This is a transaction history export rather than a formal bank-style statement.
No. The Jupiter Card is digital-only today, so it cannot be used at an ATM and has no PIN. ATM withdrawals still appear in the cashback exclusion lists, which cover categories that do not earn rewards regardless of whether the card supports them.
***
## QR Pay
Jupiter QR Pay is a scan-to-pay solution available in the Asia-Pacific region. It supports merchant payments directly from your Spend account. Open the app, tap the scan icon, and scan the merchant QR code to pay.
QR Pay depends on your card. In some countries, cards activated after a certain date do not support QR Pay yet. See [Which Cards Support QR Pay](/user-docs/global/spend/qr-pay#which-cards-support-qr-pay) for the full table.
QR Pay is currently available on DCS-issued cards only. If your card supports QR Pay, you can pay at supported merchants in Cambodia (KHQR), Indonesia (QRIS), Laos (LAO QR), Malaysia (DuitNow), Mongolia (QPay), the Philippines (QR Ph), and Vietnam (VietQR). Singapore (SG QR) and Thailand (PromptPay) are temporarily unavailable.
Look for QR payment logos at the merchant when scanning. P2P (person-to-person) QR payments are available only in certain regions.
Payments are settled in the merchant's local currency. Your USD balance is converted at the market rate, with no markup and no hidden fees.
No. There are no fees for either the payer or the recipient, including FX conversion.
Yes. The daily limit is \$5,000 and the per-transaction limit is \$500.
No. QR Pay transactions are not eligible for cashback. Only Jupiter Card purchases earn cashback. See [Rewards & Referrals](/user-docs/global/spend/rewards-and-referrals) for details.
The most common reasons are insufficient balance, an unsupported merchant QR format, or a connectivity issue. Check your balance, make sure you are connected to the internet, and try again. If the issue persists, contact support.
***
## Deposit
Open the Spend tab, tap **Deposit**, and select your method on the Add Money screen. Deposits typically reflect in your balance within 4 minutes.
USDC and USDT. No other tokens are supported. Note that only USDC deposits can be withdrawn to fiat; USDT deposits cannot.
USDC deposits are supported on Solana, Sui, Arbitrum, and Base; USDT deposits are supported on Solana. Always select the correct network before sending. Depositing on an unsupported network may result in permanent loss of funds.
Most deposits arrive within 4 minutes after the required onchain confirmations. Confirmation requirements vary by network. During congestion, deposits may take longer.
Jupiter does not charge any deposit fees. Standard onchain network fees still apply and are paid to the network. This network cost is a flat amount that depends on the deposit network: around \$0.30 on Arbitrum and Base, and around \$0.10 on Sui. Because it is flat, it can look large on a small deposit.
On Solana, there is no flat network cost. However, if the receiving address has no USDC token account yet, a one-time account creation cost (around 0.002 SOL, set by the network) is added. With Gasless Send, this cost is deducted in USDC from the amount sent.
There is no minimum deposit.
Check the transaction status on the relevant blockchain explorer using your transaction hash. If it is confirmed onchain but has not appeared in your balance after 30 minutes, contact support and include your transaction hash and deposit address.
Yes, by bank transfer. Incoming transfers received on your Jupiter Spend virtual accounts (USD, EUR) credit your Spend balance directly. Crypto deposits are made in USDC or USDT.
***
## Transfer
Bank Transfer (Global Fiat Remittance) lets you send and receive fiat through virtual accounts, SWIFT transfers, and local payouts. Transfers are powered by our partner Noah, providing fast, low-cost global payouts in 15 local currencies.
You can send to bank accounts in over 200 countries via SWIFT. Local payouts are also available in 15 supported currencies. The full list is visible in the app when selecting a destination.
Local payouts are available in: AED, BRL, CAD, EUR, GBP, IDR, INR, MYR, NGN, PHP, SGD, THB, TRY, USD, VND. Support for JPY, MAD, MXN, SAR, and TWD is planned. For other destinations, transfers are sent via SWIFT in USD or EUR. Conversion is done at the market rate.
Transfer timing depends on the destination country and the receiving bank. Most transfers arrive within 1-3 business days.
Yes. Both deposits and payouts carry a fixed fee plus a variable fee, which vary by rail and destination currency. Currency conversions are done at the market rate. See [Fees & Limits](/user-docs/global/spend/fees-and-limits#remittance) for the current tables.
You need the recipient's full name, bank name, account number, and routing details required by the country (for example SWIFT/BIC or US routing number). The app prompts the exact fields needed for each country.
The minimum transfer is \$1 USD equivalent, and each transfer is capped at \$10,000. High-value transfers may require additional verification.
Yes. Once your Jupiter ID is verified, you receive virtual accounts in USD and EUR that can receive incoming transfers. EUR account availability may depend on your country of residence.
Transfers can fail due to incorrect recipient details, bank compliance holds, or network issues on the receiving end. If your transfer is delayed beyond the estimated window, contact support with your transfer reference number. Failed transfers are automatically refunded to your balance.
Yes. All outbound transfers are screened by our regulated partner as part of standard AML/CTF procedures. Transfers flagged for review may be delayed pending additional verification, and supporting documentation may be requested for large or unusual transfers.
***
## Referral
Invite friends to Jupiter Spend using your unique referral link. When they sign up, complete KYC, and start spending, both of you earn rewards.
Open the Rewards screen and tap **Refer**. You can copy your link or share it directly via WhatsApp, Telegram, SMS, or any other app.
You earn \$10 for each friend who signs up through your link, completes KYC, and spends at least \$50 on their Jupiter Card within 30 days of KYC approval.
Your friend earns \$20 once they spend \$1,000 on their Jupiter Card within 30 days of card activation.
Qualifying spend includes Jupiter Card purchases at accepted merchants. Refunds, reversals, fees, P2P transfers, ATM withdrawals, and QR payments do not count toward the spending milestones.
Your friend has 30 days from KYC approval to spend \$50 (for your reward), and 30 days from card activation to spend \$1,000 (for their reward). The two windows start from different dates.
Rewards are credited to your Rewards balance once the qualifying milestone is reached. Reward amounts are denominated in USD and held in USDC on the Rewards balance.
The referral expires and no reward is paid for that referral. Your friend can still use Jupiter Spend normally.
No. Self-referrals and duplicate account creation are detected and blocked automatically. Accounts flagged for this will have their rewards forfeited and may be suspended.
No. There is no cap on the number of qualifying referrals or on the rewards you can earn through the program.
***
## Cashback
Every qualifying Jupiter Card purchase earns cashback automatically. It is credited to your Rewards balance after the transaction settles. No activation is needed.
All qualifying Jupiter Card purchases earn a base cashback rate of 2%, up to a monthly cap of \$100. You can raise your rate to 4% (cap \$200) for a given month by referring at least 2 qualifying people during the previous calendar month. Referring only 1 person does not unlock the higher rate. Your current rate and monthly progress are visible on the Rewards screen.
Refer at least 2 qualifying people during a calendar month. A qualifying referral is a friend who completes KYC and spends at least \$50 on their Jupiter Card. If you reach 2 in a given month, your cashback rate rises to 4% (with a \$200 cap) for the following month. Referring only 1 person does not unlock the higher rate.
Cashback is credited after the transaction fully settles, not at the point of payment. While a transaction is pending, a "Processing" entry appears in the Rewards tab. Once settlement is confirmed, it updates to earned and is added to the available balance.
In the Rewards tab. You will find your total cashback earned, a transaction-by-transaction history, your current rate, and your monthly progress toward the cap. Each transaction in your spending history also shows the exact cashback earned for that purchase.
Your rewards balance is held in USDC. When you withdraw to your card balance, it is credited instantly with no fees. Direct withdrawal from the Rewards balance to an external wallet is not available; move the funds to your card balance first.
Yes. You can transfer any amount from your Rewards balance to your card balance at any time. The withdrawal is instant with no fees. Direct withdrawal from the Rewards balance to an external wallet is not available; once in your card balance, funds can leave Spend through the withdrawal options available in your region.
Yes. The base monthly cap is \$100 at the 2% rate. If you unlock the 4% rate through referrals, the cap rises to \$200 for that month.
Only Jupiter Card purchases at accepted merchants (online and in-store) earn cashback. The following are **not** eligible: ATM withdrawals, P2P transfers, refunded or reversed transactions, fees and charges, QR payments, financial services, money transfers, gambling-related transactions, and government payments.
For the full list, see [Ineligible Transactions for Cashback & Rewards](/user-docs/global/spend/rewards-and-referrals#ineligible-transactions-for-cashback-%26-rewards).
You may have hit your monthly cap. Check the Rewards screen to see your cap limit and how much you have earned so far this month. Referring at least 2 qualifying friends in a calendar month unlocks the 4% rate (with a \$200 cap) for the following month.
***
Step-by-step guide to get started with Jupiter Spend.
# Fees & Limits
Source: https://docs.jup.ag/user-docs/global/spend/fees-and-limits
Fee structure, spending limits, and supported countries across all Jupiter Spend products.
## Jupiter Card
### Fees
| Fee | Amount |
| --------------------- | -------------------------- |
| Annual fee | None |
| USDC/USDT deposit fee | None (credited 1:1 in USD) |
| FX conversion (Rain) | 1% on non-USD payments |
| FX conversion (DCS) | 1.8% on non-USD payments |
No fee applies for payments made in USD.
Standard onchain network fees apply when depositing and are paid to the network, not to Jupiter. This network cost is a flat amount that depends on the deposit network: around \$0.30 on Arbitrum and Base, and around \$0.10 on Sui. Because it is flat, it can look large on a small deposit. On Solana, there is no flat network cost. However, if the receiving address has no USDC token account yet, a one-time account creation cost (around 0.002 SOL, set by the network) is added. With Gasless Send, this cost is deducted in USDC from the amount sent.
### Spending Limits
| Card Issuer | Daily Limit | Annual Limit |
| ----------- | ----------- | ------------ |
| DCS | \$50,000 | \$990,000 |
| Rain | No limit | No limit |
### Withdrawals
Withdrawing funds from your card balance to a bank account (off-ramp) is powered by our partner Noah. Support is region-dependent due to regulatory requirements; any region not listed below is supported in all available currencies. Only USDC deposits can be withdrawn to fiat; USDT deposits cannot.
In the regions below, off-ramp support is limited to the currencies marked. **Yes** = supported, **No** = not supported. For the latest list, see [Noah's restricted jurisdictions](https://noah.com/en/uk/restricted-geos).
| Region | EUR | USD |
| -------------------------------- | --- | --- |
| Afghanistan | No | No |
| Albania | No | Yes |
| Armenia | No | Yes |
| Azerbaijan | No | Yes |
| Barbados | No | Yes |
| Belarus | No | No |
| Bhutan | Yes | No |
| Botswana | No | Yes |
| Burkina Faso | No | Yes |
| Burundi | No | No |
| Cambodia | No | Yes |
| Central African Republic | No | Yes |
| China | No | No |
| Democratic Republic of the Congo | No | No |
| Cuba | No | No |
| Ghana | No | Yes |
| Guinea | No | Yes |
| Guinea-Bissau | No | No |
| Haiti | No | No |
| Iran | No | No |
| Iraq | No | No |
| Jamaica | No | Yes |
| Japan | No | Yes |
| Jordan | No | Yes |
| Kazakhstan | No | Yes |
| North Korea | No | No |
| Kosovo | Yes | No |
| Kyrgyzstan | No | Yes |
| Lebanon | No | No |
| Libya | No | No |
| North Macedonia | No | No |
| Mali | No | Yes |
| Morocco | No | Yes |
| Mozambique | No | No |
| Myanmar | No | No |
| Nicaragua | No | No |
| Niger | Yes | No |
| Pakistan | No | No |
| Palestine | No | No |
| Panama | No | No |
| Qatar | No | Yes |
| Russia | No | No |
| Senegal | No | Yes |
| Somalia | No | No |
| South Sudan | No | No |
| Sudan | No | No |
| Syria | No | No |
| Tajikistan | No | Yes |
| Tanzania | No | Yes |
| Trinidad and Tobago | No | Yes |
| Tunisia | No | Yes |
| Turkmenistan | No | Yes |
| Uganda | No | Yes |
| Ukraine | No | No |
| United Kingdom | No | No |
| United States | No | Yes |
| Uzbekistan | No | Yes |
| Vanuatu | No | Yes |
| Venezuela | No | No |
| Yemen | No | No |
| Zimbabwe | No | No |
### Regional Differences
| | Rain | DCS |
| --------------------- | -------- | --------- |
| FX fee | 1% | 1.8% |
| Daily spending limit | No limit | \$50,000 |
| Annual spending limit | No limit | \$990,000 |
**For Rain users: Spend Balance vs. Withdrawal Balance**
The `Spend balance` you see in the app is the amount you can spend on your card. It's not the same as the amount you can withdraw back to your wallet.
If you get a refund on the card, that refund gets added to your spend balance so you can keep using it, but it can't be withdrawn. This is due to how Visa settles refunds with Rain.
***
## QR Pay
| | |
| --------------------- | -------------------------- |
| Fees | None (payer and recipient) |
| FX conversion | Market rate |
| Daily limit | \$5,000 |
| Per Transaction Limit | \$500 |
The 0% fee structure is permanent and applies to merchant transactions, including currency conversion.
Merchant QR payments are supported in all QR Pay markets. P2P (person-to-person) QR payments are available in select jurisdictions.
**Availability:** Cambodia (KHQR), Indonesia (QRIS), Laos (LAO QR), Malaysia (DuitNow), Mongolia (QPay), Philippines (QR Ph), Vietnam (VietQR). Singapore (SG QR) and Thailand (PromptPay) are temporarily unavailable. QR Pay also depends on your card: it is available on DCS-issued cards only for now; see [Which Cards Support QR Pay](/user-docs/global/spend/qr-pay#which-cards-support-qr-pay).
***
## Remittance
| | |
| ------------------ | ----------- |
| FX conversion | Market rate |
| Per-transfer limit | \$10,000 |
Currency conversions are done at the market rate. Virtual accounts are funded by incoming fiat transfers only.
### Deposit Fees (Payin)
Deposits carry fees too, not only payouts. Funding your virtual account by bank transfer incurs a fixed fee plus a variable fee on the amount received.
| Rail | Fixed Fee | Variable Fee |
| ------- | ------------------------ | ----------------------- |
| SEPA | EUR 0.87 (≈ \$1.00 USDC) | 0.10% of USD equivalent |
| ACH | \$2.00 | 0.05% |
| Fedwire | \$20.00 | 0.05% |
| SWIFT | \$30.00 | 0.05% |
Fees are deducted from the amount you deposit. If a deposit is too small to cover the fees, nothing is credited and the deposit is **not refunded**. Make sure your transfer is well above the fixed fee of its rail.
### Payout Fees
Each payout (outgoing transfer) incurs a fixed fee plus a variable fee on the transfer amount. For deposit fees, see [Deposit Fees (Payin)](#deposit-fees-payin) above.
**SWIFT:** Transfers to over 200 countries. Specific corridors may be subject to restrictions depending on the recipient's bank and local regulations.
| Currency | Destination | Payment Method | Fixed Fee | Variable Fee |
| -------- | -------------- | ----------------- | --------- | ------------------------------- |
| AED | UAE | Bank Transfer | \$4.50 | 0.40% |
| BRL | Brazil | Bank Transfer | \$1.00 | 1.00% |
| CAD | Canada | Bank Transfer | \$2.50 | 0.45% |
| EUR | EEA | Bank Transfer | \$1.00 | 0.10% |
| GBP | United Kingdom | Bank Transfer | \$2.50 | 0.45% |
| IDR | Indonesia | Bank Transfer | \$3.50 | 0.45% |
| INR | India | Bank Transfer | \$2.50 | 0.45% |
| MYR | Malaysia | Bank Transfer | \$2.50 | 0.45% |
| NGN | Nigeria | Bank Transfer | \$0.50 | Parallel market rate + 7.5% VAT |
| PHP | Philippines | Bank Transfer | \$2.50 | 0.45% |
| SGD | Singapore | Bank Transfer | \$1.50 | 0.45% |
| THB | Thailand | Bank Transfer | \$2.50 | 0.45% |
| TRY | Turkey | Bank Transfer | \$2.50 | 0.65% |
| USD | US | ACH | \$2.00 | 0.05% |
| USD | US | FedWire | \$20.00 | 0.05% |
| USD | International | SWIFT / Int. Wire | \$30.00 | 0.05% |
| VND | Vietnam | Bank Transfer | \$2.50 | 0.45% |
Support for additional currencies (JPY, MAD, MXN, SAR, TWD) is planned.
Fee structures may evolve over time. This page reflects the current state of the product.
***
### Restricted Merchant Categories (MCC)
Transactions from certain merchant categories may be automatically declined due to compliance, regulatory, and risk control requirements.
Restricted categories include (but are not limited to):
* Explosives, firearms, and weapons-related merchants
* Money transfers, remittance services, quasi-cash, and stored value loads
* Securities brokers, trading platforms, and certain financial institutions
* Gambling, betting, lotteries, and gaming-related services
* Escort, dating, and adult-related services
* Debt collection and bail/bond services
* Certain government-related payments and loan services
* Political, religious, and labor organizations
* High-risk direct marketing and telemarketing merchants
* Certain digital services, gaming platforms, and online marketplaces identified as high-risk
Additionally, some merchants may be dynamically restricted based on fraud, abuse, or risk monitoring systems.
Transactions with restricted merchants or categories will be automatically declined.
# Jupiter Spend Overview
Source: https://docs.jup.ag/user-docs/global/spend/index
Overview of Jupiter Spend, its products, identity verification, and how to get started.
Jupiter Spend is a set of regulated financial services integrated into the Jupiter app. Built on the Solana blockchain, it allows users to convert USDC into fiat currency and access traditional payment infrastructure directly from the app.
## Products
A Visa debit card backed by the user's USDC balance, accepted wherever Visa is accepted.
Scan-to-pay for merchant payments in the Asia-Pacific region.
Virtual accounts, SWIFT transfers, and local payouts in 15 currencies.
USDC is the base deposit asset, supported on Solana, Sui, Arbitrum, and Base; USDT deposits are supported on Solana. Users deposit into their Spend account, and the funds are converted to USD at the time of deposit. This USD balance is used for the Jupiter Card and QR Pay. It can also be funded in fiat: incoming bank transfers received on your Remittance virtual accounts credit the same balance directly.
All fees, limits, and supported countries are listed on the [Fees & Limits](/user-docs/global/spend/fees-and-limits) page.
## Identity Verification (Jupiter ID)
Jupiter ID is the account used to sign in to the Jupiter app, with an email, Google, or Apple login. It includes an identity verification layer required to access any Jupiter Spend feature: verify once, then access all three products without repeating the process. You can only be logged in to one Jupiter ID at a time.
Identity verification is required by law to help prevent fraud, money laundering, and misuse of financial services. The process is handled by [SumSub](https://sumsub.com/).
### Verification Steps
Verification is completed from the Verification Center in the app and has five steps:
1. Provide an identity document
2. Verify your phone number
3. Perform a liveness check
4. Provide personal information
5. Complete a short questionnaire
In APAC countries, a proof of address is also required. Accepted proof of address documents include: utility bills, telecom bills, bank statements, and tax invoices.
### Approval Time
Verification typically takes **a few minutes**. If an application is flagged for manual review, it can take longer, typically 3 to 5 working days.
### Data Handling & Privacy
* **Verification handled externally.** Jupiter does not store or process identity documents. All verification is handled by SumSub.
* **Separated from DeFi.** Jupiter ID is not linked to DeFi wallets. It is used only for Jupiter Spend services and does not grant access to wallet funds.
* **Activity separation.** Onchain activity in DeFi mode is not associated with Jupiter ID.
Jupiter ID cannot be deleted once created. Once verification is complete, the Jupiter ID cannot be removed.
## How to Get Started
Open the Jupiter app, tap the profile icon in the top-left corner, and select "Set up Jupiter ID". Sign in with an email, Google, or Apple account.
Complete verification from the Verification Center: identity document, phone verification, liveness check, personal information, and a short questionnaire (plus proof of address in APAC regions). Verification typically takes a few minutes.
Tap **Deposit** to open the Add Money screen and deposit USDC or USDT. Deposits are credited one-to-one in USD with no additional fees.
Access the Jupiter Card, QR Pay, or Remittance from the app.
## Key Characteristics
* **Two funding routes.** Crypto deposits into the Spend account are made in USDC (on Solana, Sui, Arbitrum, or Base) or USDT (on Solana), credited one-to-one in USD. Incoming fiat transfers received on the Remittance virtual accounts credit the same balance.
* **Regulated infrastructure.** Card issuance, payments, and transfers are handled by licensed financial partners.
* **Identity required.** Jupiter ID and KYC verification are required before accessing any feature.
* **No custody of wallet funds.** Jupiter does not take custody of the user's DeFi wallet funds. Spend balances are managed by the regulated financial partners.
* **Cashback on card purchases.** Jupiter Card purchases earn automatic cashback at a base rate of 2%. The rate can be raised to 4% through the referral program. QR Pay transactions are not eligible for cashback. See [Rewards & Referrals](/user-docs/global/spend/rewards-and-referrals).
Only send USDC or USDT to your Spend deposit address. Sending any other asset, including SOL, does not credit your Spend balance, and the transfer cannot be reversed.
For detailed fees and limits by product, see the [Fees & Limits](/user-docs/global/spend/fees-and-limits) page.
# Jupiter Card
Source: https://docs.jup.ag/user-docs/global/spend/jupiter-card
What the Jupiter Card is, how it works, and how to manage it.
The Jupiter Card is a Visa debit card that allows users to spend their USDC balance as USD at any merchant that accepts Visa. Users deposit USDC (on Solana, Sui, Arbitrum, or Base) or USDT (on Solana) into their Spend account, where it is converted to USD. This USD balance is what the card draws from.
The card is issued through regulated financial partners and uses credit-card infrastructure, meaning it benefits from higher merchant acceptance, smoother refund and dispute handling, and more consistent performance compared to typical prepaid or debit crypto cards. Jupiter does not issue credit lines — you can only spend what you have deposited.
The card is currently available as a digital card only, accessible through the Jupiter app. A physical card is planned by the end of 2026.
## Card Issuers
The Jupiter Card is issued by two partners, **Rain** and **DCS**, depending on the user's country of residence. Each user is assigned one card issuer automatically. It is not possible to hold cards from both issuers.
For fees, spending limits, and regional differences, see the [Fees & Limits](/user-docs/global/spend/fees-and-limits) page.
## Process
Deposit USDC or USDT via the Jupiter app. Credited one-to-one in USD, no fees on deposit.
Use the card anywhere Visa is accepted. Non-USD payments incur an FX fee (1% Rain, 1.8% DCS). No fee on USD payments.
View card details, freeze/unfreeze the card, or add it to Apple Pay / Google Pay — all from the app.
## Balance
The card balance is held in USD. Conversion from USDC to USD happens at deposit, not at the time of payment.
## Refunds
Refunds can take up to 7 business days to settle back into your card balance, depending on the merchant and the card issuer. Void transactions (where the merchant cancels the charge before final settlement) follow the same timeline.
How a refund appears depends on whether the original transaction has already settled:
* **Transaction still pending:** If the merchant issues a refund or voids the charge before settlement, the original transaction is reversed and will not be deducted from your balance.
* **Transaction already processed:** If the transaction has already settled, the refund appears as a separate credit marked "Reversed" under the original transaction in your history. Refunds are processed at the FX rate of the day the refund is issued, not the original transaction rate. The FX fee on the original payment is not refunded.
If you have not received your refund after 7 business days, contact support with the original transaction details.
## Lost or Stolen Card
If your card is lost, stolen, or you suspect unauthorised use, please freeze your card immediately from the Jupiter app to block any further transactions. Then reach out to the support team to deactivate the existing card and get a replacement.
## Cashback
All qualifying card purchases earn automatic cashback at a base rate of 2%. A higher rate and cap can be unlocked through the referral program. See [Rewards & Referrals](/user-docs/global/spend/rewards-and-referrals) for details.
## Adding to Mobile Wallets
1. Open Apple Wallet → tap the **+** icon.
2. Select **Debit or Credit Card** → tap **Continue**.
3. Enter card details (found under "Show Details" in the Jupiter app).
4. Complete verification in Apple Wallet.
1. Open Google Wallet → tap **"+ Add to Wallet."**
2. Select **Payment method** → enter card details manually.
3. Accept the issuer's terms → choose verification method (SMS or email).
4. Enter the OTP to verify.
There are no Jupiter fees for adding or using the card via Apple Pay or Google Pay. The standard FX fee (set by the issuer) still applies on non-USD payments.
Apple Pay and Google Pay availability depends on the region. In some countries where the Jupiter Card is supported, the card cannot be added to Apple Pay or Google Pay because the service does not support it there. This is a restriction from Apple or Google, not from Jupiter.
## Supported Countries
Eligibility is based on your country of residence, not your citizenship: a citizen of an unsupported country who resides in a supported one can be onboarded after completing identity verification. The list below shows where the Jupiter Card is actively offered; residents of some other countries can also be supported after completing identity verification and, where required, proof of address.
Antigua & Barbuda, Argentina, Australia, Bahamas, Bangladesh *(on pause until further notice)*, Barbados, Belize, Bolivia, Brazil, Cayman Islands, Colombia, Costa Rica, Côte d'Ivoire, Dominica, Dominican Republic, Ecuador, Egypt, El Salvador, Ghana, Grenada, Guatemala, Guyana, Honduras, Japan, Kenya, Malaysia, Mexico, Morocco, New Zealand, Nigeria *(on pause until further notice)*, Pakistan, Panama, Paraguay, Peru, Philippines, Saint Kitts and Nevis, Saint Lucia, Saint Vincent and the Grenadines, Senegal, Singapore, South Africa, South Korea, Suriname, Taiwan, Thailand, Trinidad and Tobago, Turks & Caicos Islands, Uganda, United Arab Emirates, Uruguay, Vietnam, Zambia.
### Supported US States
Alabama, Alaska, Arkansas, California, Colorado, Connecticut, Florida, Hawaii, Illinois, Indiana, Iowa, Kansas, Kentucky, Maine, Massachusetts, Michigan, Minnesota, Mississippi *(on pause until further notice)*, Missouri *(on pause until further notice)*, Montana, Nebraska, New Hampshire, New Jersey, New York, North Carolina, Oklahoma, Pennsylvania, South Carolina, Tennessee *(on pause until further notice)*, Texas, Utah, Virginia, West Virginia, Wyoming.
## Limitations
* Digital card only for now.
* Withdrawals are region-dependent and not universally available.
* USDC and USDT are the only supported deposit assets.
* Transaction notifications are not yet available.
For risk information (regulatory, issuer, FX), see the [Risks & Security](/user-docs/global/spend/risks-and-security) page.
***
Have questions about the Jupiter Card? See the [FAQ](/user-docs/global/spend/faq#cards).
# Jupiter QR Pay
Source: https://docs.jup.ag/user-docs/global/spend/qr-pay
How Jupiter QR Pay works, where it's available, and its limitations.
Jupiter QR Pay is a scan-to-pay solution available in the Asia-Pacific region. It supports merchant payments directly from the user's Spend account. No fees for either party.
The Spend account is funded by depositing USDC (on Solana, Sui, Arbitrum, or Base) or USDT (on Solana) through the Jupiter app, which is converted to USD at the time of deposit. QR Pay draws from this USD balance.
## How It Works
The user scans a merchant QR code to initiate the payment. The scanner is opened from the Spend home screen, using the scan button in the top-right corner.
The payment is debited from the user's Spend account balance (held in USD). When the payment is in a non-USD currency, conversion is done at the market rate.
The payment is settled through a local payment processor. The recipient receives funds via local rails.
Merchants do not need to register with Jupiter or integrate any Jupiter-specific system to accept QR Pay payments.
QR Pay transactions are not eligible for cashback. Only Jupiter Card purchases earn cashback. See [Rewards & Referrals](/user-docs/global/spend/rewards-and-referrals) for full details.
## Availability
QR Pay depends on your card. It is currently available on DCS-issued cards only; cards issued by Rain do not support QR Pay yet. In some countries, cards activated after a certain date do not support QR Pay either. See [Which Cards Support QR Pay](#which-cards-support-qr-pay) below.
### Where You Can Pay
If your card supports QR Pay, you can pay at any of these QR networks:
| Country | QR Network |
| ----------- | ------------------------------------- |
| Cambodia | KHQR |
| Indonesia | QRIS |
| Laos | LAO QR |
| Malaysia | DuitNow |
| Mongolia | QPay |
| Philippines | QR Ph |
| Singapore | SG QR *(temporarily unavailable)* |
| Thailand | PromptPay *(temporarily unavailable)* |
| Vietnam | VietQR |
### Which Cards Support QR Pay
| Card issued in | QR Pay |
| ----------------------------------- | ----------------------------------- |
| Vietnam, Philippines | All cards |
| Malaysia | Cards activated before May 13, 2026 |
| Thailand | Cards activated before May 28, 2026 |
| Singapore | Cards activated before mid-May 2026 |
| Indonesia, Cambodia, Laos, Mongolia | Not yet supported |
QR Pay support for newer cards is planned, as is paying by QR directly from onchain accounts (identity verification will still be required). Timelines will be announced.
## Fees & Limits
No fees for either the payer or the recipient, including FX conversion. The daily limit is \$5,000 and the per-transaction limit is \$500. For full details, see the [Fees & Limits](/user-docs/global/spend/fees-and-limits#qr-pay) page.
## Limitations
* **Geographic availability.** QR Pay is only available in the APAC countries listed above.
* **Card support.** QR Pay is available on DCS-issued cards only for now. Depending on where your card was issued and when it was activated, QR Pay may not be supported yet. See [Which Cards Support QR Pay](#which-cards-support-qr-pay).
* **Daily limit.** Transactions are capped at \$5,000 per day.
* **Per-transaction limit.** Each transaction is capped at \$500.
* **P2P availability.** P2P (person-to-person) payments are available in select regions; elsewhere QR Pay supports merchant payments only.
* **No cashback.** QR Pay transactions do not earn cashback.
* **Spend account required.** Requires a funded Spend account and completed Jupiter ID verification.
For risk information (regulatory, issuer, FX), see the [Risks & Security](/user-docs/global/spend/risks-and-security) page.
***
Have questions about QR Pay? See the [FAQ](/user-docs/global/spend/faq#qr-pay).
# Global Fiat Remittance
Source: https://docs.jup.ag/user-docs/global/spend/remittance
Virtual accounts, SWIFT transfers, local payouts, and how Global Fiat Remittance works.
Global Fiat Remittance allows Jupiter Spend users to send and receive fiat through virtual accounts, SWIFT transfers, and local payouts. Incoming transfers received on your virtual accounts fund your Spend balance directly, the same balance used by the Jupiter Card and QR Pay.
## How It Works
Once Jupiter ID verification is complete, users receive virtual accounts in USD and EUR. Each account includes standard banking identifiers for its currency. EUR account availability may depend on your country of residence.
Virtual accounts are funded by incoming fiat transfers from external bank accounts; the received funds credit your Spend balance. USDC cannot be deposited directly into virtual accounts.
Bank deposits are temporarily unavailable in California, New York, Connecticut, and Puerto Rico.
## Local Payouts
In addition to SWIFT, users can send local payouts in the following currencies:
AED, BRL, CAD, EUR, GBP, IDR, INR, MYR, NGN, PHP, SGD, THB, TRY, USD, VND.
Support for JPY, MAD, MXN, SAR, and TWD is planned.
## Fees & Limits
Transfers carry fees on both deposits and payouts, and they vary by rail and destination currency. Currency conversions are done at the market rate. The per-transfer limit is \$10,000. For the current fee tables, see the [Fees & Limits](/user-docs/global/spend/fees-and-limits#remittance) page.
## Limitations
* **Per-transfer limit.** Each transfer is currently capped at \$10,000.
* **Spend account required.** Requires completed Jupiter ID verification.
* **USDT deposits.** USDT deposits cannot be withdrawn to fiat. Only USDC deposits can be withdrawn to fiat.
* **Corridor availability.** While SWIFT covers over 200 countries, specific corridors may be subject to restrictions depending on the recipient's bank and local regulations.
* **Bank deposits in the US.** Bank deposits are temporarily unavailable in California, New York, Connecticut, and Puerto Rico.
- **Fee structure may change.** Deposits and payouts carry a fixed fee plus a variable fee that depend on the rail and currency, and these may be updated as the product evolves. See [Fees & Limits](/user-docs/global/spend/fees-and-limits#remittance) for current values.
- **EUR remittance.** EUR remittances are supported via SEPA only. SWIFT transfers are not supported and may fail or not be credited.
For risk information (regulatory, issuer, FX), see the [Risks & Security](/user-docs/global/spend/risks-and-security) page.
***
Have questions about Remittance? See the [FAQ](/user-docs/global/spend/faq#transfer).
# Rewards & Referrals
Source: https://docs.jup.ag/user-docs/global/spend/rewards-and-referrals
Cashback rewards on every purchase, and referral bonuses for inviting friends to Jupiter Spend.
Jupiter Spend rewards users for spending and for growing the community. Cashback is earned automatically on qualifying purchases, and referral rewards are paid when invited friends sign up and start spending.
## Cashback
Every qualifying card purchase earns cashback. It is credited automatically to the Rewards balance after the transaction settles. No activation is needed.
### Cashback Rate
All qualifying card purchases earn a base cashback rate of 2%, up to a monthly cap of \$100.
You can raise your cashback rate to 4% (with a monthly cap of \$200) for a given month by referring at least 2 qualifying people during the previous calendar month. A qualifying referral is a friend who completes KYC and spends at least \$50 on their Jupiter Card. Referring only 1 person does not unlock the higher rate.
When unlocked, the 4% rate applies for the following calendar month. Your current rate and monthly progress are visible on the Rewards screen in the app.
### Rewards Balance
Your rewards balance is held in USDC. You can withdraw any amount from your Rewards balance to your card balance at any time. Withdrawals are instant with no fees.
Direct withdrawal from the Rewards balance to an external wallet is not available: rewards move to your card balance first, and from there funds can leave Spend through the withdrawal options available in your region.
### When Is Cashback Credited?
Cashback is credited after the transaction fully settles, not at the point of payment. While a transaction is pending, a "Processing" entry appears in the Rewards tab. Once settlement is confirmed, it updates to earned and is added to the available balance.
## Referral Program
Invite friends to Jupiter Spend using your unique referral link. When they sign up, complete KYC, and start spending, you both earn rewards.
### How It Works
Go to the Rewards screen and tap **Refer**. Copy your link or share it via WhatsApp, Telegram, SMS, or any other app.
Your friend opens the link, creates an account, and completes KYC verification.
Once your friend spends at least \$50 on their Jupiter Card within 30 days of KYC approval, you receive \$10.
Once your friend spends \$1,000 within 30 days of card activation, they receive \$20.
The 30-day windows start from different dates: yours starts from your friend's KYC approval, theirs starts from their card activation.
### Referral Rewards
| | You (referrer) | Your friend |
| --------- | ------------------------------------------------- | ------------------------------------------------------- |
| Reward | \$10 | \$20 |
| Condition | Friend spends \$50 within 30 days of KYC approval | Friend spends \$1,000 within 30 days of card activation |
Reward amounts are denominated in USD and credited to the Rewards balance, which is held in USDC. They are paid out when the qualifying milestone is reached. There is no cap on the number of referrals. Referral rewards do not count toward the monthly cashback cap.
Only transactions fully settled and completed within the 30 days of card activation are eligible. Any transaction that settles outside this timeframe will not be counted towards the eligible spend.
### What Happens If the Milestone Is Not Reached?
If your friend does not spend \$50 within 30 days of KYC approval, the referral expires and you do not receive a reward. Your friend can still use Jupiter Spend normally.
## Ineligible Transactions for Cashback & Rewards
Cashback and referral rewards do not apply to transactions including, but not limited to:
* ATM withdrawals and cash disbursements
* P2P transfers
* QR Payments
* Refunded, reversed, disputed, or chargeback transactions
* Fees and charges
* Financial services (e.g. securities trading, brokerage services, insurance payments, real estate rentals, savings bonds, and other financial institution services)
* Money transfers, remittances, stored-value loads, and account funding transactions
* Quasi-cash and cash equivalents (e.g. cryptocurrency purchases, money orders, traveller's cheques, and similar instruments)
* Gambling-related transactions (e.g. casinos, betting, lotteries, and horse/dog racing)
* Government-related payments (e.g. taxes, fines, court costs, bail and bond payments, postal services, and other government services)
* Transactions identified by our fraud, abuse, or risk control systems, including suspicious spending patterns, rewards farming, self-referrals, manufactured spend, or transactions with merchants associated with abusive activity
Transactions falling under the above categories, including but not limited to similar or related transactions, will **not** earn cashback or referral rewards.
## Fraud & abuse controls
Jupiter runs fraud and abuse checks across spend, cashback, and referral activity. Rewards may be withheld or reversed where we detect:
* Suspicious activity or transactions, including any pattern flagged by our internal monitoring as inconsistent with legitimate card use
* Self-referral or referral-ring patterns (shared device, IP, payment instrument, or KYC artefacts)
* Manufactured spend, structuring, or velocity patterns inconsistent with normal card use
* Spend at merchants linked to known abuse clusters
* Activity from accounts with active freezes, sanctions hits, or unresolved KYC flags
Cashback and referral rewards are discretionary. We reserve the right to adjust, withhold, or reverse rewards at any time, and to update this list without prior notice.
## Terms & Conditions
The full Cashback & Referral Program Terms and Conditions are available here: [Cashback & Referral Program Terms and Conditions (PDF)](https://jupiter-global-assets.jup.ag/a3f91c2d-v2.pdf) (effective March 26, 2026).
Please note that **we reserve the right to update, amend, suspend, or discontinue any aspect of the Rewards and referral programs** at any time. The most current version of the Terms & Conditions is always available in the app.
***
Have questions about cashback or referrals? See the [FAQ](/user-docs/global/spend/faq#cashback).
# Risks & Security
Source: https://docs.jup.ag/user-docs/global/spend/risks-and-security
Risks that apply across all Jupiter Spend products.
Users should understand these risks before using any Jupiter Spend feature.
Jupiter Spend is a suite of regulated financial services built on the Solana blockchain. While it provides access to traditional payment infrastructure, it carries risks inherent to both crypto-to-fiat conversion and reliance on third-party financial partners.
## Regulatory & Availability Risk
Jupiter Spend products are available in selected countries and regions. Availability depends on the user's country of residence and applicable regulations. Supported regions, features, and limits may change over time.
## Issuer & Partner Risk
Jupiter Spend relies on regulated financial partners to issue cards, process payments, and handle transfers. Each product is operated through a different partner:
| Product | Partner |
| --------------------------- | ------------ |
| Jupiter Card | Rain and DCS |
| Card withdrawals (off-ramp) | Noah |
| QR Pay | DCS |
| Remittance | Noah |
Users are subject to the terms, conditions, and operational stability of these partners. Jupiter does not take custody of wallet funds. Card balances, QR Pay balances, and remittance funds are managed by the issuing partners.
## Foreign Exchange Risk
Payments and transfers involving non-USD currencies are subject to foreign exchange conversion. QR Pay and Remittance convert at the market rate. The Jupiter Card applies an FX fee (1% Rain, 1.8% DCS), set by the issuer, on top of the conversion rate.
## Product-Specific Limitations
Each product page includes its own limitations section with details specific to that product:
* [Jupiter Card — Limitations](/user-docs/global/spend/jupiter-card#limitations)
* [Jupiter QR Pay — Limitations](/user-docs/global/spend/qr-pay#limitations)
* [Global Fiat Remittance — Limitations](/user-docs/global/spend/remittance#limitations)
# How a DTF launch works
Source: https://docs.jup.ag/user-docs/launch/dtf/how-it-works
Detailed breakdown of the DTF launch process: curation, phases, token claiming, allocation locking, and liquidity provisioning.
Every DTF launch follows the same general flow, but the specific parameters (number of phases, pricing, vesting, limits) are configured per project. This page describes the mechanics that apply to all launches.
## Project selection and curation
Before a project can launch on DTF, it goes through a vetting process run by the Jupiter team. The evaluation covers:
* **Market suitability.** Does the project address a real need? Is the timing appropriate?
* **Valuation.** Is the proposed valuation reasonable relative to the project's stage and market conditions?
* **Commitment to transparency.** Is the team willing to lock allocations on-chain and provision liquidity at TGE?
Projects that pass this evaluation enter a collaboration phase with the Jupiter team to design the launch structure. Only launches that the Jupiter team reasonably deems beneficial for the crypto ecosystem will proceed.
Not every project that applies to DTF will be approved. The curation process is selective by design.
## Launch phases
A DTF launch consists of one or more phases. Each phase targets a specific group of participants and has its own set of parameters.
Each phase is configured independently with:
* **Eligible participants.** Who can buy during this phase (e.g. whitelisted wallets, \$JUP stakers, public).
* **Price.** The price per token for that phase. Different phases can have different prices.
* **Vesting schedule.** Some phases may include vesting (tokens unlock over time). Others may not.
* **Purchase limits.** Minimum and/or maximum purchase amounts per wallet, set per phase.
No. The number of phases, their order, and their parameters are decided per project in collaboration with the Jupiter team. One launch might have three phases (whitelist, stakers, public), another might have two or just one.
Eligibility criteria are published before each launch on the DTF interface. Check the specific launch page for details on phases and requirements.
## Purchasing tokens
During an active phase, eligible wallets can purchase tokens directly through the DTF interface.
Key points:
* **No platform fees for buyers.** Jupiter does not charge buyers any additional fee on top of the token price. Standard Solana network fees still apply.
* **Purchase limits vary.** Each launch and each phase can define its own minimum and maximum purchase amounts per wallet.
* **Eligibility varies.** Some launches may require whitelist approval, \$JUP staking, or other criteria. \[PENDING] Countries on the FATF list are excluded, but the exact scope of "FATF countries" (blacklist/greylist vs. all member countries) is being clarified.
## What happens at TGE
When the token sale concludes and TGE occurs, two things happen simultaneously:
All tokens that were **not part of the sale** (team allocations, ecosystem reserves, treasury, etc.) are locked on-chain using [Jup Lock](/user-docs/launch/lock). Vesting schedules are enforced by the program, not by the team. This means the declared allocation and unlock timeline is publicly verifiable and cannot be changed after TGE.
A liquidity pool on Meteora is provisioned from a portion of the sale proceeds. This happens immediately at TGE, guaranteeing that buyers have access to liquidity from day one. The exact portion allocated to liquidity depends on the agreement between the Jupiter team and the project.
## Claiming tokens
After TGE, wallets that contributed to the sale can claim their tokens through the DTF interface.
* If the phase you participated in has **no vesting**, your full allocation is claimable at TGE.
* If the phase you participated in has **a vesting schedule**, tokens unlock progressively according to the schedule. The vesting is enforced on-chain by the presale program. You can claim unlocked tokens at any time through the DTF interface.
Vesting applies per phase. Two participants who bought in different phases may have different vesting schedules for the same token.
## If a launch doesn't sell out
If a launch does not sell all available tokens:
* Tokens are distributed to all contributors based on their purchases.
* The remaining unsold tokens are returned to the project.
## If a launch doesn't reach minimum cap
\[PENDING] The refund mechanic is confirmed to exist but details are being clarified. What is known: if a launch sets a minimum cap and that cap is not reached, contributors are eligible for a refund. Not all launches include a minimum cap. No minimum cap has been implemented on any launch so far.
## On-chain transparency summary
| What | How it's enforced |
| ---------------------------- | --------------------------------------------------------------------------------------- |
| Token allocations (non-sale) | Locked via Jup Lock at TGE. Vesting schedules are on-chain and publicly verifiable. |
| Sale vesting (if applicable) | Enforced by the presale program. Unlocks follow the declared schedule. |
| Liquidity pool | Provisioned on Meteora at TGE from a portion of sale proceeds. |
| Allocation breakdown | All categories (team, ecosystem, sale, liquidity, etc.) are visible on-chain after TGE. |
# Jupiter DTF
Source: https://docs.jup.ag/user-docs/launch/dtf/overview
A curated, on-chain token launch platform operated by Jupiter.
Jupiter Decentralized Token Formation (DTF) is a token launch platform built and operated by the Jupiter team, live at [dtf.jup.ag](https://dtf.jup.ag/). It provides a structured environment for vetted projects to launch their tokens directly to buyers, with full on-chain transparency on allocations and vesting.
DTF is fully managed by Jupiter. There are no external partners involved in the curation or launch process.
## Why DTF exists
Token launches in crypto often lack transparency: unclear allocations, opaque vesting, and no guarantee of immediate liquidity. DTF addresses this by enforcing three things at the protocol level:
* **On-chain allocation locking.** All tokens not sold during the launch are locked using [Jup Lock](/user-docs/launch/lock), with vesting schedules enforced by the program.
* **Immediate liquidity.** A liquidity pool on Meteora is provisioned from a portion of the sale proceeds at Token Generation Event (TGE), so buyers have access to liquidity from day one.
* **Curated launches only.** Every project goes through a vetting process before being approved. Not every project that applies will launch on DTF.
## How it works at a high level
The Jupiter team evaluates the project's market suitability, valuation, and commitment to transparency. Only projects deemed beneficial for the ecosystem are approved.
The Jupiter team works with the project to define the launch structure: number of phases, pricing, vesting conditions, purchase limits, and eligibility criteria. These parameters vary per launch.
The launch opens to buyers in one or more phases (e.g. whitelist, \$JUP stakers, public). Each phase can have its own price, vesting schedule, and purchase limits.
At TGE, all non-sale token allocations are locked on-chain via Jup Lock. A liquidity pool is immediately provisioned on Meteora. Buyers can claim their tokens through the DTF interface, following any applicable vesting schedule.
## What DTF does not do
Curation is not an endorsement. Approval to launch on DTF does not mean Jupiter guarantees the project's success, token value, or long-term viability. Buyers should always do their own research.
* DTF does not guarantee any return or token price performance.
* DTF does not remove the inherent risks of participating in a token launch.
* Vesting schedules mean some or all purchased tokens may not be immediately available.
## Key terms
| Term | Definition |
| ------------ | ----------------------------------------------------------------------------------------------------------------------- |
| **DTF** | Decentralized Token Formation. Jupiter's curated token launch platform. |
| **TGE** | Token Generation Event. The moment the token is created on-chain and allocations are distributed or locked. |
| **Jup Lock** | Jupiter's on-chain token locking program, used to enforce vesting schedules for non-sale allocations. |
| **Phase** | A distinct stage of a token sale (e.g. whitelist phase, staker phase, public phase). Each phase has its own parameters. |
| **Vesting** | A schedule that controls when purchased or allocated tokens become claimable. Enforced on-chain by the presale program. |
Detailed walkthrough of the launch process: phases, claiming, locking, and LP provisioning.
# Jupiter Lock FAQ
Source: https://docs.jup.ag/user-docs/launch/lock/faq
Frequently asked questions about Jupiter Lock: creating locks, vesting schedules, claiming tokens, and security.
## General
Jupiter Lock is a free, open-source token locking and vesting tool on Solana. It allows anyone to create onchain escrows that hold tokens and release them according to a defined vesting schedule.
Anyone with a Solana wallet. There are no restrictions on who can create a lock. Multisig wallets are also supported.
No. Jupiter Lock has no protocol fees. You only pay standard Solana network fees for transactions (creating a lock, claiming tokens, etc.). Jupiter Lock is a public good.
Yes. The program has been audited by OtterSec and Sec3. Audit reports are available on [GitHub](https://github.com/jup-ag/jup-lock/tree/main/audits). The program is also fully open-source.
## Creating a Lock
Jupiter Lock supports SPL tokens on Solana.
Yes. Set the cliff unlock amount to the full token amount. Since nothing remains to vest after the cliff, all tokens become claimable at the cliff date. The vesting duration and frequency have no effect in this case.
No. Each lock has exactly one recipient wallet. To distribute tokens to multiple wallets, create a separate lock for each recipient.
No. There are no limits on lock duration or token amount.
No. Vesting parameters (cliff date, vesting duration, token amount, frequency) are permanent once the lock is created. The only actions possible after creation are changing the recipient wallet or cancelling the lock, and only if the corresponding permissions were set at creation.
When creating a lock, the creator defines two permissions:
* **Recipient change:** who can reassign the lock to a different wallet (creator, recipient, both, or none).
* **Cancel:** who can cancel the lock entirely (creator, recipient, both, or none).
These permissions are set once and cannot be modified. If both are set to "none," the lock is fully irreversible.
## Claiming Tokens
Connect your recipient wallet to the [Jupiter Lock interface](https://lock.jup.ag/). The UI shows how many tokens have vested and are available to claim. You trigger a claim transaction to transfer them to your wallet.
No. The recipient must manually claim unlocked tokens through the Jupiter Lock interface.
No. Unclaimed tokens remain in the escrow indefinitely. You can claim them at any time after they have vested.
## Security and Risks
There is no built-in recovery mechanism. If the recipient wallet is compromised, the only option is if the lock was created with permissions allowing the creator to change the recipient or cancel the lock. If those permissions were not set, the tokens are only claimable by the compromised wallet.
Jupiter Lock only manages the escrow and vesting schedule. It does not monitor or react to changes in the token itself. If the token loses value or liquidity, the lock still functions as configured, but the tokens may have no practical value when claimed.
No. The program is upgradeable, but updates are only made when critical. The program is open-source and audited, which provides transparency over any changes.
## Relationship to Other Jupiter Products
Yes. Jupiter Lock has no technical dependency on other Jupiter products. It can be used independently by anyone.
During [Jupiter DTF](/user-docs/launch/dtf/overview) token launches, all non-sale token allocations (team tokens, ecosystem reserves, etc.) are locked using Jupiter Lock. This enforces onchain transparency for vesting schedules. However, Lock itself is not limited to DTF and can be used for any purpose.
# How Jupiter Lock Works
Source: https://docs.jup.ag/user-docs/launch/lock/how-it-works
Vesting model, lock parameters, permissions, claiming, and onchain mechanics.
Jupiter Lock allows anyone to create an onchain escrow that holds tokens and releases them according to a defined vesting schedule. This page covers the full mechanics: how vesting works, what parameters are set at creation, how permissions and claiming work, and what happens onchain.
## 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.
This is the standard configuration. The vesting schedule has two phases:
1. **Cliff phase.** No tokens are available until the cliff date. On that date, a predefined amount (the cliff unlock amount) becomes claimable immediately.
2. **Linear vesting phase.** After the cliff, the remaining tokens unlock gradually over the defined vesting duration, at a set frequency (minute, day, week, month, or year).
**Example:** A lock of 120,000 tokens with a 3-month cliff of 20,000 tokens, then linear monthly vesting over 10 months. At the cliff date, 20,000 tokens unlock. Then 10,000 tokens unlock each month for 10 months.
To create a lock with no gradual vesting, set the cliff unlock amount to the full token amount. Since nothing remains after the cliff, the vesting duration and frequency have no effect. All tokens become claimable at the cliff date.
**Example:** A lock of 100,000 tokens with a cliff unlock amount of 100,000 and a cliff date of January 1, 2026. All tokens become claimable on that date. No linear vesting occurs.
There is no minimum or maximum for lock duration or token amount.
## Lock Parameters
When creating a lock, the following parameters are defined. All parameters except permissions are **permanent** once the lock is created.
| Parameter | Description |
| ------------------------------- | ------------------------------------------------------------------------------------------------------- |
| **Token** | The SPL token to lock. |
| **Total amount** | The total number of tokens to deposit into the escrow. |
| **Recipient wallet** | The wallet address that will be able to claim unlocked tokens. |
| **Cliff date** | The date at which the cliff amount becomes claimable. No tokens are accessible before this date. |
| **Cliff unlock amount** | The number of tokens that unlock at the cliff date. This is an absolute token amount, not a percentage. |
| **Vesting duration** | The total duration of the linear vesting phase, starting after the cliff date. |
| **Vesting frequency** | How often tokens unlock during the linear vesting phase. Options: minute, day, week, month, or year. |
| **Recipient change permission** | Who is allowed to change the lock recipient: creator, recipient, both, or none. |
| **Cancel permission** | Who is allowed to cancel the lock: creator, recipient, both, or none. |
Each lock has exactly one recipient. To distribute tokens to multiple wallets, create one lock per recipient.
All vesting parameters (cliff date, cliff amount, vesting duration, frequency, token, total amount) are permanent once the lock is created. They cannot be modified, extended, or reduced after creation. Only the recipient wallet and lock cancellation are actionable post-creation, depending on the permissions set.
## Permissions
At creation, the lock creator assigns two permissions:
**Who can change the recipient.** This determines which party (creator, recipient, both, or none) can reassign the lock to a different wallet after creation.
**Who can cancel the lock.** This determines which party (creator, recipient, both, or none) can cancel the lock entirely.
These permissions are set once and cannot be changed after the lock is created.
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](https://lock.jup.ag/).
The recipient connects the wallet specified in the lock.
The interface shows how many tokens have vested and are available to claim.
The recipient triggers a claim transaction. Claimed tokens are transferred from the escrow to the recipient's wallet.
Unclaimed tokens remain in the escrow indefinitely. There is no expiration on the right to claim.
## 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 is open-source and has been audited by OtterSec and Sec3.
## Risks and Limitations
**Immutable vesting parameters.** Vesting schedule, token amount, cliff date, and durations cannot be changed after creation. Only recipient change and cancellation are possible, and only if the corresponding permissions were granted at creation.
**No recovery for compromised wallets.** If the recipient's wallet is compromised, there is no built-in recovery mechanism. The only option is if the lock was created with permissions allowing the creator to change the recipient or cancel the lock.
**Token-side risks are not handled.** Jupiter Lock manages the escrow and vesting schedule only. It does not monitor or react to changes in the token itself (loss of liquidity, mint authority changes, token deprecation). If the locked token becomes worthless or illiquid, the lock still functions as configured, but the claimed tokens may have no practical value.
**Upgradeable contract.** The Jupiter Lock program is upgradeable. While updates are rare and reserved for critical fixes, the program authority has the technical ability to modify the program's behavior. The program is open-source and audited, which provides transparency, but the upgrade capability is a factor to be aware of.
# Jupiter Lock Overview
Source: https://docs.jup.ag/user-docs/launch/lock/index
A free, open-source token locking and vesting tool on Solana.
Jupiter Lock is a token locking tool on Solana that allows anyone to create onchain escrows with vesting schedules. It is designed for token creators, project teams, and DAOs that need to lock tokens with transparent, verifiable unlock conditions.
Locked tokens are held in an onchain escrow account. They cannot be moved or accessed until the conditions defined at creation are met.
Jupiter Lock has no protocol fees. Only standard Solana network fees apply.
The program is fully open-source and available on [GitHub](https://github.com/jup-ag/jup-lock).
Audited by OtterSec and Sec3. Reports are available [here](https://github.com/jup-ag/jup-lock/tree/main/audits).
Lock creation is compatible with multisig wallets.
## What You Can Do with Jupiter Lock
* **Lock tokens until a specific date.** Tokens remain in escrow and are released based on the vesting schedule defined at creation.
* **Define vesting schedules.** Each lock supports a cliff + linear vesting model: an initial amount unlocks at the cliff date, and the remainder vests gradually over time.
* **Control permissions.** At creation, the lock creator decides who can cancel the lock and who can change the recipient (creator, recipient, both, or none).
## Who Uses Jupiter Lock
* **Project teams** locking team allocations, ecosystem reserves, or investor tokens.
* **DAOs** enforcing onchain vesting for contributors or treasury management.
* **Any wallet holder** who wants to lock tokens with a verifiable schedule.
Jupiter Lock is a standalone tool with no dependency on other Jupiter products. It is also used by [Jupiter DTF](/user-docs/launch/dtf/overview) to lock non-sale token allocations during token launches.
Jupiter Lock is a public good maintained by the Jupiter team.
## Next Steps
Full breakdown of vesting mechanics, lock parameters, permissions, and onchain behavior.
Quick answers to the most common questions about Jupiter Lock.
# Jupiter Studio FAQ
Source: https://docs.jup.ag/user-docs/launch/studio/faq
Frequently asked questions about launching and trading tokens on Jupiter Studio.
## Launching a token
No. The creator does not need to provide any initial liquidity. Capital enters the bonding curve as users buy in. When the token graduates, the raised capital is migrated to a Meteora pool automatically.
Every token launched through Studio has a fixed supply of 1,000,000,000 (1 billion) tokens. This cannot be changed.
Meme mode uses fixed parameters: USDC as quote token, 5K initial market cap, 75K graduation market cap, \~79% bonding supply, \~21% migrating supply, no creator vesting. Custom mode lets you adjust the quote token, market caps, creator vesting schedule (up to 80% supply, 6 or 12 months duration), and anti-sniping toggle. See [Launching a Token](/user-docs/launch/studio/launching-a-token) for full details.
In custom mode, yes. You can choose between SOL and USDC as the quote token. In meme mode, the quote token is USDC.
Yes. The bonding curve must raise at least 15,000 USDC (or equivalent in SOL) before graduation can trigger. Your initial and graduation market cap settings must produce at least this amount.
No. All parameters (market caps, vesting schedule, anti-sniping) are set at launch and cannot be modified afterward.
Magic Gen is a button on the launch screen that auto-generates token info (name, symbol, image) for you. It's optional. You can always enter token info manually.
## Trading and buying
Yes. Buyers and sellers can trade freely on the bonding curve at any time before graduation.
A 1% fee is charged on every transaction (buy and sell), throughout the entire lifetime of the token. This applies both on the bonding curve and on the Meteora pool after graduation. The 1% is split 50/50 between the creator and Jupiter.
During the first 15 to 60 seconds after launch, an additional anti-sniper fee may apply on top of the 1%. This fee starts at 99% and decays to 0%.
The jup.ag trading interface displays a warning when anti-sniper fees are active on a token. The exact remaining time is not shown in the UI, but can be read on-chain from the launch transaction.
Every Studio token automatically appears on Alphascan (within Jup Pro) and is flagged as a Studio token. If a token has no recent trading activity, it may temporarily disappear from Alphascan and reappear when trades resume.
## Graduation
Graduation is the moment a token transitions from the Studio bonding curve to a Meteora DAMMv2 liquidity pool. It is triggered when the bonding curve has raised enough quote tokens to meet the graduation threshold. See [Graduation and Fees](/user-docs/launch/studio/graduation-and-fees) for the full breakdown.
The token remains on the Studio bonding curve indefinitely. Users can still buy and sell on the curve. The token may fall off Alphascan if there's no trading activity, but it reappears when new trades occur. No funds are lost.
No. All LP tokens from the graduated Meteora pool are permanently locked. No one (including the creator) can withdraw liquidity from it.
Yes. After graduation, anyone can add liquidity to the Meteora DAMMv2 pool. Go to your Studio token page, click the link to the graduated LP pool under the "Graduated" section, and add liquidity directly on [Meteora](https://meteora.ag).
Adding liquidity carries risk. If the token price drops significantly, you may lose part or all of your deposited capital.
## Fees and earnings
The creator earns 50% of the 1% trading fee on every transaction, for the entire lifetime of the token (before and after graduation). During the anti-sniper window, the creator also receives the full anti-sniper fee.
Connect with your deployer wallet (the wallet used to launch the token) on your Studio token page. A green claim button appears next to your accumulated fees on the right side of the page.
Yes. The 1% trading fee (split 50/50 between creator and Jupiter) continues to apply on the Meteora DAMMv2 pool after graduation.
The anti-sniper fee goes entirely to the creator. It is separate from and added on top of the standard 1% trading fee.
# Graduation and Fees
Source: https://docs.jup.ag/user-docs/launch/studio/graduation-and-fees
What happens when a Studio token graduates, how fees work, and post-graduation mechanics.
## Graduation
### What triggers graduation
Graduation occurs when the bonding curve has collected enough quote tokens to reach the graduation market cap defined at launch.
The minimum amount raised to graduate is 15,000 USDC (or equivalent in SOL). In meme mode, graduation happens at a market cap of 75,000 USDC, with approximately 15,390 USDC raised on the curve. In custom mode, the threshold depends on the graduation market cap chosen by the creator.
### What happens at graduation
1. The quote tokens raised on the bonding curve are migrated to a new Meteora DAMMv2 pool.
2. The corresponding token allocation (21% in meme mode, variable in custom mode) is paired with the raised capital in the pool.
3. All LP tokens from this pool are permanently locked. No one can remove liquidity.
After graduation, the token trades on the Meteora pool. The Studio bonding curve is no longer active.
If a token never reaches its graduation threshold, it remains on the Studio bonding curve indefinitely. Users can still buy and sell on the curve.
The token may disappear from Alphascan if there is no trading activity, but it will reappear when trades resume. No funds are lost: the bonding curve continues to function normally.
## Fees
### Trading fee on all transactions
A 1% fee is charged on every buy and sell transaction throughout the entire lifetime of the token. This applies both on the bonding curve (before graduation) and on the Meteora DAMMv2 pool (after graduation).
The 1% fee is split:
* 50% to the creator.
* 50% to Jupiter.
This fee structure does not change after graduation. The creator continues earning their share of trading fees from the Meteora pool.
### Anti-sniper fee
During the anti-sniper window (first 15 to 60 seconds after launch), an additional fee is charged on top of the 1% trading fee. This fee starts at 99% and decays to 0%.
The anti-sniper fee goes entirely to the creator.
### How to claim fees
Go to your Studio token page and connect with the wallet you used to launch the token.
On the right side of the page, click the green claim button next to your accumulated fees.
## Adding liquidity after graduation
After graduation, anyone (creator or not) can add liquidity to the Meteora DAMMv2 pool.
Navigate to your token's page on Studio.
Under the "Graduated" section, click the link to the graduated LP pool on Meteora.
Add liquidity directly on [Meteora](https://meteora.ag).
Adding liquidity to any pool carries risk. The value of your position depends on the price of the token. If the token price drops significantly, you may lose part or all of your deposited capital. This is sometimes referred to as impermanent loss, although the loss becomes permanent if you withdraw at a lower price.
# Jupiter Studio Overview
Source: https://docs.jup.ag/user-docs/launch/studio/index
What Jupiter Studio is, who it's for, and how it works.
Jupiter Studio is a token launch tool built into the Jupiter ecosystem. It lets anyone create a token on Solana and launch it on a bonding curve (a pricing mechanism where the price adjusts automatically based on buys and sells), without providing initial liquidity. Once the token reaches a graduation threshold, its liquidity migrates to a Meteora pool, where it continues to trade.
## Who Studio is for
Studio is for creators launching community tokens on Solana (memes, project tokens, collectibles). There are two launch modes:
* **Meme mode**: a preconfigured setup for a quick launch.
* **Custom mode**: adjustable parameters for the quote token, market caps, anti-sniping, and creator vesting.
No coding knowledge or initial liquidity is required.
## Creator earnings
Studio creators earn fees throughout the lifetime of their token, both on the bonding curve and on the Meteora pool after graduation.
| Source | Amount | When |
| ---------------- | --------------------------------------------------------------------------------- | -------------------------------------------------- |
| Trading fees | 50% of the 1% fee charged on every buy and sell | Lifetime of the token, before and after graduation |
| Anti-sniper fees | 100% of the additional fee charged during the first 15 to 60 seconds after launch | Once at launch |
Creator earnings depend on trading volume. There is no guarantee that a token will graduate or generate fees.
In addition to fees, Custom mode lets creators allocate up to 80% of token supply to themselves, subject to a vesting schedule. See [Launching a Token](/user-docs/launch/studio/launching-a-token) for the full set of vesting parameters.
For details on how fees are charged and claimed, see [Graduation and Fees](/user-docs/launch/studio/graduation-and-fees).
## Core concepts
### Token supply
Every token launched through Studio has a fixed supply of 1,000,000,000 (1 billion) tokens. This is not configurable.
### Bonding curve
A bonding curve is a smart contract that sets the token price according to a mathematical formula. Studio uses a constant product curve (xy=k, same model as Uniswap v2). When a user buys, the price increases along the curve. When a user sells, the price decreases.
Buying and selling can happen freely at any time before graduation. No initial liquidity deposit is required from the creator. Capital enters the curve as users buy in.
### Graduation
Graduation is the moment a token moves from the Studio bonding curve to a Meteora liquidity pool. After graduation, the token trades on Meteora instead of the bonding curve.
It is triggered when the bonding curve has raised enough quote tokens (the token used to buy on the curve, either SOL or USDC) to meet the graduation threshold. The minimum amount raised to graduate is 15,000 USDC (or equivalent in SOL).
When graduation triggers:
* The quote tokens raised on the curve are migrated to a Meteora DAMMv2 pool (Dynamic Automated Market Maker v2, a constant product liquidity pool on Meteora).
* The corresponding share of tokens is paired with the raised capital in the pool.
* All LP tokens from this pool are permanently locked. No one can withdraw liquidity from the graduated pool.
### Token page
Each Studio token gets a dedicated page where the creator can post content, share updates, and claim earned fees.
### Ecosystem visibility
Every token launched through Studio automatically appears on Alphascan (within Jup Pro) and is flagged as a Studio token.
If a token has no trading activity, it may temporarily fall off Alphascan. It reappears when new trades occur.
## Next steps
Modes, configuration, and anti-sniper protection.
What happens after graduation, how fees work, and how to claim them.
***
# Launching a Token
Source: https://docs.jup.ag/user-docs/launch/studio/launching-a-token
How to launch a token on Jupiter Studio: modes, configuration, and anti-sniper protection.
## Launch flow
The launch process has three steps.
Connect your wallet on [studio.jup.ag](https://studio.jup.ag). This wallet becomes your deployer wallet and is used to claim fees later.
Choose a launch mode: **Meme** (preconfigured) or **Custom** (adjustable parameters). See details below.
Enter your token info: image, name, and symbol.
You can use the **Magic Gen** button to auto-generate token info.
Review your launch configuration. This screen shows a recap of your settings, the token supply breakdown, and the estimated amount raised before graduation.
You can also:
* Upload a header banner for your token page (or generate one).
* Write a description for your token.
* Add social links (optional).
If you need to change settings, click **Customize Settings** to go back.
Confirm and launch. Your token is immediately live on the bonding curve.
## Launch modes
Meme mode uses fixed parameters designed for community token launches. No configuration is needed beyond basic token info (name, symbol, image).
| Setting | Value |
| ----------------------------------------- | ------------- |
| Quote token | USDC |
| Initial market cap | 5,000 USDC |
| Graduation market cap | 75,000 USDC |
| Estimated amount raised before graduation | \~15,390 USDC |
| Anti-sniping | Enabled |
| Creator vesting | None |
**Token supply breakdown (meme mode):**
| Category | Tokens | Percentage |
| -------------------------------------------- | ----------- | ---------- |
| Bonding Supply (sold on curve) | 795,000,000 | 79% |
| Migrating Supply (moved to LP at graduation) | 205,000,000 | 21% |
Custom mode lets creators adjust the launch parameters. The token allocation and estimated raise update in real time as you change settings.
**Curve settings:**
| Parameter | Description | Constraints |
| --------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Quote token | Token used to buy on the curve. | SOL or USDC. |
| Initial market cap | Starting market cap of the token at launch. | No hard min/max, but the raised amount must be at least 15,000 USDC or equivalent in SOL. |
| Graduation market cap | Market cap threshold that triggers graduation. | Same constraint: raised amount must reach at least 15,000 USDC or equivalent in SOL. |
| Anti-sniping | Toggle anti-sniper protection on or off. | On or off. |
| Transaction fees | Fee charged on every transaction. | 1% by default. |
**Vesting settings:**
| Parameter | Description | Options |
| ----------------- | ------------------------------------------------------------------------ | ----------------------------- |
| Supply vested | Percentage of token supply allocated to the creator, subject to vesting. | 0% to 80%. |
| Vesting duration | How long the vesting period lasts. | 6 months or 12 months. |
| Vesting frequency | How often vested tokens unlock. | Daily by default. |
| Cliff | Initial period before any vested tokens begin unlocking. | None, 6 months, or 12 months. |
The Studio UI displays the token supply breakdown and estimated amount raised before graduation in real time as you adjust parameters.
Creator vesting parameters are set at launch and cannot be changed afterward. Vested tokens unlock according to the schedule you configure. Choose carefully.
## Anti-sniper protection
Studio includes built-in anti-sniper protection to reduce the advantage of bots buying immediately after launch.
**How it works:**
An additional fee is applied to all buy transactions immediately after launch. This fee starts at 99% and decreases to 0% over a randomized period between 15 and 60 seconds. The randomized duration is set per launch.
The anti-sniper fee is added on top of the standard 1% trading fee. It is credited entirely to the creator.
**Visibility:**
* The jup.ag trading interface displays a warning when anti-sniper fees are active on a token.
* The exact randomized duration is not shown in the UI but can be read on-chain from the launch transaction.
If you buy a token in the first seconds after launch, you may pay a significantly higher fee due to anti-sniper protection. Wait for the warning on jup.ag to disappear before buying if you want to avoid this.
***
# VRFD FAQ
Source: https://docs.jup.ag/user-docs/launch/vrfd/faq
Frequently asked questions about Jupiter VRFD: token verification, metadata updates, and Verified Insights.
## For Users & Traders
Common questions about what token verification means, how it affects your experience, and how Verified Insights work.
The green checkmark next to a token's ticker indicates that it is the canonical version of that token. It helps traders identify the correct token, especially on Solana where anyone can mint a token with any name.
The checkmark is visible in Jupiter wallet, Jupiter Spot (trading page and search bar), and on partner platforms using the Jupiter strict list, such as Phantom.
For more details, see [Token Verification](/user-docs/launch/vrfd/token-verification).
No. Verification confirms that a token is the canonical version of a given ticker. It is not an endorsement of the project, the team, or the token's quality or safety.
Always do your own research before making any decisions. Verified status can be removed.
Yes. Unverified tokens are available on Jupiter as long as their pools have sufficient liquidity on the DEXes Jupiter integrates. Tokens are prioritized in search by text similarity, volume, and liquidity.
Yes. Jupiter periodically reviews verified tokens and can remove the label under strict conditions: the token has no remaining liquidity, has stopped trading entirely, has migrated to a new contract address, or has a ticker conflict with another verified token.
For more details, see [After Verification](/user-docs/launch/vrfd/token-verification#after-verification).
Yes. Anyone can like a pending submission from its public page on [verified.jup.ag/tokens](https://verified.jup.ag/tokens). Likes from wallets identified as Smart by Jupiter feed into a social trust score, which moves submissions up the Standard Review queue.
For more details, see [Standard Review](/user-docs/launch/vrfd/token-verification#review-methods).
Verified Insights are curated, AI-generated highlights about notable price movements, trading activity, or onchain events for a token. They are reviewed by Jupiter team members and community contributors before being published.
They appear on Jupiter Token Pages and in Jupiter Mobile. For more details, see [Verified Insights](/user-docs/launch/vrfd/verified-insights).
Insights are initially generated by Jupiter's monitoring system, then reviewed by Jupiter team members and community contributors involved in content curation. These are not Discord or forum community moderators.
Verified Insights are available through the Jupiter Pro API (Content API), which requires a paid subscription. Multiple tiers are available.
See the [Content API documentation](https://dev.jup.ag/docs/tokens/v2/content) for integration details and current pricing.
## For Project Teams & Token Creators
Questions about the verification process, metadata updates, and how to submit or manage your token's information on Jupiter.
Anyone can submit a verification request for any token, including community members. It is not limited to project teams or token creators. You can optionally connect the project's X account during the application.
Submit your application at [verified.jup.ag/tokens](https://verified.jup.ag/tokens).
Both methods lead to the same outcome: the token is either verified or not. The difference is cost and speed.
**Standard Review** is free but has no guaranteed timeline. Applications are reviewed based on team capacity and backlog. Submissions are prioritized by age, trading volume, and Smart Likes.
**Express Review** costs 1,000 JUP (collected at submission, burned by Jupiter via multisig). The first review is guaranteed within 24-48 hours. If not approved, up to 2 additional reviews follow at 24-48 hour intervals (3 reviews total per application).
Express review guarantees a review, not verification.
For full details, see [Review Methods](/user-docs/launch/vrfd/token-verification#review-methods).
Standard Review has no guaranteed timeline. Review times depend on team capacity and current backlog. Submissions are prioritized by age, trading volume, and Smart Likes.
Express Review guarantees a first review within 24-48 hours of submission. If not approved, up to 2 additional reviews follow at 24-48 hour intervals.
For full details, see [Review Methods](/user-docs/launch/vrfd/token-verification#review-methods).
Express Review costs 1,000 JUP per submission. The fee is non-refundable regardless of the outcome. A refund only applies if the 24-hour first review commitment is not met.
The tokens are burned by Jupiter through a multisig wallet and are not retained by the team.
Express Review applicants receive a general reason for rejection (e.g., Ticker Conflict, Below Thresholds).
There is no formal waiting period, but reapplying without meaningful progress on the flagged metrics will lead to the same result. Reapplying via Express requires a new 1,000 JUP fee. You can also upgrade an existing Standard application to Express at any time.
Before resubmitting, contact support at [support.jup.ag](https://support.jup.ag) to understand the reason for rejection and what to improve.
For more details, see [Rejection and Reapplication](/user-docs/launch/vrfd/token-verification#rejection-and-reapplication).
Each submission is automatically scanned by JupShield, which surfaces warnings such as Not Sellable, Not Verified, Low Liquidity, Low Organic Activity, or New Listing. They are visible on the public submission page and help reviewers and the community assess the token's status at a glance.
JupShield warnings do not automatically lead to a rejection, but they are part of the holistic review and can affect the final decision.
These warnings are set by third-party security providers (such as Blockaid) that wallets like Phantom use to screen tokens. Jupiter does not set or control them. Those providers run their own review process, which can draw on a range of sources — including Jupiter's verified-token list — so verifying your token on Jupiter may help, but it does not guarantee the warning is removed. To dispute a specific warning, request a review directly with the provider that issued it.
Anyone can submit a metadata update request, including community members. This is useful for community-owned tokens, projects that have lost onchain metadata access, or when new social channels need to be added.
Each submission requires a 1,000 JUP fee, collected at submission and burned by Jupiter via multisig.
If a previous request was rejected due to a misunderstanding or missing proof, contact support at [support.jup.ag](https://support.jup.ag) before resubmitting. The metadata team can assist without requiring a new payment in those cases.
Submit your request at [verified.jup.ag/metadata](https://verified.jup.ag/metadata). For full details, see [Token Metadata Updates](/user-docs/launch/vrfd/token-metadata-updates).
You can update: logo (PFP), name, symbol (ticker), description, socials (website, X account, X community link, Telegram, Discord, Instagram, TikTok, Linktree), and circulating supply.
For the full process, see [What Can Be Updated](/user-docs/launch/vrfd/token-metadata-updates#what-can-be-updated).
For security reasons, Jupiter does not automatically pull metadata changes from onchain sources after a token has been verified. All changes go through a manual review process to ensure legitimacy.
If you want Jupiter to reflect updated onchain metadata, submit a request through the [metadata form](https://verified.jup.ag/metadata).
# VRFD Overview
Source: https://docs.jup.ag/user-docs/launch/vrfd/index
What Jupiter VRFD is, what it covers, and how it helps maintain token quality across the Solana ecosystem.
## What Is Jupiter VRFD
Jupiter VRFD is Jupiter's token verification and information system. It provides tools for verifying tokens, updating token metadata, and surfacing curated insights about token activity.
Jupiter has maintained a verified token list as a free public resource for the Solana ecosystem for over four years. As the number of tokens on Solana grew, the system evolved through several iterations to balance speed, accuracy, and resistance to manipulation. The current version (V4) combines heuristic signals with manual review.
The verified token list is integrated across the ecosystem by partners including decentralized exchanges, wallets, and screeners.
Verification is not an endorsement of any project or team by Jupiter. It does not guarantee a token's legitimacy, safety, or quality. Always conduct your own research.
## What VRFD Covers
VRFD consists of three distinct features, each with its own process and purpose.
Submit a token for verification to receive a green checkmark across Jupiter products and partner platforms. Open to anyone. Two review methods are available: Standard (free, no guaranteed timeline) and Express (1,000 JUP fee, first review within 24-48 hours).
Update a token's name, symbol, logo, description, socials, or circulating supply across Jupiter products. Open to anyone, including community members. Requires a 1,000 JUP fee per submission. Currently in beta.
Curated, AI-generated highlights about notable price movements, trading activity, or onchain events. Reviewed by Jupiter team members and community contributors. Visible on Token Pages and in Jupiter Mobile.
Frequently asked questions about token verification, metadata updates, and Verified Insights.
## Key Links
Apply for token verification on Jupiter.
Request changes to your token's information.
Browse curated insights on token activity.
Open a support ticket for help with VRFD.
# Token Metadata Updates
Source: https://docs.jup.ag/user-docs/launch/vrfd/token-metadata-updates
How to update your token's metadata across Jupiter products.
## What Are Metadata Updates
Token metadata updates allow anyone to submit changes to a token's information across Jupiter products, including Spot, Mobile, and API services.
This is an open process. Anyone can submit an update request, not just project teams. This is particularly useful when:
* A project team has lost access to update onchain metadata
* New social channels need to be added
* A token has transitioned to community ownership (CTO)
* A community wants to keep token information accurate
This process is currently in beta. Review timelines and procedures may evolve.
## What Can Be Updated
The following fields can be updated through this process:
* **Logo** (PFP)
* **Name**
* **Symbol** (ticker)
* **Description**
* **Socials:** website, X account, X community link, Telegram, Discord, Instagram, TikTok, Linktree
* **Circulating Supply**
## How to Submit
Submit your request at [verified.jup.ag/metadata](https://verified.jup.ag/metadata).
Include all the changes you need in a single submission.
A fee of 1,000 JUP is required per submission, collected at the time of submission. The tokens are burned by Jupiter through a multisig wallet and are not retained by the team.
Once submitted, your request enters the review queue.
To help speed up approval, include verifiable public sources that confirm the legitimacy of your request. Examples include announcements from your official X account, official project communications, or APIs hosted on your official domain.
## Review Process
Reviews are typically completed within 2-3 business days, though this may vary.
Once approved:
* Most changes reflect instantly across Jupiter products and APIs
* Some fields (such as descriptions) are cached on the UI and may take up to an hour to refresh
## Rejection and Resubmission
If your request is rejected, you can resubmit after addressing the issues.
A new submission technically requires a new 1,000 JUP fee, since the fee is collected at the time of submission. However, if the rejection was due to a misunderstanding or missing proof, contact support at [support.jup.ag](https://support.jup.ag) before resubmitting. The metadata team can assist without requiring a new payment in those cases.
Avoid submitting duplicate or spam requests, as this may delay processing.
## Onchain Metadata Sync
For security reasons, Jupiter does not automatically sync metadata changes from onchain sources after a token has been verified. All changes must go through this manual review process to ensure legitimacy.
If you want Jupiter to pull the latest onchain metadata for your token, submit a request through the [same form](https://verified.jup.ag/metadata).
## Check Your Request Status
You can track the progress of your request on the [Submissions page](https://verified.jup.ag/metadata).
# Token Verification
Source: https://docs.jup.ag/user-docs/launch/vrfd/token-verification
How to get your token verified on Jupiter, review methods, criteria, and what Verified status means.
## What Is Token Verification
Token verification on Jupiter adds a green checkmark next to a token's ticker, indicating it is the canonical version of that token. This helps traders identify the correct token quickly, especially on a network like Solana where anyone can mint a token with any name.
The Jupiter verified token list is also integrated by ecosystem partners, including decentralized exchanges, wallets, and screeners, improving the token's discoverability and credibility across the ecosystem.
Verification is not an endorsement of the project or team by Jupiter. It does not guarantee the token's legitimacy, safety, or quality. Verified tags can be removed. Always conduct your own research before making any decisions.
## What Verified Status Looks Like
Once verified, a green tick appears next to the token's ticker. This is visible in:
* Jupiter wallet
* Jupiter Spot (trading page and search bar)
* Partner platforms using the Jupiter strict list (e.g., Phantom)
The "Unverified" warning that normally appears for non-verified tokens is removed.
Unverified tokens can still be traded on Jupiter. Tokens are listed as long as their pools have sufficient liquidity on the DEXes Jupiter integrates. The global token search shows verified tokens by default: when no verified result matches, the search offers a clear option to include unverified tokens. Within results, tokens are ranked by text similarity, volume, and liquidity.
## Who Can Apply
Anyone can submit a verification request for any token, including community members. This is not limited to project teams or token creators.
An option to connect the project's X account during the application is available. This can help officially link the token's contract address to a specific X account, but it is not required.
Submit your application at [verified.jup.ag/tokens/submit](https://verified.jup.ag/tokens/submit).
## Verification Criteria
Token verification is a holistic evaluation. No single metric is looked at in isolation. The criteria balance each other, and expectations can vary depending on the token's age, category (e.g., stablecoin, utility token), and the strength of other metrics.
The main criteria are:
**Market Cap** Reflects overall market sentiment. During application, warnings are shown if the ticker is already verified for a different contract address, or if the market cap is under \$100k. Neither warning guarantees a rejection.
**Organic Score** Measures genuine human trading activity while reducing the influence of volume bots. The exact calculation is not publicly disclosed to prevent gaming. For more information, see the [Organic Score documentation](https://dev.jup.ag/docs/tokens/organic-score).
**Token Holders** Evaluates the distribution of token supply. A healthy supply distribution is more impactful than a high holder count alone.
**Ticker Uniqueness** Ensures the token can be easily identified by traders without confusion with existing verified tokens.
**Social Support** This is the most important criterion. It is measured through Smart Followers (a Jupiter-internal metric tracking quality of social audience) and organic engagement on the project's linked X account. The X account must be dedicated exclusively to the project (not a personal or KOL account). The exact calculation is not disclosed to prevent exploitation.
**Onchain Liquidity** Evaluates whether the token is actively tradable onchain. Locked liquidity is taken into account.
Exceptions can apply for specific cases, such as pre-launch tokens, stablecoins, or projects with strong institutional backing (e.g., Solana Foundation, MetaDAO), where standard trading data may not yet be available.
## Review Methods
Jupiter offers two review methods. Both lead to the same outcome: the token is either verified or not. Standard Review is free with no guaranteed timeline. Express Review costs 1,000 JUP and guarantees a first review within 24-48 hours.
* Free
* No guaranteed timeline
* Applications are reviewed based on team capacity and current backlog
* Due to the high volume of submissions, review times can vary significantly
Standard Review submissions are prioritized based on three signals:
* **Age of submission**
* **Trading volume**
* **Smart Likes** (likes from wallets identified as Smart by Jupiter)
Smart Likes feed into a social trust score. Higher trust scores move pending submissions up the queue. Anyone can like a submission from its public page on [verified.jup.ag/tokens/browse](https://verified.jup.ag/tokens/browse).
* **Fee:** 1,000 JUP, collected at the time of submission
* **First review:** guaranteed within 24-48 hours of submission
* **Reconsideration:** if not approved on the first review, up to 2 additional reviews follow at 24-48 hour intervals (3 reviews total per application)
Express review guarantees a fast review, not verification.
The JUP fee is collected at submission. The tokens are then burned by Jupiter through a multisig wallet. They are not retained by the Jupiter team.
The fee is non-refundable, regardless of whether the token is verified or not. A refund only applies if the 24-hour first review commitment is not met.
## JupShield Warnings
Each submission is automatically scanned by JupShield, which surfaces warnings such as Not Sellable, Not Verified, Low Liquidity, Low Organic Activity, or New Listing. These warnings are visible on the public submission page and help reviewers and the community assess the token's status at a glance.
JupShield warnings do not automatically lead to a rejection, but they are part of the holistic review and can affect the final decision.
## After Submission
You can check the status of your application at the [Submissions page](https://verified.jup.ag/tokens/submit).
If your token is not verified through Express Review, you will receive a general reason for the rejection (e.g., Ticker Conflict, Below Thresholds).
**"Below Thresholds"** means the token did not sufficiently meet the holistic [Verification Criteria](#verification-criteria) above — most commonly Market Cap, Organic Score, Token Holders, Onchain Liquidity, or Social Support. Exact threshold values are intentionally not published (to prevent gaming), so there is no single number to hit — focus on improving the underlying metrics before reapplying. Note that Express Review guarantees a fast review, **not** verification, and its fee is non-refundable.
For more detailed feedback or to share additional context, reach out via a support ticket at [support.jup.ag](https://support.jup.ag).
## Rejection and Reapplication
There is no formal waiting period before reapplying. However, reapplying without meaningful progress on the metrics that were below thresholds will lead to the same outcome.
Key points:
* Reapplying via Express Review requires a new 1,000 JUP fee
* Anyone can upgrade an existing Standard application to Express at any time
* Before resubmitting, it is recommended to contact support to understand the reason for rejection and what to improve
## After Verification
Verification is not permanent. Jupiter periodically reviews verified tokens and can remove the Verified label under strict conditions:
* The token has no remaining liquidity
* The token has stopped trading entirely
* The token has migrated to a new contract address
* There is a ticker conflict with another verified token
This policy is intentionally strict to maintain the quality and usefulness of the verified list.
# Verified Insights
Source: https://docs.jup.ag/user-docs/launch/vrfd/verified-insights
What Verified Insights are, how they're curated, and how to access them.
## What Are Verified Insights
Verified Insights are curated highlights covering notable price movements, trading activity, or onchain events for a token. They are AI-generated, then reviewed by Jupiter team members and community contributors to ensure accuracy and relevance.
Verified Insights appear on Jupiter Token Pages and in Jupiter Mobile, helping users quickly understand key developments around a token. On token pages they surface as the **Latest News** panel, and on [verified.jup.ag](https://verified.jup.ag/) they are published under the **News** section ([verified.jup.ag/news](https://verified.jup.ag/news)).
## What Gets Published
Insights typically cover events that have a meaningful impact on a token's price, or that explain a recent price movement. Examples include:
* Major product launches or protocol updates
* Mentions by high-profile accounts that move the market
* Onchain exploits or security incidents
* DAO governance votes
* Meaningful weekly or monthly recaps
Anyone can submit an insight for any token, regardless of whether the token is verified. Approval depends on content quality and relevance.
In practice, the curation team focuses on tokens in the Trending Tab or in the top 50 by market cap, which are usually already verified. Submissions for lower market cap tokens can be approved if the content quality is high, but most are filtered to maintain a high ratio of useful, relevant content.
## How Insights Are Moderated
Insights are initially generated by Jupiter's monitoring system, which tracks activity across social channels and onchain data. They are then reviewed and curated by Jupiter team members and community contributors.
Community contributors here refers to individuals involved in content curation, not to Discord or forum community moderators.
## Update Frequency
Insights are published in real time, whenever Jupiter's systems identify a notable event.
## API Access
Verified Insights are available through the Jupiter Pro API (Content API). The Pro API requires a paid subscription with multiple tiers available.
For integration details, see the [Content API documentation](https://dev.jup.ag/docs/tokens/v2/content).
For current Pro API pricing and access tiers, check the developer documentation linked above.
## Report an Issue
If you notice an incorrect or misleading insight, open a support ticket at [support.jup.ag](https://support.jup.ag).
# Privacy Policy
Source: https://docs.jup.ag/user-docs/legal/privacy-policy
How Jupiter collects, uses, and protects personal data across the Jupiter interface and its dApps.
**Jupiter**, accessible at: [https://jup.ag](https://jup.ag), one of its main priorities is the privacy of participants who are visitors of [https://jup.ag](https://jup.ag) and its dApps (the “Interface”). Jupiter does it best to collect as minimum Personal Data as possible. This Privacy Policy document contains types of data that are collected, used, and recorded by Jupiter.
The Jupiter Interface backed by Block Raccoon S.A., a company incorporated in Panama, which is the controller for your Personal Data within the scope of this Privacy Policy. Jupiter decides “why” and “how” your Personal Data is processed in connection with the Interface. If you have additional questions or require more information about this Privacy Policy, do not hesitate to contact [privacy@jup.ag](mailto:privacy@jup.ag).
This Privacy Policy applies only to the Interface activities and is valid for participants who are visitors to the Interface with regards to the Personal Data that they share and/or which is collected within Jupiter Interface. This Privacy Policy is not applicable to any Personal Data collected offline or via channels other than the Interface. Please read this Privacy Policy carefully to understand our policies and practices regarding your data and how it will be treated by the Interface.
*IF YOU DO NOT HAVE THE RIGHT, POWER AND AUTHORITY TO ACT ON BEHALF OF AND BIND THE BUSINESS, ORGANIZATION, OR OTHER ENTITY YOU REPRESENT, PLEASE DO NOT ACCESS OR OTHERWISE USE THE INTERFACE. IF YOU ARE INTERESTED IN HOW WE USE COOKIES AND YOU CAN CHANGE YOUR COOKIE CHOICE, PLEASE SEE SECTION 5 “COOKIES AND AUTOMATICALLY-COLLECTED DATA”*
### **1. Changes to this Agreement**
If our data processing practices change, we will update this Privacy Policy accordingly to let you know of them upfront and give you a possibility to either provide your consent, object to a particular processing, or undertake other action you are entitled to under the Regulation. Please keep track of any changes we may introduce to this Privacy Policy. Your continued access to and use of the Interface constitutes your awareness of all amendments made to this Privacy Policy as of the date of your accessing and use of the Interface. Therefore, we encourage you to review this Privacy Policy regularly as you shall be bound by it. If, for some reason, you are not satisfied with our personal data processing practices, your immediate recourse is to stop using the Interface. You do not have to inform us of this decision unless you intend to exercise some of the data protection rights stipulated by GDPR and defined below in this Privacy Policy.
### **2. Eligibility**
*Age.* By accessing our using the Interface, you represent and warrant that you are at least eighteen (18) years of age. If you are under the age of eighteen (18), you may not, under any circumstances or for any reason, use the Interface. Please report to us any instances involving the use of the Interface by individuals under the age of 18, should they come to your knowledge.
### **3. Applicability**
This Privacy Policy applies to all your interactions with us via the Interface and your interactions with us in connection therewith. Below are the categories of our processors used on the Interface due to an internal data processing roadmap providing a brief grasp of our data processing activities with regard to each piece of the Personal Data we may collect through the Interface, as well as your place in every data processing event. It can be requested at [privacy@jup.ag](mailto:privacy@jup.ag). Below are the categories of our processors which can access and process your Personal Data through the Interface:
1. Technical maintenance vendors;
2. Project and team management vendors;
3. Communication vendors;
4. Analytics, statistics, performance, marketing vendors.
### **4. Data processing in connection with the Interface**
Types of Data Collected
To the maximum extent possible, Jupiter tries to collect as minimum Personal Data from you as possible. Personal Data we collect:
* IP address, MAC address, log files, domain server, data related to usage, performance, website security, traffic patterns, location information, browser and device information – only when you are using the Interface;
* Wallet addresses (public blockchain addresses), transaction, and balance information (blockchain data) that is accessible when interacting with the Interface; We use public Blockchain addresses to identify a user’s journey through our product. We group and analyze these user journeys collectively in order to improve our product user experience. We do not use this data for any purpose at an individual user level. The legal basis for this processing is our legitimate interests, such as monitoring and improving the Interface, the proper protection of the Interface against risks, and partly the contract performance basis to provide you the Interface. Note that we are not responsible for your use of any of the blockchain and your data processed in these decentralized and permissionless networks;
* Log Files. Jupiter follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and this kind of Personal Data may also be collected as a part of hosting services' analytics. The data collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These kinds of data may be linked to data that is personally identifiable. The purpose of the data collection and processing is for analyzing trends, administering the website, tracking users' movement on the website, and gathering demographic information;
Jupiter may also engage third-parties advertising platforms that are triggered only when their technical features (so-called “pixels”) are enabled through the Interface. The mentioned third-parties advertising platforms may collect Personal Data of Interface's visitors only with the purpose to optimize their advertising possibilities through their platforms, target you with their advertisements, and possibly share your data with other advertising platforms and agencies for further use. Jupiter may engage with the mentioned Personal Data of Interfaces visitors.
In no event, are we going to ask you to share your private keys or wallet seed. Never trust anyone or any website that asks you to enter your private keys or wallet seed.
How and Why we use your Personal Data
We may use your Personal Data listed above only for:
* Our internal and operational purposes, when: ensuring security, identifying irregular website behavior, preventing fraudulent activity, and improving security at all possible levels;
* Assessing and improving the performance of the Interface;
* Analyzing our website visitors’ actions to improve our Interface (section “Cookies and Automatically Collected Data”);
* Analyzing the Interface behavior, including via: Google Analytics (please refer to Google's Analytics Policy for more information);
* Find and prevent fraud.
To clear any doubts, we may use Personal Data described above or any other Personal Data:
* on the basis of contract performance or necessity to enter into a contract (where the Personal Data is required for us to perform our undertakings and obligations in accordance with a contract we are entering into when you use our services, or where we are at the negotiations phase);
* on the basis of our or our processors’ legitimate interests to protect the Interface, prevent any malicious and harmful activities to the Interface, maintain our technical systems healthily and secure, improve services and products by using aggregate statistics;
* to respond to legal requests of authorities, provide information upon court orders and judgments, or if we have a good-faith belief that such disclosure is necessary in order to comply with official investigations or legal proceedings initiated by governmental and/or law enforcement officials, or private parties, including but not limited to: in response to subpoenas, search warrants or court orders, and including other similar statutory obligations we or our processors are subjected to;
* on the basis of your consent; and
* on other legal bases set forth in the personal data protection laws.
Disclosure of Data
In continuation of legal bases for collecting and processing the Personal Data, We may disclose any Personal Data about you:
* in connection with a merger, division, restructuring, or other association change; or
* to our subsidiaries or affiliates (if any) only if necessary for operational purposes. If we must disclose any of your Personal Data in order to comply with official investigations or legal proceedings initiated by governmental and/or law enforcement officials, we may not be able to ensure that such recipients of your Personal Data will maintain the privacy or security of your Personal Data.
Data Retention Period
Jupiter maintains Personal Data exclusively within the time needed to follow prescribed herein legal purposes. When we no longer need Personal Data, the limitation period for storage of such Personal Data has expired, you have withdrawn your consent or objected to our or our processors’ legitimate interests, we securely delete or destroy it unless the statutory requirements we, our processors or other controllers are subjected to stipulate otherwise. Aggregated data, which cannot directly identify a device/browser (or individual) and is used for purposes of reporting and analysis, is maintained for as long as commercially necessary till you object to the processing of such data or withdraw your consent. Sometimes legal requirements oblige us to retain certain data, for specific purposes, for an extended period of time. Reasons we might retain some data for longer periods of time include:
* Security, fraud & abuse prevention;
* Financial monitoring and record-keeping;
* Complying with legal or regulatory requirements;
* Ensuring the continuity of your interaction with the Interface.
Your Inquiries
You may contact us by email at the following email address: [privacy@jup.ag](mailto:privacy@jup.ag); We use the data that you provide in an email to us, which you may give voluntarily, only in order to answer your question or to reply to your email in the best possible manner.
### **5. Cookies and Automatically Collected Data**
As you navigate through and interact with our Interface, we may ask your consent to use cookies, which are small files placed on the hard drive/browser of your computer or mobile device, and web beacons, which are small electronic files located on pages of the Interface, to collect certain information about devices you use, browsing actions, and patterns.
The data automatically collected from cookies and web beacons may include information about your web browser (such as browser type and browser language) and details of your visits to the Interface, including traffic data, location data and logs, page views, length of visit, and website navigation paths as well as information about your device and internet connection, including your IP address and how you interact with the Interface. We collect this data in order to help us improve the Interface and interaction with it.
The information we collect automatically may also include statistical and performance information arising from your use of the Interface. This type of data will only be used by us in an aggregated and pseudonymized manner.
You can choose to disable cookies through your individual browser options. To get more detailed information about cookie management with specific web browsers, please find it on the browsers' respective websites:
* For Google Chrome browser please refer to these instructions: [Google Chrome](https://support.google.com/accounts/answer/32050)
* For Firefox browser please look up here: [Firefox](https://support.mozilla.org/en-US/kb/clear-cookies-and-site-data-firefox)
* For Safari browser please visit: [Safari](https://support.apple.com/guide/safari/sfri11471/mac)
* For Internet Explorer browser please refer to: [Internet Explorer](https://support.microsoft.com/en-us/windows/delete-and-manage-cookies-168dab11-0753-043d-7c16-ede5947fc64d)
### **6. Your rights under GDPR**
Under certain circumstances, you may have a number of privacy rights concerning the use, storage, and processing of your Personal Data (e.g., the right to delete your data). Here is a list of privacy rights:
* right to be informed - we are publishing this Privacy Policy to keep you informed as to what we do with your Personal Data. You can ask us for Personal Data regarding you that we keep at any time. This information concerns, among other things, the data categories we process, for what purposes we process them, the origin of the data if we did not acquire them directly from you and, if applicable, the recipients to who we have sent your data.
* right of access – You may ask us whether we process your Personal Data and you have the right to request a copy of the data we hold about you. right of rectification – You have the right to correct inaccurate or incomplete data about you.
* right to be forgotten – You can ask for the Personal Data that we hold about you to be erased from our system and we will comply with this request unless we have a legitimate reason, legal requirement, and other statutory basis not to do so. Even if we can delete (erase) the Personal Data subject to our active (ongoing) processing activities and cease its processing, we will nevertheless retain this particular Personal Data in our backup and archive storages to fulfill our statutory and other requirements.
* right to restriction of processing – where certain conditions apply, you can ask us to ‘block’ the processing of your Personal Data.
* right to data portability – You have the right to have the data we hold about you transferred to another organization and to receive Personal Data in a structured, commonly used format. Please apply to: [privacy@jup.ag](mailto:privacy@jup.ag) to find out whether we currently support the provision of the portable file containing Personal Data we process about you.
* right to object - You can object to the processing of your data by applying to: [privacy@jup.ag](mailto:privacy@jup.ag) at any time for reasons that arise from your special situation provided the data processing is based on our legitimate interest or that of a third party, or where we carry out profiling, use machine learning or automated decision-making algorithms. In this case, we will no longer process your Personal Data. The latter does not apply if we are able to prove there are compelling, defensible reasons for the processing that outweigh your interests or we require your data to assert, exercise, or defend legal claims.
* right to withdraw consent - withdraw the consent you gave us with regard to the processing of your Personal Data for certain purposes.
* right to complain - we take your rights very seriously. However, if you are of the opinion that we have not dealt with your complaints adequately, you have the right to submit a complaint to the data privacy protection authorities responsible. You can send your complaints to the EEA supervisory authority of your country of residence.
Please email: [privacy@jup.ag](mailto:privacy@jup.ag) with any questions about exercising any of the above rights. If You wish to learn more about the GDPR and Your rights, the Information Commissioner’s Office website is a reliable source.
### **7. Privacy of children**
Our Interface is not directed to collect any data from people under the age of 18. We do not knowingly allow anyone under 18 years old to submit any data to our Interface. If you believe your child may have provided us with their data, you can contact us using the information in this Policy and we will delete the data from our Interface.
### **8. Transfer of Personal Data**
Transfers to third countries shall be made subject to appropriate safeguards, namely Standard Contractual Clauses adopted by the supervisory authority and approved by the Commission. Copy of the foregoing appropriate safeguards may be obtained by you upon a prior written request sent. We may instruct you on further steps to be taken with the purpose of obtaining such a copy, including your obligation to assume confidentiality commitments in connection with being disclosed the Jupiter proprietary and personal information of third parties as well as terms of their relationships with Jupiter.
Keep in mind that the use of the Interface based on public blockchains is intended to immutably record transactions across wide networks of computer systems. Many blockchains are open to forensic analysis which can lead to deanonymization and the unintentional revelation of Personal Data, in particular when blockchain data is combined with other data. Because blockchains are decentralized or third-party networks that are not controlled or operated by us, we are not able to erase, modify, or alter Personal Data from such networks.
### **9. Data Integrity & Security of Processing**
We take data security very seriously. We work hard to protect the Personal Data you provide us from loss, misuse, or unauthorized access. We utilize a variety of safeguards such as encryption, digital and physical access controls, non-disclosure agreements, and other technical and organizational measures to protect the Personal Data submitted to us, both during transmission and once it is at rest.
Please note that no electronic transmission, storage, or processing of Personal Data can be entirely secure. We cannot guarantee that the security measures we have in place to safeguard Personal Data will never be defeated or fail, or that those measures will always be sufficient or effective. Therefore, although we are committed to protecting your privacy, we do not promise, and you should not expect that your Personal Data will always remain private or secure.
### **10. Supervisory authority oversight**
If you are a data subject whose data we process, you may also have the right to lodge a complaint with a data protection regulator in one or more of the European Union member states. Here you can find a list of data protection authorities in Europe: [https://edpb.europa.eu/about-edpb/about-edpb/members\_en](https://edpb.europa.eu/about-edpb/about-edpb/members_en)
# Terms of Use
Source: https://docs.jup.ag/user-docs/legal/terms-of-use
Terms of Use governing access to and use of the Jupiter interface at jup.ag.
Jupiter, [https://jup.ag](https://jup.ag), a website-hosted user interface (the **"Interface**") made available for use.
The Interface is a visual representation of Jupiter protocol (the "**Protocol**") which comprises open source software deployed in a permissionless manner. The Interface provides an interface which allows users to view and administer their interactions with the Protocol.
These Terms of Use and any terms and conditions incorporated herein by reference (collectively, the "**Terms**") govern your access to and use of the Interface. You must read the Terms carefully.
To make these Terms easier to read:
Jupiter is referred to as "Jupiter", "we", "us", "our" or "the Company". Jupiter's registered address is Suite 102, Cannon Place, P.O. Box 712, North Sound Rd., George Town, Grand Cayman, KY1-9006 Cayman Islands.
"You", "your" and "user(s)" refers to anybody who accesses or uses, in any way, the Interface. If you are accessing or using the Interface on behalf of a company (such as your employer) or other legal entity, you represent and warrant that you have the authority to bind that entity to these Terms and, in that case, "you", "your" or "user(s)" will refer to that entity.
By accessing, browsing, or otherwise using the Interface, or by acknowledging agreement to the Terms on the Interface, you agree that you have read, understood, and accepted all of the Terms and our Privacy Policy (the "Privacy Policy"), which is incorporated by reference into the Terms.
*IMPORTANT NOTE REGARDING ARBITRATION: WHEN YOU AGREE TO THESE TERMS BY USING OR ACCESSING THE INTERFACE, YOU ARE AGREEING TO RESOLVE ANY DISPUTE BETWEEN YOU AND JUPITER THROUGH BINDING, INDIVIDUAL ARBITRATION RATHER THAN IN COURT. AND YOU AGREE TO A CLASS ACTION WAIVER, BOTH OF WHICH IMPACT YOUR RIGHTS AS TO HOW DISPUTES ARE RESOLVED.*
If you come up with any further questions, please, dont be shy and feel free to contact us at [legal@jup.ag](mailto:legal@jup.ag)
### **1. Eligibility**
General. You may not use the Interface if you are otherwise barred from using the Interface under applicable law.
Legality. You are solely responsible for adhering to all laws and regulations applicable to you and your use or access to the Interface. Your use of the Interface is prohibited by and otherwise violate or facilitate the violation of any applicable laws or regulations, or contribute to or facilitate any illegal activity.
The Interface and each of the Company's services does not constitute, and may not be used for the purposes of, an offer or solicitation to anyone in any jurisdiction in which such offer or solicitation is not authorised, or to any person to whom it is unlawful to make such an offer or solicitation.
By using or accessing the Interface, you represent to us that you are not subject to sanctions or otherwise designated on any list of prohibited or restricted parties or excluded or denied persons, including but not limited to the lists maintained by the United Nations Security Council, the European Union or its Member States, or any other government authority.
We make no representations or warranties that the information, products, or services provided through our Interface, are appropriate for access or use in other jurisdictions. You are not permitted to access or use our Interface in any jurisdiction or country if it would be contrary to the law or regulation of that jurisdiction or if it would subject us to the laws of, or any registration requirement with, such jurisdiction. We reserve the right to limit the availability of our Interface to any person, geographic area, or jurisdiction, at any time and at our sole and absolute discretion.
Prohibited Localities. Jupiter does not interact with digital wallets located in, established in, or a resident of the United States, the Republic of China, Singapore, Myanmar (Burma), Cote D'Ivoire (Ivory Coast), Cuba, Crimea and Sevastopol, Democratic Republic of Congo, Iran, Iraq, Libya, Mali, Nicaragua, Democratic People's Republic of Korea (North Korea), Somalia, Sudan, Syria, Yemen, Zimbabwe or any other state, country or region that is subject to sanctions enforced by the United States, the United Kingdom or the European Union. You must not use any software or networking techniques, including use of a Virtual Private Network (VPN) to modify your internet protocol address or otherwise circumvent or attempt to circumvent this prohibition.
Non-Circumvention. You agree not to access the Interface using any technology for the purposes of circumventing these Terms.
### **2. Compliance Obligations**
The Interface may not be available or appropriate for use in all jurisdictions. By accessing or using the Interface, you agree that you are solely and entirely responsible for compliance with all laws and regulations that may apply to you. You further agree that we have no obligation to inform you of any potential liabilities or violations of law or regulation that may arise in connection with your access and use of the Interface and that we are not liable in any respect for any failure by you to comply with any applicable laws or regulations.
### **3. Access to the Interface**
We reserve the right to disable access to the Interface at any time in the event of any breach of the Terms, including without limitation, if we, in our sole discretion, believe that you, at any time, fail to satisfy the eligibility requirements set forth in the Terms. Further, we reserve the right to limit or restrict access to the Interface by any person or entity, or within any geographic area or legal jurisdiction, at any time and at our sole discretion. We will not be liable to you for any losses or damages you may suffer as a result of or in connection with the Interface being inaccessible to you at any time or for any reason.
The Interface and the Protocol may rely on or utilise a variety of external third party services or software, including without limitation oracles, decentralised cloud storage services, analytics tools, hence the Interface or the Protocol may be adversely affected by any number of risks related to these third party services/software. These may include technical interruptions, network congestion/failure, security vulnerabilities, cyberattacks, or malicious activity. Access to the Interface or the Protocol may become degraded or unavailable during times of significant volatility or volume. This could result in the inability to interact with third-party services for periods of time and may also lead to support response time delays. The Company cannot guarantee that the Interface or the Protocol will be available without interruption and neither does it guarantee that requests to interact with third-party services will be successful. You agree that you shall not hold the Company responsible for any losses which occur due to any of the foregoing.
### **4. Your Use of Interface**
By using or accessing the Interface, you represent and warrant that you understand that there are inherent risks associated with virtual currency, and the underlying technologies including, without limitation, cryptography and blockchain, and you agree that Jupiter is not responsible for any losses or damages associated with these risks. You specifically acknowledge and agree that the Interface facilitates your interaction with decentralized networks and technology and, as such, we have no control over any blockchain or virtual currencies and cannot and do not ensure that any of your interactions will be confirmed on the relevant blockchain and do not have the ability to effectuate any cancellation or modification requests regarding any of your interactions.
Without limiting the foregoing, you specifically understand and hereby represent your acknowledgment of the following:
The pricing information data provided through the Interface does not represent an offer, a solicitation of an offer, or any advice regarding, or recommendation to enter into, a transaction with the Interface.
The Interface does not act as an agent for any of the users.
The Interface does not own or control any of the underlying software through which blockchain networks are formed, and therefore is not responsible for them and their operation.
You are solely responsible for reporting and paying any taxes applicable to your use of the Interface.
Although it is intended to provide accurate and timely information on the Interface, the Interface or relevant tools may not always be entirely accurate, complete, or current and may also include technical inaccuracies or typographical errors. Accordingly, you should verify all information before relying on it, and all decisions based on information contained on the Interface or relevant tools are your sole responsibility.
In order to allow other users to have a full and positive experience of using the Interface you agree that you will not use the Interface in a manner that:
Breaches the Terms;
Infringes on or violates any copyright, trademark, service mark, patent, right of publicity, right of privacy, or other proprietary or intellectual property rights under the law;
Seeks to interfere with or compromise the integrity, security, or proper functioning of any computer, server, network, personal device, or other information technology system, including, but not limited to, the deployment of viruses and denial of service attacks;
Attempts, in any manner, to obtain the private key, password, account, or other security information from any other user, including such information about the digital wallet;
Decompiles, reverse engineer, or otherwise attempt to obtain the source code or underlying ideas or information of or relating to the Interface;
Seeks to defraud us or any other person or entity, including, but not limited to, providing any false, inaccurate, or misleading information in order to unlawfully obtain the property of another;
Violates any applicable law, rule, or regulation concerning the integrity of trading markets, including, but not limited to, the manipulative tactics commonly known as spoofing and wash trading;
Violates any applicable law, rule, or regulation of the United States or another relevant jurisdiction, including, but not limited to, the restrictions and regulatory requirements imposed by U.S. law;
Disguises or interferes in any way with the IP address of the computer you are using to access or use the Interface or that otherwise prevents us from correctly identifying the IP address of the computer you are using to access the Interface;
Transmits, exchanges, or is otherwise supported by the direct or indirect proceeds of criminal or fraudulent activity;
Contributes to or facilitates any of the foregoing activities.
As it has been already stated, we only provide you with the relevant interface and software and neither has control over your interactions with the blockchain nor encourages you to perform any. Any interaction performed by you via the Interface remains your sole responsibility.
All information provided in connection with your access and use of the Interface is for informational purposes only and should not be construed as professional advice. You should not take, or refrain from taking, any action based on any information contained in the Interface or any other information that we make available at any time, including, without limitation, blog posts, articles, links to third-party content, news feeds, tutorials, tweets, and videos. Before you make any financial, legal, or other decisions involving the Interface, you should seek independent professional advice from an individual who is licensed and qualified in the area for which such advice would be appropriate.
The Terms are not intended to, and do not, create or impose any fiduciary duties on us. To the fullest extent permitted by law, you acknowledge and agree that we owe no fiduciary duties or liabilities to you or any other party and that to the extent any such duties or liabilities may exist at law or in equity, those duties and liabilities are hereby irrevocably disclaimed, waived, and eliminated. You further agree that the only duties and obligations that we owe you are those set forth expressly in the Terms.
You understand that smart contract protocols such as the Protocol simply comprise a set of autonomous blockchain-based smart contracts deployed on the relevant blockchain network, operated directly by users calling functions on it (which allows them to interact with other users in a multi-party peer-to-peer manner). There is no further control by or interaction with the original entity which had deployed the smart contract, which entity solely functions as a provider of technical tools for users, and is not offering any sort of securities product or regulated service nor does it hold any user assets on custody. Any rewards earned by user interactions arise solely out of their involvement in the protocol by taking on the risk of interacting with other users and the ecosystem.
### **5. Non-custodial nature of Interface and Protocol**
The Interface and Protocol are non-custodial in nature, therefore neither holds or controls your digital assets. Any digital assets which you may acquire through the usage of the Interface or the Protocol will be held and administered solely by you through your selected electronic wallet, and we shall have no access to or responsibility in regard to such electronic wallet or digital asset held therein. It is solely your responsibility to select the wallet service provider to use, and your use of such electronic wallet will be subject to the governing terms of use or privacy policy of the provider of such wallet. We neither own nor control your selected electronic wallet service, the relevant blockchain network, or any other third party site, product, or service that you might access, visit, or use for the purpose of enabling you to utilise the Interface or the Protocol. We will not be liable for the acts or omissions of any such third parties, nor will we be liable for any damage that you may suffer as a result of your transactions or any other interaction with any such third parties.
We will not create any hosted wallet for you or otherwise custody digital assets on your behalf, and it is your sole responsibility to maintain the security of your selected electronic wallet. You hereby irrevocably waive, release and discharge all claims, whether known or unknown to you, against us, our affiliates and their respective shareholders, members, directors, officers, employees, agents and representatives related to your use of any wallet software, associated loss of digital assets, transaction failures, or any other defects that arise in the course of your use of your electronic wallet, including any losses that may obtain as a result of any failure of the Interface or the Protocol.
Neither the Company, the Interface nor the Protocol provides any digital asset exchange or portfolio/fund management services. If you choose to engage in transactions with other users via the Interface or the Protocol, then such decisions and transactions and any consequences flowing therefrom are your sole responsibility. In no event shall the Company, its affiliates or their respective directors or employees be responsible or liable to you or anyone else, directly or indirectly, for any damage or loss arising from or relating to any interaction or continued interaction with the Interface or the Protocol or in reliance on any information provided on the Interface (including, without limitation, directly or indirectly resulting from errors in, omissions of or alterations to any such information).
"Know Your Customer" and "Anti-Money Laundering" checks: We reserve the right to conduct "Know Your Customer" and "Anti-Money Laundering" checks on you if deemed necessary by us (at our sole discretion) or such checks become required under applicable laws in any jurisdiction. Upon our request, you shall immediately provide us with information and documents that we, in our sole discretion, deem necessary or appropriate to conduct "Know Your Customer" and "Anti-Money Laundering" checks. Such documents may include, but are not limited to, passports, driver's licenses, utility bills, photographs of associated individuals, government identification cards or sworn statements before notaries or other equivalent professionals. Notwithstanding anything herein, we may, in its sole discretion, refuse to provide access to the Interface to you until such requested information is provided, or in the event that, based on information available to us, you are suspected of using the Interface or the Protocol in connection with any money laundering, terrorism financing, or any other illegal activity. In addition, we shall be entitled to use any possible efforts for preventing money laundering, terrorism financing or any other illegal activity, including without limitation monitoring of transactions which you perform, screening of your digital wallet addresses, performing analytics on the foregoing as well as any related transactions or digital wallet address, blocking of your access to the Interface or the Protocol, or providing your information to any regulatory authority.
### **6. Disclaimers**
You understand and agree that the Interface enables access to an online, decentralized, and autonomous protocol and environment, and associated decentralized networks, that are not controlled by Jupiter. We do not have access to your private key and cannot initiate an interaction with your virtual currency or otherwise access your virtual currency. We are not responsible for any activities that you engage in when using your wallet, or the Interface.
Jupiter cannot and does not represent or guarantee that any of the information available through the Interface is accurate, reliable, current, complete or appropriate for your needs. The information displayed through the Interface including information about prices is provided by third parties and/or calculated for informational purposes. Your use of any third-party scripts, indicators, ideas, and other content is at your sole risk.
You expressly understand and agree that your use of the Interface is at your sole risk. We make and expressly disclaim all representations and warranties, express, implied or statutory, and with respect to the Interface and the code proprietary or open-source, we specifically do not represent and warrant and expressly disclaim any representation or warranty, express, implied or statutory, including without limitation, any representations or warranties of title, non-infringement, merchantability, usage, security, suitability or fitness for any particular purpose, or as to the workmanship or technical coding thereof, or the absence of any defects therein, whether latent or patent. We do not represent or warrant that the Interface, code, and any related information are accurate, complete, reliable, current, or error-free. The Interface is provided on an "as is" and "as available" basis, without warranties of any kind, either express or implied, including, without limitation, implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
You acknowledge that no advice, information, or statement that we make should be treated as creating any warranty concerning the Interface. We do not endorse, guarantee, or assume responsibility for any advertisements, offers, or statements made by third parties concerning the Interface. You acknowledge that Jupiter is not responsible for transferring, safeguarding, or maintaining your private keys or any virtual currency associated therewith. If you lose, mishandle, or have stolen associated virtual currency private keys, you acknowledge that you may not be able to recover associated virtual currency and that Jupiter is not responsible for such loss. You acknowledge that Jupiter is not responsible for any loss, damage, or liability arising from your failure to comply with the terms hereunder.
By accessing and using the Interface, you represent that you understand (a) the Interface facilitates access to the Protocol, the use of which has many inherent risks, and (b) the cryptographic and blockchain-based systems have inherent risks to which you are exposed when using the Interface. You further represent that you have a working knowledge of the usage and intricacies of blockchain-based digital assets, including, without limitation, SPL token standard available on the Solana blockchain. You further understand that the markets for these blockchain-based digital assets are highly volatile due to factors that include, but are not limited to, adoption, speculation, technology, security, and regulation. You acknowledge that the cost and speed of transacting with blockchain-based systems, such as Solana, are variable and may increase or decrease, respectively, drastically at any time. You hereby acknowledge and agree that we are not responsible for any of these variables or risks associated with the Protocol and cannot be held liable for any resulting losses that you experience while accessing or using the Interface. Accordingly, you understand and agree to assume full responsibility for all of the risks of accessing and using the Interface to interact with the Protocol.
The Interface may contain references or links to third-party resources, including, but not limited to, information, materials, products, or services, that we do not own or control. In addition, third parties may offer promotions related to your access and use of the Interface. We do not endorse or assume any responsibility for any such resources or promotions. If you access any such resources or participate in any such promotions, you do so at your own risk, and you understand that the Terms do not apply to your dealings or relationships with any third parties. You expressly relieve us of any and all liability arising from your use of any such resources or participation in any such promotions.
### **7. Intellectual Proprietary Rights**
We own all intellectual property and other rights in the Interface and its contents, including, but not limited to, software, text, images, trademarks, service marks, copyrights, patents, and designs. Unless expressly authorized by us, you may not copy, modify, adapt, rent, license, sell, publish, distribute, or otherwise permit any third party to access or use the Interface or any of its contents. Accessing or using the Interface does not constitute a grant to you of any proprietary intellectual property or other rights in the Interface or its contents.
You will retain ownership of all intellectual property and other rights in any information and materials you submit through the Interface. However, by uploading such information or materials, you grant us a worldwide, royalty-free, irrevocable license to use, copy, distribute, publish and send this data in any manner in accordance with applicable laws and regulations.
You may choose to submit comments, bug reports, ideas, or other feedback about the Interface, including, without limitation, about how to improve the Interface (collectively, "Feedback"). By submitting any Feedback, you agree that we are free to use such Feedback at our discretion and without additional compensation to you, and to disclose such Feedback to third parties (whether on a non-confidential basis or otherwise). If necessary under applicable law, then you hereby grant us a perpetual, irrevocable, non-exclusive, transferable, worldwide license under all rights necessary for us to incorporate and use your Feedback for any purpose.
If (i) you satisfy all of the eligibility requirements set forth in the Terms, and (ii) your access to and use of the Interface complies with the Terms, you hereby are granted a single, personal, limited license to access and use the Interface. This license is non-exclusive, non-transferable, and freely revocable by us at any time without notice or cause in our sole discretion. Use of the Interface for any purpose not expressly permitted by the Terms is strictly prohibited.
In the event that you utilise any intellectual property in any manner which infringes on the rights of any party (including by unauthorised incorporation of the same in any project, protocol, code or any digital token), the Company reserves the sole discretion to effectuate the takedown of any such project, protocol, code or any digital token (or underlying intellectual property) at any time, without notice, compensation or payment to you. In addition, and without prejudice to the Company's other remedies under this Agreement, you shall indemnify the Company and its officers, directors, employees, contractors, agents, affiliates, and subsidiaries from and against all claims, damages, obligations, losses, liabilities, costs, and expenses arising from your aforesaid infringement of intellectual rights.
### **8. Indemnification**
You agree to hold harmless, release, defend, and indemnify us and our officers, directors, employees, contractors, agents, affiliates, and subsidiaries from and against all claims, damages, obligations, losses, liabilities, costs, and expenses arising from (a) your access to and use of the Interface; (b) your violation of these Terms, the right of any third party, or any other applicable law, rule, or regulation; and (c) any other party's access and use of the Interface with your assistance or using any device or account that you own or control.
### **9. Limitation of Liability**
Under no circumstances shall we or any of our officers, directors, employees, contractors, agents, affiliates, or subsidiaries be liable to you for any indirect, punitive, incidental, special, consequential, or exemplary damages, including (but not limited to) damages for loss of profits, goodwill, use, data, or other intangible property, arising out of or relating to any access to or use of the Interface, nor will we be responsible for any damage, loss, or injury resulting from hacking, tampering, or other unauthorized access to or use of the Interface, or from any access to or use of any information obtained by any unauthorized access to or use of the Interface. We assume no liability or responsibility for any: (a) errors, mistakes, or inaccuracies of content; (b) personal injury or property damage, of any nature whatsoever, resulting from any access to or use of the Interface; (c) unauthorized access to or use of any secure server or database in our control or the use of any information or data stored therein; (d) interruption or cessation of function related to the Interface; (e) bugs, viruses, trojan horses, or the like that may be transmitted to or through the Interface; (f) errors or omissions in, or loss or damage incurred as a result of, the use of any content made available through the Interface; and (g) the defamatory, offensive, or illegal conduct of any third party. Under no circumstances shall we or any of our officers, directors, employees, contractors, agents, affiliates, or subsidiaries be liable to you for any claims, proceedings, liabilities, obligations, damages, losses, or costs in an amount exceeding the greater of (i) the amount you paid to us in exchange for access to and use of the Interface, or (ii) \$100.00. This limitation of liability applies regardless of whether the alleged liability is based on contract, tort, negligence, strict liability, or any other basis, and even if we have been advised of the possibility of such liability. Some jurisdictions do not allow the exclusion of certain warranties or the limitation or exclusion of certain liabilities and damages. Accordingly, some of the disclaimers and limitations set forth in the Terms may not apply to you. This limitation of liability shall apply to the fullest extent permitted by law.
### **10. Arbitration and Class Action Waiver**
Binding Arbitration. Except for disputes in which either party seeks to bring an individual action in small claims court or seeks injunctive or other equitable relief for the alleged unlawful use of copyrights, trademarks, trade names, logos, trade secrets or patents, you and the Jupiter: (a) waive the right to have any and all disputes or claims arising from these Terms, your use or access to the Interface or any other disputes with the Jupiter (collectively, "Disputes") resolved in a court; and (b) waive any right to a jury trial. Instead, you and the Jupiter agree to arbitrate Disputes that are not resolved informally (as described below) through binding arbitration (i.e. the referral of a Dispute to one or more persons charged with reviewing the Dispute and making a final and binding determination to resolve it) instead of having the Dispute decided by a judge or jury in court).
No Class Arbitrations, Class Actions or Representative Actions. You and Jupiter agree that any dispute is personal to you and Jupiter and that any such dispute will be resolved solely through individual arbitration and will not be brought as a class arbitration, class action, or any other type of representative proceeding. Neither party agrees to class arbitration or to an arbitration in which an individual attempts to resolve a dispute as a representative of another individual or group of individuals. Further, you and the Jupiter agree that a dispute cannot be brought as a class, or other types of representative action, whether within or outside of arbitration, or on behalf of any other individual or group of individuals.
Process. You and the Jupiter agree that each will notify the other, in writing, of any Dispute within thirty (30) days of when it arises so that the parties can attempt, in good faith, to resolve the Dispute informally. Notice to Jupiter shall be provided by sending an email to [legal@jup.ag](mailto:legal@jup.ag). Your notice must include (1) your name, postal address, and email address; (2) a description of the nature or basis of the Dispute; and (3) the specific action that you are seeking. If you and the Jupiter cannot resolve the Dispute within thirty (30) days of the Jupiter receiving the notice, either you or Jupiter may, as appropriate pursuant to this Section 10, commence an arbitration proceeding. You and Jupiter agree that any arbitration or claim must be commenced or filed within one (1) year after the Dispute arose; otherwise, you and the Jupiter agree that the claim is permanently barred (which means that you will no longer have the right to assert a claim regarding the Dispute).
Choice of Law. These Terms are governed by and will be construed under the laws of Panama, without regard to principles of conflict of laws, govern the Terms and any Dispute between you and us. Any Dispute under these Terms shall be finally settled by Binding Arbitration (as defined below). Any unresolved Dispute arising out of or in connection with these Terms shall be referred to and finally resolved by arbitration under the rules of the London Court of International Arbitration (LCIA), which rules are deemed to be incorporated by reference into this Section 10 to the extent they are consistent with it. Any dispute arising from or relating to the subject matter of these Terms shall be finally settled in London, United Kingdom, in English, in accordance with the LCIA Arbitration Rules. Unless we agree otherwise, the arbitrator may not consolidate your claims with those of any other party. Any judgment on the award rendered by the arbitrator may be entered in any court of competent jurisdiction, to the extent a court therein would be deemed to be a court of competent jurisdiction other than any court located in the United States of America. You further agree that the Interface shall be deemed to be based solely in Panama and that, although the Interface may be available in other jurisdictions, its availability does not give rise to general or specific personal jurisdiction in any forum outside Panama.
Authority of Arbitrator. As limited by these Terms and applicable arbitration rules, the arbitrator will have: (a) the exclusive authority and jurisdiction to make all procedural and substantive decisions regarding a Dispute; and (b) the authority to grant any remedy that would otherwise be available in court. The arbitrator may only conduct an individual arbitration and may not consolidate more than one individual s claims, preside over any type of class or representative proceeding or preside over any proceeding involving more than one individual.
### **11. Miscellaneous**
*Changes.* We may amend any portion of these Terms at any time by posting the revised version of these Terms with an updated revision date. The changes will become effective and shall be deemed accepted by you, the first time you use or access the Interface after the initial posting of the revised Terms and shall apply on a going-forward basis with respect to your use of the Interface including any transactions initiated after the posting date. In the event that you do not agree with any such modification, your sole and exclusive remedy are to terminate your use of the Interface.
*Entire Agreement.* These Terms (and any additional terms, rules, and conditions of participation that may be posted on the website of Jupiter) including the Privacy Policy constitute the entire agreement with respect to the Interface and supersedes any prior agreements, oral or written.
*Privacy Policy.* The Privacy Policy describes the ways we collect, use, store and disclose your personal information. You agree to the collection, use, storage, and disclosure of your data in accordance with the Privacy Policy.
*Severability.* If any provision of these Terms shall be determined to be invalid or unenforceable under any rule, law, or regulation of any local, state, or federal government agency, such provision will be changed and interpreted to accomplish the objectives of the provision to the greatest extent possible under any applicable law and the validity or enforceability of any other provision of these Terms shall not be affected. If such construction is not possible, the invalid or unenforceable portion will be severed from these Terms but the rest of these Terms will remain in full force and effect.
*Survival.* Upon termination of these Terms for any reason, all rights and obligations of the parties that by their nature are continuing will survive such termination.
*English language.* Notwithstanding any other provision of these Terms, any translation of these Terms is provided for your convenience. The meanings of terms, conditions, and representations herein are subject to their definitions and interpretations in the English language. In the event of conflict or ambiguity between the English language version and translated versions of these terms, the English language version shall prevail. You acknowledge that you have read and understood the English language version of these Terms.
If you have any questions, claims, complaints, or suggestions, please, contact us at [legal@jup.ag](mailto:legal@jup.ag)
# Connecting a Wallet or Jupiter ID on jup.ag
Source: https://docs.jup.ag/user-docs/manage/connect-wallet/index
Connect on jup.ag with Jupiter Wallet, Jupiter Mobile, Phantom or another Solana wallet, WalletConnect QR, or a Jupiter ID (email, Google, Apple).
Swapping, lending, and every other action on [jup.ag](https://jup.ag/) requires a connected account. The **Connect** button (top right) offers two ways in: a **Solana wallet** you already hold, or a **Jupiter ID**, an account created with an email, Google, or Apple login.
| Option | Best for | Where your keys are |
| ----------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| **Solana wallet** | Anyone with a wallet: Jupiter Wallet, Jupiter Mobile, Phantom, a hardware wallet, or any WalletConnect app | In your wallet; jup.ag only requests signatures |
| **Jupiter ID** | Starting without a wallet, from an email or social account | In an embedded wallet tied to your login; the private key can be exported from jup.ag |
***
## Connecting with a wallet
Click **Connect** and select your wallet. The panel shows [Jupiter Wallet](/user-docs/manage/extension-wallet) (marked **Recommended**, with instant trades and auto-approvals) and **Jupiter Mobile** (scan the QR code with the app) at the top. Below that, it adapts to you, with **Recently Used** wallets and any wallet extensions detected as **Installed** in your browser (for example Phantom).
Click **View More Wallets** to see the full list: **Jupiter ID** (Email or Social Login), Solflare, Coinbase Wallet, Trust, Ledger, Trezor, Bitget Wallet, and a **QR** option. Approve the connection request in your wallet to complete the connection.
### Connecting via WalletConnect (QR)
The **QR** option at the end of the wallet list opens a **WalletConnect** connection: scan the QR code with your phone (or copy the link) and approve the connection from any WalletConnect-compatible wallet app.
Use this option to connect wallets that do not appear in the list. For example, Tangem is not directly integrated on jup.ag, but you can connect it through the QR option and approve the connection in the Tangem app via WalletConnect.
***
## Connecting with Jupiter ID
**Jupiter ID** lets you access Jupiter using an email or social account instead of an external wallet. Your Jupiter ID is created automatically the first time you log in, together with an embedded wallet that holds your funds.
Supported login methods:
Jupiter ID supports email, Google, and Apple only. No other login method creates a Jupiter ID.
To log in, click **Connect**, open **View More Wallets**, and select **Jupiter ID** (Email or Social Login). The **Your ID for all things Jupiter** window offers **Email**, **Google**, and **Apple**; complete authentication with the method of your choice. Your Jupiter ID is created on the first login.
A Jupiter ID wallet has no seed phrase. Its private key can be exported from jup.ag: once connected, open the wallet drawer (your address, top right) and click the **key icon**. The same flow is described for [Jupiter ID wallets in Jupiter Wallet](/user-docs/manage/extension-wallet/security#exporting-a-jupiter-id-wallet-private-key) and [Quick Accounts in Jupiter Mobile](/user-docs/global/mobile/managing-wallets#exporting-your-quick-account-private-key).
If you lose access to the email or social account behind your Jupiter ID, there is no other way to recover the wallet. Export and back up the private key.
Jupiter ID is offered on jup.ag, in the [Jupiter Wallet extension](/user-docs/manage/extension-wallet/getting-started#creating-a-wallet), and in Jupiter Mobile; the extension describes it as portable across Jupiter interfaces.
***
## After you connect
Your shortened address replaces the **Connect** button. Click it to open the **wallet drawer**:
* **Header**: your address with a copy button, an eye icon to hide balances, and your total balance in USD with its SOL equivalent.
* **Deposit** and **Send** buttons, which lead into the [Jupiter Deposit](/user-docs/onramp/deposit) and [Jupiter Send](/user-docs/onramp/send) flows, and a disconnect button.
* **Wallet** tab: your positions by category, each with its value (**Holdings**, **Limit**, **DCA**, **Perps**, **Lend**, and more). Holdings lists your tokens with the [verified](/user-docs/launch/vrfd) badge and, on tokens you can supply to [Jupiter Lend](/user-docs/earn/lend/earn), an **Earn x% APY** shortcut. The header shows your PnL with a **PnL Analysis** view and a **Reclaim** button with the number of empty token accounts whose rent you can recover. **Other DeFi Positions** opens the full list.
* **Activity** tab: your recent transactions.
To switch wallets, disconnect from the drawer and connect again with another option.
***
## Legacy login methods
The Jupiter ID window includes a collapsed **Legacy login methods** section listing **Discord**, **Twitter**, and **Wallet**.
These methods are available only to users who previously created their account with them. Existing accounts can still log in normally.
They cannot be used to create a new account. Attempting to log in without an existing account fails with an error. For example, a new wallet login attempt displays "Jupiter ID only supports email, Google, or Apple" and prompts you to choose another method.
If you currently log in with a legacy method, you should migrate to Jupiter ID using email, Google, or Apple.
***
## Troubleshooting
Make sure the extension is enabled in your browser and reload jup.ag. If it still does not appear, open **View More Wallets** and pick it from the full list, or use the **QR** (WalletConnect) option.
In Jupiter Wallet, enable **Settings** → **Preferences** → [Connect as Phantom](/user-docs/manage/extension-wallet/settings#connect-as-phantom). The wallet then presents itself as Phantom on that site.
Discord, X, and wallet logins are legacy methods that only work for accounts created with them. Use email, Google, or Apple to create a Jupiter ID.
For questions about the extension itself, see the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq). For account or login issues, contact [Jupiter Support](https://support.jup.ag).
# Jupiter Wallet Auto-Earn
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/auto-earn
Auto-Earn in Jupiter Wallet deposits the stablecoins you enable (USDC, USDT, JupUSD, EURC, USDG, USDS) into Jupiter Lend Earn automatically, checked hourly.
## Overview
Auto-Earn is a feature of the Jupiter Wallet browser extension. For each stablecoin you enable, it automatically deposits your full balance of that token into [Jupiter Earn](/user-docs/earn/lend/earn), Jupiter Lend's earning vaults, once the balance exceeds a threshold, so it generates yield without manual action. The current Earn APY is shown next to each token in the extension.
| Detail | Value |
| -------------------- | -------------------------------------------------------------------------------------------------------- |
| **Destination** | [Jupiter Earn](/user-docs/earn/lend/earn) (Jupiter Lend) |
| **Scope** | Per token: each supported stablecoin has its own toggle, in each wallet |
| **Supported tokens** | JupUSD, USDC, USDT, EURC, USDG, USDS (as listed in the extension) |
| **Check interval** | Every hour while the wallet is unlocked; a deposit happens when the balance exceeds the threshold |
| **Eligibility** | Hot wallets (seed phrase or private key); Jupiter ID wallets are excluded |
| **Notification** | Browser notification on each successful deposit |
| **Fees** | Jupiter Lend's protocol fee on the interest earned (see [Fees](/user-docs/manage/extension-wallet/fees)) |
***
## How Auto-Earn works
* Once a token is enabled, its full balance is deposited when it exceeds the threshold, then the balance is checked every hour.
* The wallet must be **unlocked** for deposits to execute. There is no background process when the wallet is locked. If more than one hour has passed since the last check, a deposit is triggered at unlock.
* A browser notification is sent on successful deposit. This is a system notification and requires browser notifications to be enabled.
***
## Eligibility
Auto-Earn is available for hot wallets only. Jupiter ID wallets (formerly Social Login, powered by Privy) are excluded.
***
## Enabling and disabling
Open **Settings** → **Preferences** → **Auto Earn**. Tick **I understand the risks of automatically depositing into Jupiter Lend**, toggle the tokens you want to deposit automatically, and select **Save**. **Manage Deposits on Jupiter** opens [Jupiter Lend](/user-docs/earn/lend) on jup.ag, where you can see and withdraw your deposits. Turning a token off stops new automatic deposits for it; funds already deposited stay in Jupiter Earn until you withdraw them there.
***
## Risks
Funds deposited via Auto-Earn are subject to the same risks as any deposit into Jupiter Earn, including smart contract risk and variable yield. Review the [Jupiter Lend documentation](/user-docs/earn/lend) for details.
Questions about Auto-Earn? See the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq#features) and the [Jupiter Lend FAQ](/user-docs/earn/lend/faq).
# Jupiter Wallet FAQ
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/faq
Jupiter Wallet FAQ: browsers, self-custody, fees, moving from another wallet, Jupiter Mobile sync, MEV protection, Auto-Earn, Ticker Widget, troubleshooting.
## General
Yes. Jupiter Wallet is a self-custodial browser extension wallet for Solana, built by Jupiter and installed from the [Chrome Web Store](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh). Its mobile counterpart is [Jupiter Mobile](/user-docs/global/mobile). See [What is Jupiter Wallet?](/user-docs/manage/extension-wallet).
Chrome, Brave, Arc, Edge, and Opera. All are Chromium-based and install from the same Chrome Web Store listing. Edge and Opera may require allowing Chrome Web Store extensions in the browser settings. See [Supported browsers](/user-docs/manage/extension-wallet#supported-browsers).
Not at this time. The extension is available on Chromium-based browsers only (Chrome, Brave, Arc, Edge, Opera).
Installing and using the wallet is free, and there are no fees for sending or receiving tokens. Swaps carry a Jupiter Ultra trading fee of 0% to 0.5% depending on the pair, and gasless swaps add a surcharge capped at 10%. See [Jupiter Wallet Fees](/user-docs/manage/extension-wallet/fees).
Jupiter Wallet is the browser extension for desktop; Jupiter Mobile is the iOS and Android app. They are separate products with the same self-custodial model, and the same wallet can be used on both through [Jupiter Sync](/user-docs/manage/extension-wallet/getting-started#jupiter-sync-mobile-and-extension).
Not at this time. The team is working toward making the code publicly available. See [Open source status](/user-docs/manage/extension-wallet#open-source-status).
***
## Setup and import
Install it from the [Chrome Web Store](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh) and confirm the publisher is **[extension@jup.ag](mailto:extension@jup.ag)**. Any other installer is not official. See [Installation](/user-docs/manage/extension-wallet/getting-started#installation).
Export the seed phrase or private key from your current wallet, then in Jupiter Wallet choose **Add New Wallet** → **Import Existing Wallet**. Your funds stay on the same address; nothing needs to be transferred. See [Moving from another wallet](/user-docs/manage/extension-wallet/getting-started#moving-from-another-wallet).
Yes. You can import the same wallet into the extension on any Chromium-based browser using your seed phrase, private key, or Jupiter ID.
To use it on your phone as well, use **Jupiter Sync**. See [Jupiter Sync (Mobile and Extension)](/user-docs/manage/extension-wallet/getting-started#jupiter-sync-mobile-and-extension).
Yes. Jupiter Sync links the extension and the mobile app by scanning a QR code, so the same wallet is available on both without re-entering a seed phrase. See [Jupiter Sync (Mobile and Extension)](/user-docs/manage/extension-wallet/getting-started#jupiter-sync-mobile-and-extension).
Yes. Add a hardware wallet from the wallet list with **Add New Wallet** → **Import Existing Wallet** → **Hardware Wallet**. Ledger supports swaps, Limit Orders v2, and Prediction claiming through the extension. See [Hardware wallets](/user-docs/manage/extension-wallet/getting-started#hardware-wallets).
Click your wallet name (top left) to open the wallet list and select another wallet. **Add New Wallet** at the bottom of the list creates or imports one. See [Getting Started](/user-docs/manage/extension-wallet/getting-started#creating-a-wallet).
Yes, with **Jupiter ID** (formerly Social Login), powered by Privy: email, Google, Apple, X, or Discord in the extension, the same login as on jup.ag and Jupiter Mobile, limited to one Jupiter ID account per extension. A Jupiter ID wallet has no seed phrase and cannot be recovered if you lose access to the account, so export its private key. See [Creating a wallet](/user-docs/manage/extension-wallet/getting-started#creating-a-wallet).
***
## Security
Jupiter Wallet is fully self-custodial. Private keys and recovery data are stored only on your device; Jupiter never stores, accesses, or transmits them. See [Self-custody](/user-docs/manage/extension-wallet/security#self-custody).
Swaps route through [Jupiter Ultra](/user-docs/trade/spot/ultra-mode), whose transaction landing engine provides private, MEV-resistant execution. See [Jupiter Ultra routing and MEV protection](/user-docs/manage/extension-wallet/swapping#jupiter-ultra-routing-and-mev-protection).
Built-in detection of transfers to known malicious addresses injected into a transaction by malicious browser extensions. The wallet filters them out before submission, on any website. See [Transaction Protection](/user-docs/manage/extension-wallet/security#transaction-protection).
Select **Forgot Password** on the login screen. This resets the extension; you then re-import your wallets with your recovery phrase, private key, or Jupiter ID. Your funds are unaffected on-chain, but without a recovery phrase or private key you lose access permanently. See [Password](/user-docs/manage/extension-wallet/security#password).
From the wallet list, open the three-dot menu next to the wallet → **Export Key/Seed**. Jupiter ID wallets have no in-extension export; the private key is retrieved through jup.ag instead. See [Exporting keys](/user-docs/manage/extension-wallet/security#exporting-keys).
Auto-Approve signs transactions on Jupiter and Meteora without a confirmation prompt. It is faster but removes the chance to review each transaction; enable it only if you understand the trade-off. See [Auto-Approve](/user-docs/manage/extension-wallet/settings#auto-approve).
***
## Features
Auto-Earn deposits the full balance of the stablecoins you enable (JupUSD, USDC, USDT, EURC, USDG, USDS) into [Jupiter Earn](/user-docs/earn/lend/earn) once it exceeds a threshold, checking every hour while the wallet is unlocked. It is available for hot wallets only, not Jupiter ID wallets. Funds carry the same risks as any Jupiter Earn deposit. See [Auto-Earn](/user-docs/manage/extension-wallet/auto-earn).
A feature that detects token and stock tickers and contract addresses on X, Google, CoinMarketCap, Yahoo Finance, ChatGPT, Claude, and Gemini, and shows a popover with price, chart, and a swap button. It can be turned off in Settings. See [Ticker Widget](/user-docs/manage/extension-wallet/ticker-widget).
Yes. The Receive view has a network selector; funds sent to a non-Solana network address arrive on Solana as USDC through Universal Deposit. See [Receiving from other networks](/user-docs/manage/extension-wallet/sending-and-receiving#receiving-from-other-networks).
Yes. The swap panel has **Limit** and **Recurring** tabs, with the same order types as jup.ag. See [Limit and recurring orders](/user-docs/manage/extension-wallet/swapping#limit-and-recurring-orders).
Yes. Enable **Settings** → **Preferences** → **Connect as Phantom**, and Jupiter Wallet presents itself as Phantom on that dApp. See [Connect as Phantom](/user-docs/manage/extension-wallet/settings#connect-as-phantom).
No. Your portfolio updates automatically based on the tokens held in your wallet. Swapping, sending, or receiving tokens will reflect in your holdings without any manual action.
Your main holdings show tokens held directly in your wallet. DeFi positions across 160+ Solana protocols (lending, LPing, staking, etc.) are visible under the **DeFi** tab. See [DeFi positions](/user-docs/manage/extension-wallet/portfolio#defi-positions).
Every token account locks about 0.002 SOL of rent. Reclaim closes the accounts of tokens you no longer hold and returns the SOL. It is safe: a new account is created automatically if you receive that token again. See [Reclaiming rent](/user-docs/manage/extension-wallet/portfolio#reclaiming-rent).
***
## Troubleshooting
The extension updates automatically when a new version is released. Restarting your browser usually triggers the update. To check manually, go to `chrome://extensions/`, enable **Developer mode**, and click **Update**. See [Updates](/user-docs/manage/extension-wallet/settings#updates).
There is no logout. Lock the wallet from the **three-dot menu** → **Lock Wallet**, or set an **Auto Lock Time** in Settings. See [Locking the wallet](/user-docs/manage/extension-wallet/security#locking-the-wallet).
**Settings** → **Support** → **What's New** shows the current version next to the changelog. See [Updates](/user-docs/manage/extension-wallet/settings#updates).
**Three-dot menu** → **Settings** → **Security** → **Connected Apps**, then revoke the connection. See [dApp connections](/user-docs/manage/extension-wallet/settings#dapp-connections).
## Bug reports
To report a bug, go to [support.jup.ag](https://support.jup.ag/) and submit a ticket with relevant details and screenshots. The support team will review and follow up. You can also send feedback from the extension under **Settings** → **Support** → **Feedback**.
# Jupiter Wallet Fees
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/fees
Jupiter Wallet fees: free sends, Jupiter Ultra swap fees from 0% to 0.5%, gasless surcharge capped at 10%, limit and recurring orders, and Auto-Earn.
This page recaps every fee that applies when using Jupiter Wallet, with links to each product's detailed fee documentation.
## Sends and receives
There are no Jupiter fees for sending or receiving tokens. Standard Solana network fees apply to sends.
## Swaps
Swaps route through [Jupiter Ultra](/user-docs/trade/spot/ultra-mode) and carry a trading fee that depends on the token pair and market conditions:
| Swap type | Fee |
| ------------- | ----------------------------------------------------------------------- |
| Regular swaps | 0% to 0.5%, depending on pair volatility. Stable pairs may have no fee. |
| Gasless swaps | Regular fee plus a surcharge of up to 10% (see below). |
See [Jupiter Spot Fees](/user-docs/trade/spot/fees) for the full Ultra schedule.
## Gasless swaps
Gasless execution activates only when you don't have enough SOL to cover gas costs. Jupiter pays the gas and deducts its USD value from the output token. The surcharge is fixed per transaction, so larger swaps result in a lower effective percentage, with a maximum of 10%: if the fee would exceed that threshold, the swap does not execute. See [Gasless swaps](/user-docs/manage/extension-wallet/swapping#gasless-swaps).
## Limit and recurring orders
Limit and recurring orders placed from the wallet use the same order infrastructure as jup.ag. See the [Spot fee schedule](/user-docs/trade/spot/fees) for the current limit order and DCA fees.
## Auto-Earn
Auto-Earn deposits go into [Jupiter Earn](/user-docs/earn/lend/earn) and follow Jupiter Lend's fee model: a 10% reserve factor is applied to borrower interest, so lenders receive 90% of the interest paid. See [Jupiter Lend fees](/user-docs/earn/lend/earn#fees).
## Receiving from other networks
Cross-chain deposits through [Universal Deposit](/user-docs/onramp/deposit/universal-deposit) show the minimum amount and a maximum slippage of 0.5% per network before you deposit.
Fees shown here reflect the current structure and may change. Always review the quoted fee before confirming a swap.
# Getting Started with Jupiter Wallet
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/getting-started
Install Jupiter Wallet, create or import a wallet (including from another Solana wallet), add a Ledger, Keystone or Trezor, and sync with Jupiter Mobile.
## Installation
Install Jupiter Wallet from the [official Chrome Web Store listing](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh). It works on Chrome, Brave, Arc, Edge, and Opera; see [Supported browsers](/user-docs/manage/extension-wallet#supported-browsers).
Install only from the [Chrome Web Store](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh).
Confirm it is published by **[extension@jup.ag](mailto:extension@jup.ag)**.
Any other links, installers, or download packages claiming to be Jupiter Wallet are not official and should be avoided.
***
## Creating a wallet
When you open the extension for the first time, the Welcome screen offers **Create a new wallet**, **Import an existing wallet**, and a **Sync wallets** link for Jupiter Mobile users. Select **Create a new wallet**. During setup you also choose a **password** that unlocks the extension on this device; it protects access to the extension but does not replace your seed phrase or private key. Two methods are available:
Select **New Seed Phrase**, marked **Recommended** (portable across any wallet, fastest execution). Read the **Before You Begin** warnings, then select **Reveal Seed Phrase**. The extension generates a 24-word recovery phrase. Write it down and store it offline in a safe location.
Anyone with access to your seed phrase has full control of your wallet. Never share it, screenshot it, or store it digitally.
Select **Jupiter ID** (Email or Social Sign-In), then **Continue with Email**, **Google**, **Apple**, **X**, or **Discord**. It is the same [Jupiter ID](/user-docs/manage/connect-wallet#connecting-with-jupiter-id) used on jup.ag and Jupiter Mobile, the wallet has no seed phrase, and the extension holds **one Jupiter ID account** at most. Powered by **Privy** (a third-party authentication and key management provider).
On jup.ag, X and Discord are listed as legacy login methods that only work for accounts created with them; see [Legacy login methods](/user-docs/manage/connect-wallet#legacy-login-methods).
If you lose access to the email or social account behind your Jupiter ID, there is no way to recover the wallet. Export and back up its private key; see [Exporting keys](/user-docs/manage/extension-wallet/security#exporting-keys).
1. Click your wallet name (top left).
2. Select **Add New Wallet** → **Create New Wallet**.
3. Choose **New Seed Phrase**, **Existing Seed Phrase** (to derive from a phrase already in the extension), or **Jupiter ID**.
***
## Importing a wallet
You can import an existing Solana wallet. From the wallet list: **Add New Wallet** → **Import Existing Wallet**. The same screen lists **Seed Phrase**, **Private Key**, **Jupiter ID**, **Hardware Wallet**, and **Watch Address**.
Enter your 12 or 24-word seed phrase. Expand **Use a custom derivation path** if your accounts were created on a non-default path (for example `m/44'/501'/0'/0'`). Your wallet and assets will appear after confirmation.
Paste your private key (hex, base58, or base64 encoding) to import the wallet directly.
Sign in with the email, Google, Apple, X, or Discord account of a wallet previously created with Jupiter ID (formerly Social Login).
If this is your first time opening the extension, the Welcome screen offers the same import options.
***
## Moving from another wallet
You can use Jupiter Wallet with a wallet you created elsewhere (Phantom, Solflare, Backpack, or any other Solana wallet). Your funds stay on the same Solana address; there is nothing to transfer.
In your current wallet's settings, export the **seed phrase** (recovery phrase) or the **private key** of the account you want to use.
In Jupiter Wallet, open the wallet list → **Add New Wallet** → **Import Existing Wallet**, then paste the seed phrase or private key as described in [Importing a wallet](#importing-a-wallet).
Your tokens, NFTs, and DeFi positions appear once the import is confirmed. You can keep the other wallet installed or remove it.
If a dApp only lists Phantom in its connection options, enable [Connect as Phantom](/user-docs/manage/extension-wallet/settings#connect-as-phantom) in Jupiter Wallet's settings.
***
## Hardware wallets
From the wallet list: **Add New Wallet** → **Import Existing Wallet** → **Hardware Wallet**, then choose your device. Expand **Use a custom derivation path** if your accounts were created on a non-default path.
Connect and unlock your device, approve browser permissions, then open the **Solana app** on the Ledger.
Ledger supports swaps, Limit Orders v2, and Prediction claiming through the extension. Tested on Nano X and Nano S Plus.
The Ledger Nano S has been discontinued by Ledger and may not be fully functional with all features.
Connect and unlock your device, approve the connection request, then approve browser permissions.
Connect and unlock your device, approve browser permissions, and follow any additional prompts.
***
## Watch address
Add any Solana address, or a **.sol** or **.skr** domain, as a **watch-only** wallet to view its balances and activity. This is read-only: no signing, no sending.
From the wallet list: **Add New Wallet** → **Import Existing Wallet** → **Watch Address**.
***
## Jupiter Sync (Mobile and Extension)
**Jupiter Sync** lets you use the same wallet in Jupiter Wallet on desktop and in the Jupiter Mobile app, without re-entering a seed phrase.
Open the **three-dot menu** (top right) → **Jupiter Sync**. On a fresh install, the Welcome screen also offers **Using Jupiter Mobile? Sync wallets**.
A QR code appears. Open the **Jupiter Mobile app** → **Settings** → **Jupiter Sync** and scan it.
The mobile side of the flow, including syncing from desktop to mobile, is described in [Managing Wallets on Jupiter Mobile](/user-docs/global/mobile/managing-wallets).
Having issues with setup or import? See the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq#setup-and-import).
# What is Jupiter Wallet?
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/index
Jupiter Wallet is a self-custodial browser extension wallet for Solana, on Chromium browsers: Ultra swaps, Auto-Earn, Ticker Widget, multi-chain receive.
Jupiter Wallet is a **browser extension wallet for Solana**, built by Jupiter. It runs in Chromium-based browsers (Chrome, Brave, Arc, Edge, Opera), installs from the Chrome Web Store, and lets you hold Solana assets, swap tokens, and connect to dApps from your browser toolbar or side panel. It is also called the Jupiter Extension Wallet. It is the desktop counterpart of [Jupiter Mobile](/user-docs/global/mobile): the same wallet can be used on both through [Jupiter Sync](/user-docs/manage/extension-wallet/getting-started#jupiter-sync-mobile-and-extension). The product page is [jup.ag/wallet](https://jup.ag/wallet).
It is fully **self-custodial**: only you control your keys and funds. Private keys and recovery data are stored locally on your device, and Jupiter never has access to them.
| Detail | Value |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Type** | Browser extension wallet (Chromium-based browsers) |
| **Network** | Solana |
| **Custody** | Self-custodial; keys stored on your device |
| **Install from** | [Chrome Web Store](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh), publisher **[extension@jup.ag](mailto:extension@jup.ag)** |
| **Swaps** | Routed through [Jupiter Ultra](/user-docs/trade/spot/ultra-mode) |
| **Hardware wallets** | Ledger, Keystone, Trezor |
| **Mobile counterpart** | [Jupiter Mobile](/user-docs/global/mobile), linked with Jupiter Sync |
***
## Supported browsers
Jupiter Wallet is available for **Chrome, Brave, Arc, Edge, and Opera**. All of them are Chromium-based and install the extension from the same Chrome Web Store listing.
Edge and Opera users may need to allow extensions from the Chrome Web Store in their browser settings. Firefox is not supported at this time.
***
## Key features
Swaps route through Jupiter Ultra, with built-in MEV protection and gasless execution when you hold no SOL.
Place limit orders by price or market cap, and recurring orders on a schedule, from the swap panel.
Any Solana token, to an address, a .sol or .skr domain, or a saved contact.
Deposit addresses for Ethereum, Base, Arbitrum, and Sui; cross-chain deposits arrive as USDC on Solana.
Holdings, token pages, realized and unrealized PnL, NFTs, DeFi positions across 160+ protocols, transaction history.
Detects token and stock tickers on X, Google, CoinMarketCap, Yahoo Finance, ChatGPT, Claude, and Gemini, and shows price, chart, and a swap button.
Automatically deposits the stablecoins you enable (USDC, USDT, JupUSD, and more) into Jupiter Earn to generate yield.
Detects and filters hidden transfers injected by malicious browser extensions, on any website.
One-click connection to Solana dApps, with Auto-Approve on Jupiter and Meteora and a Connect as Phantom option.
Ledger, Keystone, and Trezor support.
Create a wallet with an email or social account (Google, Apple, X, Discord), the same Jupiter ID as on jup.ag and Jupiter Mobile.
Use the same wallet on desktop and in Jupiter Mobile with Jupiter Sync.
Close empty token accounts and recover the SOL locked as rent.
The Buy action opens Jupiter Deposit to buy SOL or USDC with a card or other payment methods.
Follow the balances and activity of any Solana address or .sol domain, read-only.
***
## Fees
There are no fees for sending or receiving tokens. Swaps route through Jupiter Ultra and carry a trading fee of 0% to 0.5% depending on the pair; gasless swaps add a surcharge capped at 10%. See [Jupiter Wallet Fees](/user-docs/manage/extension-wallet/fees) for the full schedule.
***
## Verifying the official extension
Install only from the [Chrome Web Store](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh) and confirm the publisher is **[extension@jup.ag](mailto:extension@jup.ag)**. Any other link, installer, or download package claiming to be Jupiter Wallet is not official. See [Installation](/user-docs/manage/extension-wallet/getting-started#installation).
***
## Open source status
Jupiter Wallet is not open-source at this time. The team is working toward making the code publicly available.
Have questions? Check the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq) for answers about browsers, security, fees, features, and troubleshooting.
# Portfolio and Holdings in Jupiter Wallet
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/portfolio
Track holdings in Jupiter Wallet: token pages, realized and unrealized PnL, NFTs, DeFi positions across 160+ protocols, transaction history, and rent reclaim.
## Holdings
Your portfolio updates automatically based on tokens you hold, whether from swaps (in the extension or on [jup.ag](https://jup.ag/)) or received from another wallet. Assets cannot be added manually. The **Tokens** tab lists each token with its price, 24-hour change, your amount, and its USD value.
For a cross-wallet view with wallet groups and historical charts, see [Jupiter Portfolio](/user-docs/manage/portfolio) on the web.
### Token pages
Click any token in your list to open its detail page: a price chart (1H to 1Y), market stats (market cap, FDV, liquidity, volume, traders, holders), your balance with average entry and realized/unrealized PnL, and your trade history for that token. **View on Jupiter** opens the full [token page](/user-docs/trade/spot/token-page) on jup.ag.
***
## PnL
Your **Profit and Loss (PnL)** for today is shown under your total balance (**Today's PnL**). Click it to open a detailed view.
Gains or losses from completed trades.
Paper gains or losses on current holdings, including received tokens.
The detail view includes a breakdown by asset, with a selectable timeframe (1d, all-time).
PnL tracks trading activity only. It does not include lending yields, staking rewards, LP fees, or other DeFi income, unless the token itself is yield-bearing (e.g. a liquid staking token whose price reflects accrued yield).
***
## Token verification
Tokens may display a green checkmark, meaning they have been **verified through Jupiter's VRFD program**. VRFD is managed by a dedicated team, and projects can [submit their token for verification](https://verified.jup.ag/tokens).
Verification confirms the correct token address and helps users avoid impersonators or duplicate tokens. It is not an endorsement of the token's value, safety, or legitimacy.
See the [VRFD documentation](/user-docs/launch/vrfd) for more details.
***
## NFTs
Your NFTs are visible under the **NFTs** tab. Open an NFT to view its details or send it to another wallet. The wallet filters out most spam and scam NFTs automatically.
Some compressed NFTs may not display correctly. Spam detection is continuously being improved.
***
## DeFi positions
The **DeFi** tab shows your positions across 160+ Solana protocols, including lending, LPing, staking, and other activity. Staked or locked JUP (for example, JUP staked for DAO voting) appears here as a DeFi position rather than as a liquid token in your main balance.
***
## Transaction history
The **Activity** tab lists all recent transactions: swaps, sends, receives, and DeFi interactions (e.g. borrowing on Jupiter Lend, LPing on Meteora).
***
## Reclaiming rent
Every token account on Solana requires a small SOL deposit (\~0.002 SOL) called **rent**, locked when the account is first created.
Once you no longer hold that token, you can close the account and reclaim the SOL.
Click the ♺ icon next to your holdings total. Its badge shows how many empty token accounts can be closed.
Choose the token accounts to close and approve the transaction.
Yes. If you buy or receive that token again, a new account is created automatically. No funds are at risk.
Questions about balances or PnL? See the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq#features).
# Jupiter Wallet Security
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/security
Jupiter Wallet security: self-custody, password and locking, biometric unlock, key export, and Transaction Protection against malicious browser extensions.
## Self-custody
Jupiter Wallet is fully self-custodial (only you control your keys and funds). Your private keys and recovery data are stored only on your device. Jupiter never stores, accesses, or transmits your keys.
You are solely responsible for securing your recovery phrase, private keys, and Jupiter ID login credentials.
***
## Password
Open the wallet → **three-dot menu** (top right) → **Settings** → **Security** → **Change Password**.
Enter your current password, set a new one, and confirm.
On the login screen, select **Forgot Password**. This resets the extension and starts a fresh session.
You will need to re-import your wallets using your recovery phrase, private key, or Jupiter ID.
Resetting the extension does not delete your wallets on-chain. Your funds remain safe as long as you have your recovery phrase or private key. Without either, you will permanently lose access.
***
## Locking the wallet
The extension stays active while your browser is open. There is no logout function. Instead, you can **lock** the wallet to secure your session.
**Three-dot menu** (top right) → **Lock Wallet**. Password required to unlock.
**Three-dot menu** → **Settings** → **Security** → **Auto Lock Time**. Choose how long the wallet stays unlocked: 1 minute, 10 minutes, 1 hour, 8 hours, 1 day, 1 week, or **Never**.
***
## Biometric unlock
**Settings** → **Security** → **Biometric Unlock** lets you unlock the wallet with your device's biometrics instead of typing your password. Disabled by default.
***
## Exporting keys
From the wallet list, open the **three-dot menu** next to any wallet → **Export Key/Seed**.
| Wallet type | Exported data |
| ---------------------------------- | -------------------------------------------------------------------------------- |
| Created in Jupiter Wallet | Private key + seed phrase |
| Imported wallet | Private key only |
| Jupiter ID (formerly Social Login) | No in-extension export — see [below](#exporting-a-jupiter-id-wallet-private-key) |
Your private key and seed phrase give full control over your wallet. Never share them. Store them offline in a secure location.
### Exporting a Jupiter ID wallet private key
Jupiter ID wallets (formerly Social Login) have no seed phrase and no export option inside the extension. Instead, export the private key through the Jupiter website:
Visit [jup.ag](https://jup.ag) and open the wallet connect menu.
Select **View More Wallets** → **Jupiter ID** (Email or Social Login), and sign in with the same method you used to create the wallet.
Once connected, click your wallet address in the top right to open the mini-portfolio, then click the **key icon** (between Send and Disconnect, shown for Jupiter ID logins) to retrieve your private key.
This is the same flow as [Quick Accounts on Jupiter Mobile](/user-docs/global/mobile/managing-wallets#exporting-your-quick-account-private-key).
If you lose access to your Jupiter ID login method (email or social account), you also lose the only way to retrieve this wallet's private key. Jupiter cannot recover it for you.
***
## Transaction Protection
Jupiter Wallet includes built-in protection against malicious browser extensions that inject hidden fees or transfers into transactions.
When a transaction includes a transfer to a known malicious address, the wallet automatically detects and filters it out before the transaction is submitted. This protection works on all websites, not only jup.ag.
If you intentionally initiate a transfer to one of these addresses from within the wallet (e.g. via Send), the transaction is not filtered.
***
## Verifying the official extension
Install Jupiter Wallet only from the [Chrome Web Store](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh), published by **[extension@jup.ag](mailto:extension@jup.ag)**. See [Installation](/user-docs/manage/extension-wallet/getting-started#installation).
Security questions? See the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq#security).
# Sending and Receiving with Jupiter Wallet
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/sending-and-receiving
Send tokens from Jupiter Wallet to an address, domain or contact, and receive on Solana or from Ethereum, Base, Arbitrum and Sui via Universal Deposit.
## Sending tokens
Select **Send**, choose the token and amount, then enter the recipient: a Solana address, a domain (**.sol**, **.skr**), or a saved contact from your [Address Book](#address-book). Confirm to send.
There are no Jupiter fees on sends; standard Solana network fees apply.
Always double-check the recipient address. Transactions on Solana are irreversible.
***
## Address Book
Save frequently used addresses under **Settings** → **Security** → **Address Book**. Saved contacts can be selected directly in the Send flow instead of pasting an address.
***
## Receiving tokens
Select **Receive** to display your Solana wallet address and its QR code. Share either one with the sender; any Solana token sent to this address appears in your [holdings](/user-docs/manage/extension-wallet/portfolio).
***
## Receiving from other networks
The Receive view has a **network selector**. Besides Solana, you can pick **Ethereum, Base, Arbitrum, or Sui**: the wallet then shows a deposit address and QR code for that network. Funds sent to a non-Solana network address arrive in your wallet **on Solana as USDC**.
Cross-chain deposits are powered by [Universal Deposit](/user-docs/onramp/deposit/universal-deposit). The minimum amount, maximum slippage, and estimated processing time are shown per network before you deposit; deposits below the displayed minimum accumulate until the minimum is reached.
Send only on the network the address was displayed for, and only tokens supported for that network. Sending on a different network, or an unsupported token, can result in loss of funds.
***
## Buying with fiat
To fund the wallet from a bank card or other fiat method, the **Buy** action opens Jupiter's [Deposit page](/user-docs/onramp/deposit) at [jup.ag/deposit](https://jup.ag/deposit).
Having issues with a transfer? See the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq#features).
# Jupiter Wallet Settings
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/settings
Jupiter Wallet settings: dApp connections, Connect as Phantom, Auto-Approve, side panel and display preferences, wallet management, and extension updates.
## Settings overview
Open **Settings** from the **three-dot menu** (top right). The **Manage Settings** screen has three sections:
| Section | Items |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Preferences** | [Auto Earn](/user-docs/manage/extension-wallet/auto-earn), [Auto Approve](#auto-approve), [Block Explorer](#block-explorer), [Connect as Phantom](#connect-as-phantom), [Ticker Widget](/user-docs/manage/extension-wallet/ticker-widget) |
| **Security** | [Biometric Unlock](/user-docs/manage/extension-wallet/security#biometric-unlock), [Change Password](/user-docs/manage/extension-wallet/security#password), [Auto Lock Time](/user-docs/manage/extension-wallet/security#locking-the-wallet), [Connected Apps](#dapp-connections), [Address Book](/user-docs/manage/extension-wallet/sending-and-receiving#address-book) |
| **Support** | **Feedback** (send feedback to the team from the extension), [What's New](#updates) |
Display options (side panel, expanded view, Jupiter Sync, lock) live in the three-dot menu itself, not in Settings.
***
## dApp connections
Visit any Solana dApp, select **Jupiter Wallet** from the wallet list, review the request, and approve.
**Three-dot menu** → **Settings** → **Security** → **Connected Apps** (the number of connected sites is shown). Review active connections and revoke any you no longer use.
The extension also supports **off-chain message signing** (e.g. sign-in requests) from connected dApps.
***
## Connect as Phantom
Some dApps only list Phantom in their wallet options. **Settings** → **Preferences** → **Connect as Phantom** makes Jupiter Wallet present itself as Phantom so you can connect on those dApps with your Jupiter Wallet accounts. Disabled by default.
***
## Auto-Approve
The extension supports auto-approve for transactions on [Jupiter](https://jup.ag/) and [Meteora](https://meteora.ag/).
**Three-dot menu** → **Settings** → **Preferences** → **Auto Approve**, then toggle per dApp.
When enabled, transactions on the selected dApps are signed automatically without a manual confirmation prompt. This speeds up the experience but removes the opportunity to review each transaction before submission. Only enable this if you understand the tradeoff.
***
## Display and preferences
### Side panel and expanded view
**Three-dot menu** → **Side Panel Mode** docks the wallet in the browser side panel (switch back with **Popup Mode**). **Expand View** opens the wallet in a full tab.
### Block explorer
**Settings** → **Preferences** → **Block Explorer** sets which explorer opens for transaction and address links.
### Gas fee display
Gas fees are shown in both USD and SOL throughout the wallet interface (swaps, sends, and other transactions).
### Hide balances
Click the **eye icon** next to **Today's PnL**, under your balance, to hide or reveal amounts. The **refresh icon** next to it reloads your balances.
### What's New
**Settings** → **Support** → **What's New** shows what changed in each release of the extension; the current version is shown next to it. A summary of the release also appears the first time you open the wallet after an update.
***
## Managing wallets in the list
### Wallet list balances
The wallet list (click your wallet name, top left) shows each wallet's balance. Balances for the first five wallets are refreshed daily.
### Rename a wallet
From the wallet list, open the **three-dot menu** next to the wallet → **Rename Wallet**. Enter the new name and save.
### Remove a wallet
From the wallet list, open the **three-dot menu** next to the wallet → **Delete Wallet**.
Removing a wallet from the extension does not affect your funds on-chain. Make sure you have your recovery phrase or private key backed up before removing it.
***
## Updates
The extension updates automatically when a new version is released. Restarting your browser will usually trigger the update.
To check manually, go to `chrome://extensions/`, enable **Developer mode** (top right), and click **Update**.
Questions about a setting? See the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq).
# Swapping and Trading in Jupiter Wallet
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/swapping
Swap in Jupiter Wallet through Jupiter Ultra with MEV protection and gasless execution, place limit and recurring orders, and enable Auto-Approve.
## Swapping tokens
Open the wallet and select **Swap**. In the **Market** tab, choose the token you are **Selling** and the one you are **Buying**, and enter the amount (**Half** and **Max** fill it from your balance). The rate line below can be expanded for details. Select **Swap** to execute.
Transactions execute immediately on confirmation — there is no separate review page.
***
## Jupiter Ultra routing and MEV protection
Swaps in Jupiter Wallet are powered by [Jupiter Ultra](/user-docs/trade/spot/ultra-mode), the same execution engine as jup.ag. Ultra routes each swap across Solana liquidity for the best available price, and its transaction landing engine provides faster confirmations with built-in **MEV protection**: private, MEV-resistant execution (MEV, Maximal Extractable Value, covers sandwich attacks and similar manipulation of pending transactions). Ultra also handles gasless execution when you hold no SOL (see below).
The trading fee depends on the pair, from 0% to 0.5%. See [Jupiter Wallet Fees](/user-docs/manage/extension-wallet/fees).
***
## Gasless swaps
Gasless execution activates only when you don't have enough SOL to cover gas costs (signature fees, priority fees, rent). It is not a default mode.
Jupiter pays the gas on your behalf. The fee is calculated from the USD value of the SOL paid, converted into an equivalent amount of the output token. The surcharge is fixed per transaction (not proportional to trade size), so larger swaps result in a lower effective percentage. The maximum surcharge is 10%. If the fee would exceed that threshold, the swap will not execute, which means there is a minimum trade size for gasless swaps.
Gasless is primarily useful when starting out: for example, receiving USDC into a new wallet and swapping without needing to acquire SOL first. When possible, holding a small SOL balance for gas will result in lower fees than relying on gasless execution.
***
## Limit and recurring orders
The swap panel has three tabs: **Market** (instant swap), **Limit**, and **Recurring**.
* **Limit** — place an order that executes when the token reaches your target. Choose the amount to **Allocate** and the token **To Buy**, then set the trigger as a **Price** or a market cap (**MCap** toggle), either by typing a value or with the percentage presets relative to the current market price (for example -10% or -20%, or a custom percentage). **Expiry** offers 10 minutes, 1 hour, 1 day, 3 days, 7 days (the default), or 30 days. The **Order type** selector offers the same [order types](/user-docs/trade/spot/limit-orders#order-types) as the web app: **Limit**, **One Cancels Other (OCO)**, **Limit Buy + OCO (OTOCO)**, and **Trailing Stop Loss**.
* **Recurring** — split the amount you are **Spending** into several orders executed on a schedule. In **Schedule**, set the number of orders and the period they run over (minutes, hours, days, weeks, or months); the **Receiving** field shows the estimated amount per order. Select **Start Recurring**. See [Recurring orders](/user-docs/trade/spot/recurring-orders).
### Managing your orders
The **clock icon** (top right of the swap panel) opens **Your Orders**, with a tab each for **Limit** and **Recurring**. Each order shows its status, fill progress, trigger, and expiry, and can be cancelled from there.
Opening an order shows its full details (order type, trigger, slippage, fill, creation and expiry dates, order ID). **Edit** lets you change a pending limit order's trigger price and slippage in place, without cancelling and recreating it.
***
## Auto-Approve
For one-click trading on [Jupiter](https://jup.ag/) and [Meteora](https://meteora.ag/), Jupiter Wallet can sign transactions on those dApps without a confirmation prompt. It is off by default and toggled per dApp under **Settings** → **Preferences** → **Auto Approve**. See [Auto-Approve in Settings](/user-docs/manage/extension-wallet/settings#auto-approve) for the trade-offs.
Having issues with a swap or an order? See the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq#features).
# Jupiter Wallet Ticker Widget
Source: https://docs.jup.ag/user-docs/manage/extension-wallet/ticker-widget
Jupiter Wallet's Ticker Widget shows price, chart and a swap button for tickers spotted on X, Google, CoinMarketCap, Yahoo Finance, ChatGPT, Claude and Gemini.
## Overview
The Ticker Widget is a feature of the Jupiter Wallet browser extension. It detects token and stock tickers (e.g. $SOL, $BTC) and token contract addresses on websites you visit, and displays an interactive popover with price, chart, and a swap button that opens the extension.
| Detail | Value |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Detects** | Tickers such as $SOL or $BTC, and Solana token contract addresses |
| **Supported sites** | X (Twitter), Google (including AI Overview and AI Mode answers), CoinMarketCap, Yahoo Finance, ChatGPT, Claude, Gemini |
| **Popover shows** | Price, chart, and a swap button for the top 3 matching tokens |
| **Default filter** | Verified tokens only |
| **Toggle** | **Settings** → **Preferences** → **Ticker Widget** |
***
## Supported sites
The widget is active on **X (Twitter)**, **Google** (including AI Overview and AI Mode answers), **CoinMarketCap**, **Yahoo Finance**, **ChatGPT**, **Claude**, and **Gemini**.
***
## Popover
When a ticker is detected, the popover shows the **top 3 tokens** matching the ticker, with a direct swap button for each that opens the extension.
***
## Settings
The Ticker Widget can be toggled on or off under **Settings** → **Preferences** → **Ticker Widget**. By default, only [verified tokens](/user-docs/launch/vrfd) are shown. You can change this to display all tokens.
Some tickers may match tokens that do not exist on Solana or that are unverified. Always verify the token's contract address before swapping, especially when the "all tokens" filter is enabled.
Questions about the widget? See the [Jupiter Wallet FAQ](/user-docs/manage/extension-wallet/faq#features).
# Airdrop Checker
Source: https://docs.jup.ag/user-docs/manage/portfolio/airdrop-checker
Check your eligibility for Solana airdrops across all your wallets, directly from Jupiter Portfolio.
## What Is the Airdrop Checker
The Airdrop Checker is a tab inside Jupiter Portfolio that scans your Solana wallets and shows which airdrops you are eligible for, which you have already claimed, and which you may have missed.
It covers a curated selection of airdrops from major Solana protocols and communities. Smaller or lesser-known airdrops (such as small memecoin distributions) are not included.
The Airdrop Checker does not process claims directly. When you are eligible for an airdrop, you are redirected to the protocol's own claim page to complete the process.
### What It Does
* Checks airdrop eligibility across multiple wallets at once
* Tracks the status of each airdrop: eligible, claimed, expired, or ineligible
* Shows the estimated dollar value of your airdrops over time
* Lets you share a summary card of your airdrop history
### What It Does Not Do
* It does not guarantee coverage of every airdrop on Solana
* It does not handle the claim transaction itself
* It does not determine why you are or are not eligible for a specific airdrop
***
## Getting Started
Navigate to [jup.ag/portfolio](https://jup.ag/portfolio) and enter your wallet address, a Solana domain name, or connect your wallet.
At the top of the Portfolio interface, click the **Airdrop** tab.
Open the wallet dropdown and click **+ Add new wallets** to add additional Solana addresses. You can add wallets by pasting their public address.
Each wallet is displayed with a truncated address (e.g. `8anx...Jgn2`) and shows its own airdrop results independently.
Use the tabs and filters to explore your airdrop eligibility across all added wallets. See [Understanding the Dashboard](#understanding-the-dashboard) below.
***
## Managing Wallets
You can manage your wallets from the wallet dropdown at the top of the page. For each wallet, three actions are available:
| Icon | Action | Description |
| ------ | ---------------- | ------------------------------------------------ |
| Copy | Copy address | Copies the full wallet address to your clipboard |
| View | View on explorer | Opens the wallet on a Solana block explorer |
| Delete | Remove wallet | Removes the wallet from the Airdrop Checker |
You can add multiple wallets to check all your addresses in a single view. The dashboard summary aggregates results across all wallets.
***
## Understanding the Dashboard
### Summary
At the top of the page, a summary displays:
* **Total value**: the combined dollar value of all airdrops received across your wallets
* **Value chart**: a historical chart of your total airdrop value over time, with filters for 1M (one month), 1Y (one year), and All
### Tabs
Airdrops are organized into four tabs. Each tab shows a per-wallet breakdown with different columns depending on the context.
Shows every airdrop tracked by the tool for each wallet, regardless of timing or status.
**Columns**: Date, Airdrop, Asset, Status, Amount, Action
This is the default view. When the **Only eligible** toggle is off, all airdrops appear, including those where the wallet is ineligible.
Shows airdrops with a claim window that has not ended yet, or airdrops with no known end date.
**Columns**: End date, Airdrop, Asset, Status, Amount, Action
Some airdrops display a "-" for the end date when the claim deadline is not yet announced.
Shows airdrops whose claim window has ended, whether claimed or not.
**Columns**: End date, Airdrop, Asset, Status, Amount, Action
Shows only the airdrops you have successfully claimed. This tab is a record of completed claims.
**Columns**: Claim date, Airdrop, Asset, Amount, Action
There is no Status column (all entries are claimed by definition). The Action column shows a **View TX** link to the claim transaction on a block explorer.
The **Only eligible** toggle is not available on this tab.
### Only Eligible Toggle
When enabled, the **Only eligible** toggle filters out wallets and airdrops where the status is Ineligible. This makes it easier to focus on actionable airdrops. It is available on the All, Upcoming, and Past tabs.
***
## Airdrop Statuses
Each airdrop entry has one of four statuses:
Your wallet qualifies for this airdrop and the claim window is still open. Click the action button to be redirected to the protocol's claim page to complete the claim.
You have already claimed this airdrop. The tokens have been sent to your wallet. On the History tab, you can click **View TX** to see the claim transaction.
The claim window for this airdrop has closed and you did not claim in time. The tokens are no longer available and cannot be recovered.
Your wallet does not qualify for this airdrop. This status is only visible when the **Only eligible** toggle is turned off. The Amount column shows 0.00 for ineligible airdrops.
Airdrops have limited claim windows. Once an airdrop expires, the tokens are permanently lost. Check your eligibility regularly to avoid missing active airdrops.
***
## Airdrop Details
Each airdrop entry includes the following information:
* **Airdrop**: the protocol or project name, sometimes with a label indicating the round or season (e.g. "S1", "ASR #6", "Season 1", "Power User")
* **Asset**: the token ticker distributed in the airdrop (e.g. JUP, DRIFT, W, SWTCH)
* **Amount**: the number of tokens allocated and their estimated dollar value at the time of display
* **Date**: the meaning of the date column depends on the tab. On All, it is the airdrop date. On Upcoming and Past, it is the end date of the claim window. On History, it is the date you claimed
***
## Sharing Your Results
Click the **Share it!** button at the top of the page to generate a summary card. The card displays:
* The total eligible airdrop value across all your wallets
* A breakdown of **Claimed** vs **Missed** amounts
* Protocol icons for the airdrops included
You can **Copy** the card image to your clipboard or **Download** it as a file.
***
Common questions about eligibility, claiming, wallets, statuses, and more.
# Portfolio FAQ
Source: https://docs.jup.ag/user-docs/manage/portfolio/faq
Frequently asked questions about Jupiter Portfolio: missing tokens, wrong values, protocol support, Airdrop Checker, and more.
For issues with missing tokens, wrong values, or missing positions, you can submit a support ticket [here](https://support.jup.ag/hc/en-us/requests/new?ticket_form_id=18486452428188). Include your wallet address and as much detail as possible to help the team investigate.
## Portfolio
There are a few possible reasons:
* **No reliable price source.** If a token has very low liquidity or no established market, Portfolio cannot determine a reliable USD price. In that case, the token is hidden from the dashboard entirely. It is not shown with a zero value; it simply does not appear.
* **The token is very new.** Newly launched tokens may not be priced yet. They will appear once a reliable price source becomes available.
* **A bug is causing the token to not display.** If you believe a token should be shown, submit a [support ticket](https://support.jup.ag/hc/en-us/requests/new?ticket_form_id=18486452428188) with the token mint address and your wallet address.
Submit a [support ticket](https://support.jup.ag/hc/en-us/requests/new?ticket_form_id=18486452428188) with the following details:
1. The protocol where you see the issue.
2. The specific position concerned.
3. Your wallet address.
4. (Optional) A screenshot of the position as shown on the protocol's own website, for comparison.
If you have active positions on a supported protocol but they do not appear on your Portfolio dashboard, submit a [support ticket](https://support.jup.ag/hc/en-us/requests/new?ticket_form_id=18486452428188) with:
1. The protocol or application where the missing position exists (e.g., Jupiter Perps, Kamino, Drift).
2. Your wallet address (kept private, used only to resolve the issue).
Portfolio currently supports 200+ protocols. If the protocol you use is not listed, you can submit a request on the [Portfolio feedback page](https://feedback.jup.ag/b/portfolio-feedback). The team reviews requests and works on adding new integrations.
* **On desktop (jup.ag/portfolio):** positions refresh on-demand, meaning the data updates when you load or reload the page.
* **On Jupiter Mobile:** positions refresh periodically in the background.
The Chart feature, which shows historical portfolio value over time, requires a connection through [Jupiter Wallet](/user-docs/manage/extension-wallet) or [Jupiter Mobile](/user-docs/global/mobile). If you are viewing a portfolio without one of these, the Chart will appear as locked.
No. Portfolio does not currently track or display NFT holdings.
***
## Airdrop Checker
The Airdrop Checker is a tab inside Jupiter Portfolio. It lets you scan your Solana wallets to see which airdrops you are eligible for, which you have already claimed, and which you may have missed. To access it, go to [jup.ag/portfolio](https://jup.ag/portfolio) and click the **Airdrop Checker** tab.
No. The tool tracks a curated selection of airdrops from major Solana protocols and well-known communities (e.g. Jupiter, Drift, Wormhole, Meteora, Tensor). Smaller distributions, such as minor memecoin airdrops, are not included.
No. The Airdrop Checker shows your eligibility status and redirects you to the protocol's own claim page when you click the claim action. The claim transaction is processed on the protocol's site, not within Jupiter.
Ineligible means your wallet does not meet the criteria set by the protocol for that specific airdrop. Each protocol defines its own eligibility rules (e.g. minimum trading volume, staking, governance participation). The Airdrop Checker does not determine or explain why a wallet is ineligible.
Once the claim window closes, the airdrop status changes to **Expired**. The tokens are permanently lost and cannot be claimed or recovered. There is no way to reclaim expired airdrops.
For more detail on how the Airdrop Checker works, see the [Airdrop Checker page](/user-docs/manage/portfolio/airdrop-checker).
# Portfolio Overview
Source: https://docs.jup.ag/user-docs/manage/portfolio/index
Track your entire Solana portfolio from a single dashboard. View token balances, DeFi positions, transaction history, and more across 190+ protocols.
Learn how to track your Solana portfolio step by step with the Jupiter Academy guide.
## What is Portfolio?
Jupiter Portfolio is a portfolio tracking tool for Solana. It gives you a unified view of your token balances, DeFi positions, staking activity, and transaction history across 190+ protocols, all from a single dashboard.
Portfolio is primarily read-only: it displays your onchain data without requiring you to interact with each protocol individually. Some Jupiter-specific actions are available directly from the dashboard, such as staking SOL with Jupiter Validator or supplying assets to Jupiter Lend.
Portfolio is available at [jup.ag/portfolio](https://jup.ag/portfolio). It works with any public Solana address. You do not need to connect a wallet to view a portfolio.
### The Portfolio Landing Page
Opening [jup.ag/portfolio](https://jup.ag/portfolio) without a wallet selected shows a landing page where you can:
* **Search any wallet** — paste a Solana wallet address or domain, or connect your own wallet.
* **Browse Smart Money wallets** — a preview of top wallets by daily PnL, with their win rate, volume, and transaction count. Each opens directly in Portfolio; see [Smart Money](/user-docs/trade/spot/smart-money) for how these wallets are selected.
* **Open demo wallets** — sample portfolios (a DeFi whale, a JUP staker, an airdrop farmer) you can view individually or as a group, to explore Portfolio before using your own address.
## What Does Portfolio Display?
### Summary Panel
When you open Portfolio, the top section shows a high-level overview of the selected wallet:
| Field | Description |
| ------------- | ------------------------------------------------------------------------------------------------------------ |
| **Net Worth** | Total value of all detected assets and positions, displayed in USD and SOL, with its change since yesterday. |
| **Spot PnL** | Profit and loss on spot trading. Detailed further in the Spot tab. |
| **Claimable** | Total value of assets available to claim across protocols (e.g., staking rewards). |
The Net Worth card also carries the **Send** and **Deposit** actions (see [Actions](#actions)).
### Analytics Panel
To the right of the summary, three views are available:
Shows estimated yearly returns (in USD and as a percentage APR) based on the current APY of your active positions. The estimate is broken down by platform.
Yield Estimate is a projection based on current rates. It is not a guarantee of future returns. Rates can change at any time depending on protocol conditions.
Visual allocation of your portfolio, viewable by **Tokens** or by **Platforms**. Each entry shows its percentage of total portfolio value, with a color-coded bar for quick reading.
Displays historical portfolio value over time, with 1W, 1M, and 3M time filters.
The History chart requires a connection through [Jupiter Wallet](/user-docs/manage/extension-wallet) or [Jupiter Mobile](/user-docs/global/mobile). Without one of these, the chart appears as locked.
### Positions Tab
The Positions tab lists all detected positions, grouped by platform (e.g., Holdings, Jupiter, Validators, Jito, Kamino). Each platform section shows its total USD value and can be expanded to see individual positions.
Depending on the position type, the following details may be shown:
| Column | Description |
| ---------------------- | ---------------------------------------------------------------------- |
| **Asset / Token** | The token involved in the position. |
| **Balance** | Amount of the token held or deposited. |
| **Price / 24h Change** | Current token price with 24-hour price change. |
| **PnL (all time)** | All-time profit and loss on the holding, shown for wallet tokens. |
| **Yield** | Current APY for yield-bearing positions (staking, lending, liquidity). |
| **Value** | Total USD value of the position. |
Some position types display additional information:
* **Lending positions** show the **Health** percentage and separate **Supplied** and **Borrowed** amounts.
* **Validator staking** shows the **Validator** name and stake status (e.g., Active, Claimable).
* **Leverage positions** show the **multiplier** and **Health** percentage.
### Spot Tab
The Spot tab summarises the wallet's spot trading performance: Win Rate, Realised PnL and Total PnL, a Realised PnL chart, and a distribution of trade outcomes by PnL bucket, alongside token-by-token views (Recent, Live Positions, Most Profitable, Activity). A **PnL Calendar** breaks down realised PnL by day, with win streaks, and results can be shared as an image card.
### Actions
While Portfolio is primarily a read-only tracking tool, some actions are available directly from the dashboard for Jupiter products:
| Action | Description |
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Send** | Transfer tokens to any wallet address, or create a Magic Link, via Jupiter Send. Available from the Net Worth card. |
| **Deposit** | Deposit crypto, buy with card (KYC required), deposit from an exchange, or bridge from other chains. Available from the Net Worth card. |
| **Reclaim Rent** | Close empty token accounts to recover the SOL rent paid to open them. |
| **Stake SOL** | Redirect to Jupiter Validator to stake SOL. Shown as a "Get X% APY" button on SOL holdings. |
| **Supply to Jupiter Lend** | Redirect to Jupiter Lend to supply assets. Shown as a "Get X% APY" button on eligible tokens (e.g., USDG). |
| **Add funds to Jupiter Lend** | Add funds to an existing Jupiter Lend position directly from Portfolio. |
| **Trade Spot positions** | Buy or sell a token directly from its Portfolio row. |
| **Cancel limit and recurring orders** | Cancel active Jupiter limit orders and recurring (DCA) orders. |
| **Close Perps positions** | Close Jupiter Perpetuals positions from the Positions tab. |
| **Close Predict positions** | Close Jupiter Predict positions from the Positions tab. |
| **Manage Jupiter Lend** | Manage Earn deposits and Borrow positions directly from Portfolio. |
| **Subscribe to the Portfolio Brief** | Sign up for a recurring summary report of your portfolio. |
| **Manage Validator Staking** | Manage your staking position on the Jupiter Solana validator. |
Actions are only available for Jupiter products and only for the connected wallet: positions on watched addresses are displayed but cannot be managed. Positions on third-party protocols (e.g., Kamino, Drift) are displayed but cannot be managed from Portfolio either.
### Activity Tab
The Activity tab shows the full transaction history for the wallet. You can:
* Toggle **Hide failed** to show or hide failed transactions.
* Toggle **Hide spam** to filter out spam transactions (enabled by default).
* **Export** transaction history.
## How Data Works
### Position Detection
Portfolio detects positions by parsing onchain data directly. When you load a wallet, Portfolio reads the blockchain to identify token balances, staking positions, lending positions, liquidity provisions, and other DeFi activity across supported protocols.
### Pricing
Token prices come from a mix of sources:
* **Jupiter Pricing API** for standard tokens.
* **In-house portfolio pricing** for specific assets where standard pricing is insufficient, such as LP tokens, staked assets, and other derivative tokens.
If a token has no reliable price source, it is **hidden** from the dashboard. It is not shown with a zero or missing value; it simply does not appear.
### Refresh Frequency
* **Desktop (jup.ag/portfolio):** data refreshes on-demand. Positions update when you load or reload the page. Positions appear progressively as they are fetched, rather than all at once.
* **Jupiter Mobile:** data refreshes periodically in the background.
The progressive loading behavior applies only to [jup.ag/portfolio](https://jup.ag/portfolio). It is not available in Jupiter Mobile, the side drawer, or the wallet view.
## Supported Protocols
Portfolio currently tracks positions across 190+ Solana protocols, including major DeFi platforms, staking providers, and other onchain applications.
If a protocol you use is not supported, you can request it through the [Portfolio feedback page](https://feedback.jup.ag/b/portfolio-feedback).
01, Access Protocol, Adrastea, Adrena, Akuma, Allbridge, AllDomain, Amulet, Armada, Asgard Finance, Atrix, Aurory, Backwoods, Banana Gun, Banger, Banx, baskt, Believe, Bio, Blaze Staked SOL, Bloom, SNS, BONKbot, Bonk Rewards, Boop, BounceBit, Brawl AI, BSKT, btcSOL, Byreal, Candle, Carrot, Circle, Circuit, Citrus, Clone, CoinMarketCap, Cropper, Cudis, Cushion, CyberFrogs, Cytonic, deBridge, Defiland, DeFiTuna, Degen Coin Flip, DeGods, DFlow, Divvy, DoubleUp, Drift, Drip Haus, Dumpy, Elemental, EnsoFi, Exponent, Famous Fox Federation, Fjord Foundry, FlashTrade, Lulo, Flowmatic, Flux Beam, Fragmetric, Francium, Frax Staked ETH, MetaDAO, Gary, Gauntlet, Gecko, Genesysgo, Glow, Gofurs, GooseFX, GPool, Grass, Guano, Haven, HawkFi, Hedgehog Markets, Hedgy, Helium, Honeyland, Huma, Hxro, Hylo, ILoop, Jito, Jupiter, Jupiter DAO, Jupiter Jupuary, Jupiter Launchpad, Kamino, Kishu, Knightrade, Kyros, Lavarage, Layer3, Lifinity, Ligma, Loopscale, M1 Capital, MadBears, MadLads, Maestro, Mango, MarginFi, Marinade Finance, MathWallet, Meteora, Meteorswap, Mithril, MonkeDAO, MonkeLabs, MonkeWorld, Moonwalk, Moonwell Artemis, mSOL, MtnPay, MtnPay Deals, MtnPay Swap, Nami Protocol, Night Market, Notifi, Numoen, NFTs2Me, Ocean Protocol, Octane, OKSwap, OneSwap, OpenSerum, Orion, Otter, PalletOne, PancakeSwap, Parrot, PawSwap, Peryton, Phantom, Phoenix, Pilot, Pippin Finance, Pizza, Pluto, Port Finance, Primate, Project Serum, PsyOptions, Pump, PumpkinSwap, Quasar, RaceFi, Raydium, Redeem, Ren, ReSol, Riptide, Risk Harbor, RoboVault, Saber, Sanctum, Shadowlands, Sharky, ShdwDrive, Shiryo, SideSwap, Slope, Sobr, Solana Beach, SolanaPunks, Solflare, Solido, Solmez, Solrise, Solscan, Solyard, SpaceHamster, Spectre, Spling, Squads, Star Atlas, StatUtils, Step, Streamflow, SushiSwap, Switchboard, Synapse, Synthrix, Tapio, TempoDAO, Tidal, TokenPocket, Tulip, Uniswap, Wagmi, Wormhole, XNFT Backpack, Yak, YieldRay, Zeta, Zeus, ZigZag
## Limitations
* **NFTs are not tracked.** Portfolio does not display NFT holdings.
* **Tokens without a price source are hidden.** If Portfolio cannot determine a reliable price for a token (e.g., very low liquidity or very new token), the token will not appear on the dashboard.
# Using Portfolio
Source: https://docs.jup.ag/user-docs/manage/portfolio/using-portfolio
How to access Jupiter Portfolio, navigate the dashboard, use the Address Book, and manage wallet groups.
## Accessing Portfolio
Jupiter Portfolio is available at [jup.ag/portfolio](https://jup.ag/portfolio).
If you open Portfolio without a connected wallet, a landing page introduces the product; from there you can connect a wallet or open a demo portfolio.
You can view any Solana wallet's portfolio by entering its public address in the search bar. No wallet connection is required. You can also use a Solana domain name (e.g., .sol) instead of a wallet address.
If you connect your wallet, Portfolio will automatically load your positions. Some features, like the historical Chart, are only available when connected through [Jupiter Wallet](/user-docs/manage/extension-wallet) or [Jupiter Mobile](/user-docs/global/mobile).
## Navigating the Interface
The Portfolio interface is organised into four tabs: **Positions**, **Spot**, **Activity**, and **Airdrop**. The account being viewed is shown at the top of the page: click it to open the **account selector**, where you can search any wallet address or domain name, revisit recently viewed and recently connected wallets, open your bookmarks, and manage the **Address Book** (saved wallets and groups).
### Positions
The Positions tab is the main view. It contains:
**Net Worth card** — the wallet's total value in USD and SOL with its change since yesterday, plus Spot PnL and Claimable amounts. The card also carries the **Send** button (transfer tokens to any address, or create a Magic Link, via Jupiter Send) and the **Deposit** button (deposit crypto, buy with card, deposit from an exchange, or bridge from other chains).
**Analytics card** (top right) — portfolio views including a **History** chart of portfolio value over time with 1W, 1M, and 3M windows. See the [Overview page](/user-docs/manage/portfolio/index#analytics-panel) for details on each view.
**Platform sections** — all detected positions grouped by platform, each section expandable. Platform chips above the list jump to a platform's section, and **Collapse** folds all sections. See the [Overview page](/user-docs/manage/portfolio/index#positions-tab) for a detailed breakdown of position types and columns.
### Spot
The Spot tab summarises the wallet's spot trading performance: Win Rate, Realised PnL and Total PnL, a Realised PnL chart, a distribution of trade outcomes, and token-by-token lists (**Recent**, **Live Positions**, **Most Profitable**, **Activity**). The **PnL Calendar** breaks down realised PnL by day, with win streaks, and results can be shared as an image card.
### Activity
The Activity tab shows the full transaction history for the wallet, grouped by day, with the app and the amounts sent and received for each transaction. It includes **Hide failed** and **Hide spam** toggles and an **Export** option.
### Airdrop
The Airdrop tab is the [Airdrop Checker](/user-docs/manage/portfolio/airdrop-checker): airdrop eligibility for the wallet, with **All**, **Upcoming**, **Past**, and **History** filters and an **Only eligible** toggle.
## Address Book
The Address Book lets you save wallet addresses and organize them into groups for quick access.
Address Book data is stored locally on your device and is only visible to you.
### Saving Addresses
Click the account name at the top of Portfolio to open the account selector, then search for a wallet address or domain name (or pick a recently viewed wallet).
Click **Bookmark** at the top right of the wallet's view to save it to your Address Book.
Click **Bookmarked** to add the wallet to a group or remove it from the Address Book. All saved wallets and groups can be managed from **Address book** in the account selector.
### Groups
Groups let you view the combined portfolio of multiple wallets at once. This is useful if you manage several wallets and want to see a unified net worth, position list, and activity feed.
**Creating a group:**
Open the account selector and click **Create your first group** (or **Create a group** from a bookmarked wallet's menu). Portfolio can also suggest a group from your recently connected wallets ("View wallets together").
Add wallet addresses or domain names to the group.
Name the group and, optionally, assign it a custom icon.
You can select a group as your **default view**, so Portfolio loads that group automatically when you open the page.
Each group can contain up to **15 wallets**. This limit is extended to **30 wallets** if you use [Jupiter Sync](/user-docs/manage/extension-wallet/getting-started#jupiter-sync-mobile-and-extension) with Jupiter Wallet.
### Viewing a Group
To view a group's combined portfolio, select the group from the account selector (or from the Address Book). The view updates to show aggregated data across all wallets in that group.
### Importing Addresses
You can import existing address lists using the **Import** button at the top of the Address Book page.
Learn how to track your Solana portfolio step by step with the Jupiter Academy guide.
# Brand Kit
Source: https://docs.jup.ag/user-docs/more/brand-kit
Logos, labelling guidelines, and brand assets for Jupiter integrations.
## Jupiter Brand Kit
## Labelling
When integrating with Jupiter products, you are advised to correctly label the APIs used.
**For Swap**
| API Used | Required Label |
| --------------------------------- | -------------- |
| Self-Hosted Metis Swap API binary | Metis |
# Active Staking Rewards (ASR)
Source: https://docs.jup.ag/user-docs/more/dao/asr
What ASR is, how it's distributed, and how to claim your rewards.
## What is ASR
ASR stands for Active Staking Rewards. Every quarter, 50 million JUP from the community allocation is distributed to eligible stakers.
ASR is paid in JUP and added to your staked balance, increasing your governance power over time.
Voting activity has no impact on ASR. You do not need to vote to be eligible.
For more background on ASR, see the original post: [ASR: Active Staking Rewards Notes](https://www.jupresear.ch/t/asr-active-staking-rewards-notes/12032).
## How ASR is calculated
ASR is distributed based on time-weighted stake. The longer and the more you have staked during a given quarter, the larger your share of the quarterly ASR allocation.
The 7-day unstaking cooldown prevents users from staking briefly around distribution periods to claim rewards without sustained participation. See [Staking](/user-docs/more/dao/staking) for details on the unstaking process.
## How to claim ASR
ASR rewards are distributed quarterly and must be actively claimed. They are not sent to your wallet automatically.
There is no fixed distribution date. Each quarter's claim window is announced on Jupiter's official channels when it opens. If nothing is displayed on the rewards page yet, the claim period for the quarter has not started.
Connect your staking wallet to [jup.ag/rewards](https://jup.ag/rewards) when ASR claims go live for the quarter.
The page will display the amount of ASR you are eligible to claim.
Click the claim button and confirm the transaction in your wallet.
ASR cannot be claimed while you are in the process of unstaking. You can either wait for the 7-day cooldown to finish and then claim, or cancel the unstaking process first and claim immediately.
## Troubleshooting
ASR is claimed at [jup.ag/rewards](https://jup.ag/rewards), not on the vote.jup.ag governance page. Connect the wallet you used to stake your JUP, and your eligible rewards will be displayed.
Claiming ASR is an onchain transaction that requires gas. Make sure you have at least \~0.01 SOL in your wallet. If the transaction still fails, check that you are not currently in the process of unstaking, as ASR cannot be claimed during the 7-day cooldown.
ASR rewards are added to your staked balance, not sent to your wallet as liquid JUP. To see the updated amount, check your staking balance on [vote.jup.ag](https://vote.jup.ag/) or [jup.ag/portfolio](https://jup.ag/portfolio).
## Claim period
ASR claims open in the [Rewards Hub](https://jup.ag/rewards) shortly after the quarter ends (for the Apr - Jun 2026 round, claims opened on 8 July) and stay open for a limited window, not indefinitely.
When the window closes, the campaign page shows a claims-closed notice with a final support deadline: you can still claim by opening a support ticket at [support.jup.ag](https://support.jup.ag/) until that date (for the Apr - Jun 2026 round, until 7 October 2026). Reward amounts and your claimed state remain visible on the campaign page after claims close.
Follow [@jup\_dao on Twitter](https://x.com/jup_dao) or enable "Notify me" on [vote.jup.ag](https://vote.jup.ag/) to get alerts when ASR claims go live.
# Jupiter DAO FAQ
Source: https://docs.jup.ag/user-docs/more/dao/faq
Frequently asked questions about the Jupiter DAO, staking, voting, and ASR.
## Staking
Connect your wallet to [vote.jup.ag](https://vote.jup.ag/), enter the amount you want to stake, and confirm the transaction. Full step-by-step instructions are on the [Staking](/user-docs/more/dao/staking) page.
No. Unstaking requires a 7-day cooldown. After 7 days, you can claim your tokens back to your wallet. See [Staking](/user-docs/more/dao/staking) for the full process.
It prevents gaming. Without it, users could stake briefly around distribution periods to claim ASR and leave immediately, with no sustained commitment.
Staked JUP is not liquid, so some wallets may not display it. You can check your accurate balance at [vote.jup.ag](https://vote.jup.ag/) or [jup.ag/portfolio](https://jup.ag/portfolio).
You likely don't have an open JUP token account in your wallet. This can happen if you've used a wallet cleanup service. Buy a small amount of JUP to reopen the account, then retry. Make sure you have at least \~0.01 SOL for the fee.
Staking lets you vote on DAO proposals, earn quarterly ASR rewards based on time-weighted stake, and access occasional community perks and airdrops. Additional utility for stakers is being explored. See [Staking](/user-docs/more/dao/staking).
## Voting
Connect your staking wallet to [vote.jup.ag](https://vote.jup.ag/), find the active proposal in the Proposals section, select your option, and confirm the transaction. Full instructions are on the [Voting](/user-docs/more/dao/voting) page.
Go to [vote.jup.ag](https://vote.jup.ag/) and scroll to the "Proposals" section. Active proposals appear at the top with an "Active" status. You can also follow [@jup\_dao on Twitter](https://x.com/jup_dao) or enable email notifications on the vote page.
Yes. Only staked JUP gives you voting power. Unstaked JUP in your wallet cannot be used to vote. See [Staking](/user-docs/more/dao/staking) for how to stake.
Yes. You can change your vote at any time while the proposal is still active by voting again with a different option.
It means you are participating in governance but choosing not to take a position. Your voting power still counts toward quorum.
No. Your vote choice has no impact on ASR. Voting activity is not required for ASR eligibility. ASR is distributed based on time-weighted stake only.
When you vote during an unstaking process, your voting power is based on what your staking account will hold at the end of the proposal. This prevents the same tokens from being used to vote twice across different wallets.
Voting is an onchain transaction that requires gas. Make sure you have at least \~0.01 SOL in your wallet.
You can follow announcements on [Discord](https://discord.com/invite/jup), the [DAO Twitter](https://x.com/jup_dao), or enable email notifications on [vote.jup.ag](https://vote.jup.ag/) by selecting "Notify me."
## ASR
Active Staking Rewards. Every quarter, 50 million JUP from the community allocation is distributed to stakers based on time-weighted stake. Voting is not required. See [ASR](/user-docs/more/dao/asr) for full details.
Connect your staking wallet to [jup.ag/rewards](https://jup.ag/rewards) when claims go live. Your eligible amount will be displayed with a button to claim. See [ASR](/user-docs/more/dao/asr) for step-by-step instructions.
No. You must either wait for the unstaking period to end and then claim, or cancel the unstaking process first.
Yes. You can claim at any time during the quarter. At the end of the quarter, unclaimed rewards are returned to the community's treasury and are not redistributed.
ASR is claimed at [jup.ag/rewards](https://jup.ag/rewards), not on the vote.jup.ag governance page. Connect the wallet you used to stake your JUP.
Make sure you have at least \~0.01 SOL for gas. Also check that you are not currently unstaking, as ASR cannot be claimed during the 7-day cooldown.
## Community Initiatives
The Working Groups model has been discontinued and existing groups have been disbanded. The format is unlikely to return in its original form.
The formal grant program has been halted. However, the community can still propose ideas via the [Jupiter Forum](https://discuss.jup.ag/) or reach out to AlleyCat or AG for support. See the [DAO Overview](/user-docs/more/dao/index) for details.
# Jupiter DAO Overview
Source: https://docs.jup.ag/user-docs/more/dao/index
Overview of the Jupiter DAO, the J.U.P. vision, community initiatives, and the Catdet community.
## What is the Jupiter DAO
The Jupiter DAO is a community-governed system that seeks to expand both Jupiter and Solana as a whole. The DAO conducts regular votes using JUP, the governance token.
The DAO was seeded with 100 million JUP and 10 million USDC. JUP holders who stake their tokens can vote on proposals relating to the allocation of these assets and on broader governance decisions.
To participate, stake your JUP on [vote.jup.ag](https://vote.jup.ag/). See [Staking](/user-docs/more/dao/staking) for a step-by-step guide.
## The J.U.P.
The J.U.P. is Jupiter's framework for a community that operates across multiple layers and works together to push both Jupiter and the broader crypto space forward.
Everyone who uses Jupiter products.
Core team building and maintaining Jupiter.
Community governance through proposals and votes.
Jupiter's most active and recognized community members.
You can read more about this concept in the original post: [J.U.P: An Experiment in Distributed Strategic Execution](https://www.jupresear.ch/t/j-u-p-an-experiment-in-distributed-strategic-execution/7182).
# Staking
Source: https://docs.jup.ag/user-docs/more/dao/staking
How to stake and unstake JUP, the unstaking period, and staking benefits.
## What staking does
Staking JUP locks your tokens in the governance smart contract. In return, you receive voting power to participate in DAO proposals and become eligible for [Active Staking Rewards (ASR)](/user-docs/more/dao/asr).
Staked JUP is not liquid. It remains locked until you go through the unstaking process.
## How to stake
Visit the governance platform at [vote.jup.ag](https://vote.jup.ag/). You can use a desktop browser or your wallet's dApp browser on mobile. Click the Connect button in the top right corner and select your wallet.
Enter the amount of JUP you want to stake, then click "Stake" and confirm the transaction in your wallet.
Once confirmed, the JUP will leave your wallet and your Voting Power will update on the governance site. You can now vote on any live proposal.
You can add more JUP to your existing stake at any time without unstaking first.
## Benefits of staking
Staking JUP allows you to:
* Participate in Jupiter DAO governance by voting on proposals.
* Earn Active Staking Rewards (ASR) each quarter, distributed based on time-weighted stake. See [ASR](/user-docs/more/dao/asr) for details.
* Access occasional community perks and airdrops.
Additional utility for JUP stakers is being explored across the Jupiter product suite.
## How to unstake
Unstaking initiates a 7-day cooldown period. During this time, you can still vote on live proposals with your remaining voting power and qualify for rewards.
Connect your staking wallet to [vote.jup.ag](https://vote.jup.ag/) and select the Unstake tab below your Voting Power display.
Select the amount you want to unstake (or select MAX to unstake everything). Click "Unstake" and confirm the transaction.
A 7-day countdown will begin. Your Voting Power will update to reflect the unstaking. You can cancel the process at any time by clicking "Cancel."
Once the 7-day period ends, click "Claim" and confirm the transaction. The tokens will be returned to your wallet.
Unstaking cannot be skipped or accelerated. You must wait 7 days before claiming your tokens.
### Voting power during unstaking
When you unstake, your voting power is reduced based on the amount being unstaked:
* **Partial unstake**: voting power is reduced instantly by the unstaked amount.
* **Full unstake**: voting power decreases linearly over the 7-day unstaking period.
If you vote on a proposal while unstaking, your voting power is calculated based on what your staking account will hold at the end of the proposal. This prevents the same tokens from being used to vote more than once across different wallets.
## Why is there a 7-day unstaking period
The 7-day cooldown exists to prevent gaming. Without it, users could stake before a distribution period to claim ASR and unstake immediately after, without any sustained commitment.
## Check your staked balance
Since staked JUP is not liquid, some wallets may not display it correctly.
To check your accurate staked balance:
* [vote.jup.ag](https://vote.jup.ag/) (connect your wallet)
* [jup.ag/portfolio](https://jup.ag/portfolio)
## Claiming fails after unstaking
If your claim transaction fails after the 7-day period, it's likely because your wallet no longer has an open JUP token account. This can happen if you've used a wallet cleanup service to burn empty token accounts.
Buy a small amount of JUP (any amount) to reopen the JUP token account in your wallet.
Go back to [vote.jup.ag](https://vote.jup.ag/) and click "Claim" again. Make sure you have at least \~0.01 SOL for the transaction fee.
# Voting
Source: https://docs.jup.ag/user-docs/more/dao/voting
How to vote on Jupiter DAO proposals, track votes, and understand voting mechanics.
## How voting works
JUP holders who have staked their tokens can vote on governance proposals through the Jupiter DAO. Each staker's influence is proportional to their staked balance (voting power).
Voting is an onchain transaction. You need a small amount of SOL (\~0.01) in your wallet to cover the transaction fee.
To check if there is an active vote right now, go to [vote.jup.ag](https://vote.jup.ag/) and scroll to the "Proposals" section. Active proposals are listed at the top with an "Active" status.
## How to vote
Go to [vote.jup.ag](https://vote.jup.ag/) and connect the wallet where your JUP is staked.
Scroll to the "Proposals" section at the bottom of the page. Active proposals appear at the top of the list. Click on the proposal you want to vote on to see its details and vote options.
Select your preferred option, click "Vote," and confirm the transaction in your wallet.
The proposal page will update to show what you voted for and the voting power you used. You can also leave verified feedback.
You can change your vote at any time while the proposal is still active by simply voting again with a different option.
## Vote options
Most proposals include "For," "Against," and "Abstain" options.
Selecting "Abstain" means you are participating in governance but choosing not to take a position. Your voting power still counts toward quorum.
The option you choose has no impact on your ASR allocation. Voting activity is not required for ASR eligibility. ASR is distributed based on time-weighted stake only. See [ASR](/user-docs/more/dao/asr) for details.
## Voting power while unstaking
If you vote on a proposal while you are in the process of unstaking, your voting power is calculated based on what your staking account will hold at the end of the proposal, not your current staked balance.
This is a safeguard. Without it, someone could vote, finish unstaking, transfer tokens to another wallet, restake, and vote again on the same proposal.
## Can't vote even though JUP is staked
If your JUP is staked but you're unable to vote, check that you have at least \~0.01 SOL in your wallet. Voting is an onchain transaction and requires gas.
## Stay informed about upcoming votes
There are several ways to make sure you don't miss a vote:
* **[Discord](https://discord.com/invite/jup)**: proposals are typically shared in announcements. The lead-up usually lasts 7 to 10 days, and the voting period runs for 3 to 4 days.
* **[DAO Twitter](https://x.com/jup_dao)**: posts the voting calendar and reminders while a vote is live.
* **[Email notifications](https://vote.jup.ag/)**: on the vote page, select "Notify me" to receive email alerts when a vote opens.
## Voting history
You can view all past proposals and your personal voting history by connecting your wallet at [vote.jup.ag](https://vote.jup.ag/).
# JUP Token FAQ
Source: https://docs.jup.ag/user-docs/more/jup-token/faq
Frequently asked questions about the JUP token, including the contract address and where to get JUP.
```
JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN
```
Always verify the address before trading. The Jupiter team has no other tokens besides those listed on the [Overview](/user-docs/more/jup-token/index) page.
JUP is available on decentralized exchanges (DEXs) and centralized exchanges (CEXs). On Solana, you can swap it directly through [Jupiter](https://jup.ag/tokens/JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN).
These are receipt or utility tokens tied to specific Jupiter products. They do not dilute JUP governance or economics. Contract addresses are listed on the [Overview](/user-docs/more/jup-token/index) page.
No. JUP is and will remain the only governance token for Jupiter. The team may issue product-specific receipt tokens (e.g. LP receipts, liquid staked tokens), but none that affect JUP economics. See [Tokenomics](/user-docs/more/jup-token/tokenomics) for details.
Jupiter earns fees from perpetuals, spot swaps, limit orders, DCA, and liquidity aggregation (onchain and offchain). 50% of onchain revenue goes to the Litterbox Trust to buy JUP. The rest funds operations and treasury reserves. See [Transparency](/user-docs/more/jup-token/transparency) for the full breakdown.
A non-profit entity that receives 50% of Jupiter's onchain revenue and uses it to make programmatic onchain purchases of JUP as a long-term strategic reserve. It has burned approximately 134 million JUP to date. You can track its wallet on [Solscan](https://solscan.io/account/6tZT9AUcQn4iHMH79YZEXSy55kDLQ4VbA3PMtfLVNsFX).
No. JUP holders do not receive a direct percentage of fees. They benefit indirectly through the Litterbox Trust's JUP purchases and through ASR, quarterly rewards distributed to stakers based on time-weighted stake. See [Transparency](/user-docs/more/jup-token/transparency).
No. There are no advisory payments to insiders, and no profit flows to founders or equity holders. All team compensation comes from the team token allocation and is subject to vesting. See [Transparency](/user-docs/more/jup-token/transparency).
All team members are on a 1-year cliff followed by 3 years of linear vesting. Tokens vest onchain and can be viewed on [Jupiter Lock](https://lock.jup.ag/). Locked tokens cannot earn ASR. See [Tokenomics](/user-docs/more/jup-token/tokenomics).
The unlock schedule is available on [CoinMarketCap](https://coinmarketcap.com/currencies/jupiter-ag/#token_unlocks). Unissued token wallets are reviewed every \~6 months in community audits. The latest is the [February 2025 audit](https://www.jupresear.ch/t/jup-community-audit-feb-2025/34764).
No. Jupiter has never conducted an OTC sale or made discounted sales to market makers. Details on market maker arrangements are on the [Transparency](/user-docs/more/jup-token/transparency) page.
The co-founders of Jupiter are also the co-founders of Meteora, which is publicly known. However, Meteora's revenue does not flow through Jupiter entities and its balance sheets are kept entirely separate. Meteora may launch its own token in the future.
# JUP Token Overview
Source: https://docs.jup.ag/user-docs/more/jup-token/index
Contract address, affiliated tokens, and where to trade JUP.
## What is JUP
JUP is the governance token of the Jupiter protocol on Solana. Holders can stake JUP to participate in the Jupiter DAO, vote on governance proposals, and earn Active Staking Rewards (ASR).
JUP does not entitle holders to a direct share of protocol fees. However, 50% of Jupiter's onchain revenue is used to programmatically purchase JUP through the Litterbox Trust, which operates as a long-term strategic reserve. See [Transparency](/user-docs/more/jup-token/transparency) for details on revenue allocation and value accrual.
## Contract address
Always verify the token address before trading. The Jupiter team has no tokens other than those listed on this page.
```
JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN
```
## Affiliated tokens
Jupiter issues several product-specific tokens alongside JUP. These are receipt or utility tokens tied to specific Jupiter products. They do not dilute JUP governance or economics.
Jupiter Liquidity Provider token.
`27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4`
Jupiter liquid staked SOL.
`jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v`
Jupiter yield-bearing stablecoin.
`JuprjznTrTSp2UFa3ZBUFgwdAmtZCq4MQCwysN55USD`
The team may launch additional receipt tokens in the future (e.g. LP position receipts, liquid staked tokens). There are no plans to launch any governance or protocol token that would dilute JUP economics.
## Where to trade JUP
JUP can be traded on decentralized exchanges (DEXs) and centralized exchanges (CEXs). On Solana, you can swap JUP directly through [Jupiter](https://jup.ag/tokens/JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN).
Always verify the token address before executing a trade, whether on a DEX or CEX. Imposter tokens using similar names or tickers exist across platforms.
# JUP Tokenomics
Source: https://docs.jup.ag/user-docs/more/jup-token/tokenomics
JUP token allocation, team vesting on Jupiter Lock, the community-approved supply reduction, and where to track unlocks and circulating supply.
## Initial allocation
Details about the initial allocation of JUP and the original tokenomics structure can be found in [this post from Meow](https://x.com/weremeow/status/1735544950417436806), co-founder of Jupiter.
## Team vesting
All team members are on a standard vesting schedule: 1-year cliff followed by 3 years of linear vesting. Team tokens vest onchain and can be viewed on [Jupiter Lock](https://lock.jup.ag/).
Locked tokens cannot earn ASR. Team members are only eligible for Active Staking Rewards on tokens that have fully vested and been staked through the governance program.
There are no advisory payments to insiders from the Foundation. All team compensation comes exclusively from the team token allocation and is subject to the vesting schedule described above.
## Supply and burns
Jupiter conducted a community-approved supply reduction. Details of the proposal and its rationale are available in the [Supply Reduction Proposal](https://www.jupresear.ch/t/proposal-enhance-certainty-for-jup-holders-and-community-via-a-token-supply-reduction/20919).
The Litterbox Trust, which receives 50% of Jupiter's onchain revenue, has also burned approximately 134 million JUP to date. See [Transparency](/user-docs/more/jup-token/transparency) for more on the Litterbox Trust.
For the current unlock schedule and circulating supply data, see the [JUP unlock schedule on CoinMarketCap](https://coinmarketcap.com/currencies/jupiter-ag/#token_unlocks).
## Token issuance transparency
Jupiter publicly discloses all token issuance events, including minting and airdrops.
**Jupuary 2024**
* Announcement: [post from Mei](https://x.com/9yointern/status/1728816741076361659)
* Airdropped wallets: [full list](https://drive.google.com/file/d/1ayxMQVutULTxEQbRVzY-rVxO_t5-mP5W/view?usp=sharing)
**Jupuary 2025**
* Announcement: [post from Kash](https://x.com/kashdhanda/status/1879554632449507360)
* Airdropped wallets: [full list](https://drive.google.com/file/d/1nKj2MLwG83YVQYs0GMiuSUorl-We7X_B/view?usp=sharing)
## Unissued token wallets
Unissued token wallets are publicly reviewed approximately every 6 months through community audits. The wallet addresses and full breakdown can be found in the most recent [JUP Community Audit (February 2025)](https://www.jupresear.ch/t/jup-community-audit-feb-2025/34764).
## Future tokens
The Jupiter team will not launch any additional governance or protocol tokens. JUP is and will remain the only governance token for Jupiter.
The team may issue receipt tokens tied to specific products (e.g. LP position receipts, liquid staked tokens) as part of its product suite. These do not dilute JUP economics or governance rights.
The co-founders of Jupiter are also the co-founders of [Meteora](https://meteoraag.medium.com/). Meteora may launch its own token in the future. Meteora's revenue does not flow through Jupiter entities, and its balance sheets are kept entirely separate.
# Transparency
Source: https://docs.jup.ag/user-docs/more/jup-token/transparency
Jupiter revenue model, value accrual, market maker arrangements, and key resources.
## Revenue
Jupiter generates revenue from fees across its product suite, including perpetuals, spot swaps, limit orders, DCA, and onchain/offchain liquidity aggregation.
Revenue is split as follows:
* **50% of onchain revenue** is sent to the Litterbox Trust, a non-profit entity with the mandate to accumulate JUP through programmatic onchain purchases.
* **The remaining 50% of onchain revenue**, along with offchain revenue, forms the operational budget of the team. Excess funds go into treasury reserves. This budget is distributed across Foundation and Labs entities.
No profit (revenue net of costs) flows to founders or insiders.
## Litterbox Trust
The Litterbox Trust has been active since February 2025. It receives 50% of all onchain Jupiter revenue and uses it to buy JUP on the open market through automated, programmatic onchain transactions.
The trust functions as a long-term strategic reserve. To date, it has burned approximately 134 million JUP.
Track the Litterbox Trust wallet on Solscan:
[`6tZT9AUcQn4iHMH79YZEXSy55kDLQ4VbA3PMtfLVNsFX`](https://solscan.io/account/6tZT9AUcQn4iHMH79YZEXSy55kDLQ4VbA3PMtfLVNsFX)
For more context on the Litterbox Trust's role, see [Meow's overview](https://meow.bio/jup-4.html).
## Value accrual
There is no equity entity within Jupiter's structure. All value generated by Jupiter products accrues to the JUP token and the protocol. There are no present or future plans to return cash flow to equity holders through dividends or share repurchases.
JUP holders do not receive a direct percentage of protocol fees. They benefit indirectly through the Litterbox Trust's programmatic JUP purchases, funded by 50% of onchain revenue, and through ASR rewards distributed quarterly to stakers based on time-weighted stake.
Additional utility for JUP stakers is being explored across the Jupiter product suite. No specific features have been confirmed at this time.
## Related party transactions
Jupiter commits to publicly disclosing all related party transactions within 30 days.
## Market makers and exchange listings
Jupiter has never conducted an OTC sale and has not made any discounted sales to market makers. The team has worked with three market makers:
| Market maker | Tokens | % of supply (at launch) | % of supply (post-burn) | Call options | Term |
| ------------ | ------ | ----------------------- | ----------------------- | ------------ | ------- |
| Kbit | 6M | 0.06% | 0.086% | 2M tokens | 2 years |
| Wintermute | 15M | 0.15% | 0.214% | 5M tokens | 2 years |
| DWF | 20M | 0.20% | 0.286% | 20M tokens | 2 years |
Jupiter has never directly allocated tokens to centralized exchanges for market making. 10 million tokens were provided to DWF to facilitate listing arrangements independently. Jupiter is not party to any listing agreements.
## Key resources
| Resource | Link |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| JUP: The Genesis Post | [jupresear.ch](https://www.jupresear.ch/t/jup-the-genesis-post/478) |
| JUP: Minting and Accountability | [jupresear.ch](https://www.jupresear.ch/t/jup-minting-and-accountability/464) |
| JUP Community Audit: July 2024 | [jupresear.ch](https://www.jupresear.ch/t/jup-community-audit-jul-2024/20810) |
| JUP Community Audit: February 2025 | [jupresear.ch](https://www.jupresear.ch/t/jup-community-audit-feb-2025/34764) |
| Supply Reduction Proposal | [jupresear.ch](https://www.jupresear.ch/t/proposal-enhance-certainty-for-jup-holders-and-community-via-a-token-supply-reduction/20919) |
| JUP Unlock Schedule | [CoinMarketCap](https://coinmarketcap.com/currencies/jupiter-ag/#token_unlocks) |
| JUP Token Holder Update (Q2 2025) | [jup.ag](https://jup.ag/update/q2-2025) |
| JUP Token Holder Update (Q3 2025) | [jup.ag](https://jup.ag/update/q3-2025) |
| Case Study: JUP Launch | [Meteora blog](https://meteoraag.medium.com/dlmm-case-study-the-jup-launch-cf1d34d366a9) |
| Jupiter Dashboard | [Blockworks](https://blockworks.com/analytics/jupiter) |
# Poker Basics
Source: https://docs.jup.ag/user-docs/more/jupiter-poker
Core poker and action-selling concepts you need to understand before using Jupiter Poker.
Jupiter Poker is a marketplace where you can buy a share of a real poker player's tournament entry. Before using the product, it helps to understand a few poker fundamentals and the specific vocabulary used across the interface. This page is a reference: read it once if you're new to live poker, or come back to it whenever a term is unclear.
If you already know how live poker tournaments work, you can skip to [Jupiter Poker Concepts](/user-docs/more/jupiter-poker#jupiter-poker-concepts).
***
## What Action Selling Is
In live poker, a tournament has a fixed cost to enter, called the **buy-in**. For high-stakes events, this amount can be very large (\$25,000, \$100,000, or more). Many professional players don't want to put up the full buy-in themselves, so they sell **action**: they let other people pay part of their buy-in in exchange for a proportional share of any prize they win.
This practice exists in live poker as a private agreement between a player and their **backers**. It is informal, off-chain, and based on trust. Jupiter Poker brings this practice onchain: every share is represented as a position recorded on Solana, payouts are settled programmatically, and no one needs to trust an intermediary to hold or distribute funds.
The role you play on Jupiter Poker is the **backer** role. You are not the one playing the tournament. You are the one funding a share of a player's entry, and you receive a proportional share of their winnings if they finish in a paying position.
***
## Poker Tournament Concepts
These are general poker terms used across the Jupiter Poker interface and documentation. They are not specific to Jupiter.
The fixed amount of money a player must pay to enter a tournament. For example, a "\$100,000 No-Limit Hold'em Main Event" has a buy-in of \$100,000 per player. The buy-in is paid once, to the casino or tournament operator, before the tournament starts.
The total amount of money distributed to the top finishers of a tournament. It is built from the buy-ins of all players who entered (minus the casino's fee, where applicable). A bigger field means a bigger prize pool.
The total number of players entered in a tournament. The size of the field directly affects the prize pool and the number of paying positions.
The breakdown of how the prize pool is distributed among finishing positions. The winner gets the largest share, second place gets less, and so on, down to the lowest paying position. Each tournament publishes its full payout structure before play begins.
**In the Money**. A player is "in the money" when they finish in a position that receives a payout. Players who finish outside the paying positions receive nothing.
**Minimum In the Money**. The lowest-paying position in a tournament. For example, in a tournament that pays 11 positions, MIN ITM refers to the 11th-place finisher. This is the smallest payout a player can win while still being in the money.
A verb meaning to finish in the money. "The player cashed" means they finished in a paying position and received a payout. The size of the cash depends on where they finished.
A verb meaning to be eliminated from the tournament. A player "busts" when they lose all their chips and are knocked out. If the player busts before reaching the money, they receive no payout, and neither do their backers.
The position immediately before the money. The "bubble" is the last player eliminated before payouts begin. Busting on the bubble means finishing one place short of cashing.
A prize awarded for eliminating a specific player. In a "bounty" tournament, part of each player's buy-in becomes a bounty on their head. Whoever eliminates them collects it. Bounty payouts are separate from the standard prize pool.
***
## Jupiter Poker Concepts
These terms are specific to how Jupiter Poker is structured. You'll see them in the interface, in this documentation, and in any communication about the product.
A poker festival: a set of tournaments organised by the same operator in the same location over a defined period. Triton Super High Roller Series Montenegro 2026 is one series.
A single tournament inside a series. Each event has its own buy-in, format (No-Limit Hold'em, Pot-Limit Omaha, etc.), and prize pool. The "\$100,000 Pot-Limit Omaha Main Event" is one event inside the Triton Montenegro 2026 series.
One player's offer to sell action for one specific event. If two players are selling action for the same event, that's two separate listings. A listing displays the player, the event, the target raise, the fill progress, and the time remaining.
The poker professional whose entry you can buy a share of. Every player on Jupiter Poker is verified by Triton and Jupiter, with their identity publicly displayed alongside their listing.
You, when you buy a share of a player's listing. The backer funds part of the player's tournament entry and receives a proportional share of any payout the player wins.
The act of buying a share of a player's listing on Jupiter Poker. Throughout this documentation, "staking" refers exclusively to this action. It has no relation to Solana staking or to staking JUP for governance.
The total USDC amount the player wants to raise from backers for a given listing. This is set by the player and is typically a fraction of the tournament buy-in, not the full buy-in.
How much of the target raise has been bought by backers, expressed as a percentage. A listing at 64% fill has raised 64% of its target. A listing at 100% fill is fully raised.
The amount of USDC you commit when staking a listing. The buy amount includes Entry Fees: a small portion goes to fees, the remainder funds your position.
Your share of a player's action, recorded onchain after you complete a buy. The position is expressed as a percentage of the player's tournament buy-in and determines your share of any payout.
The percentage of the player's tournament entry that your position represents. If you hold 1% of action on a player who wins \$100,000, you receive \$1,000 before any settlement-side adjustments.
The fee Jupiter charges on each buy. The fee is shown explicitly in the buy modal before you confirm.
A minimum target raise level a listing must reach by its deadline. If the listing fails to reach this level, the listing is cancelled and every backer is refunded automatically.
A label shown on each listing card describing where it stands in its lifecycle. Examples include `RAISING` (open for buys) and `RAISED` (target reached).
The process by which the tournament result is recorded onchain and payouts become claimable by backers. Settlement happens after the event ends in real life.
The action a backer takes to receive their share of a payout after settlement. A claim requires one wallet signature and credits USDC to the backer's account.
USDC returned to the backer when a listing is cancelled (auto-cancel threshold missed, event cancelled, or other refund-eligible conditions). Refunds are visible in the dashboard alongside claims and stakes.
***
## How a Listing Is Priced
Every listing displays the player's tournament buy-in and the listing's target raise side by side. These are two different numbers.
The **tournament buy-in** is what the player owes to the casino to enter the event. For example, \$100,000 for the No-Limit Hold'em Main Event.
The **target raise** is what the player wants to raise from backers through Jupiter Poker. It is usually a fraction of the buy-in: the player covers the rest themselves.
When you stake a listing, your **buy amount** in USDC translates into a **% of action**: the share of the player's tournament entry that your position represents. The payout you can claim, if the player cashes, is proportional to that percentage.
For the exact math (buy amount → position → % of action → payout), see [How a Listing Is Priced](/user-docs/more/jupiter-poker#how-a-listing-is-priced).
***
## Listing Lifecycle in One Line
A listing moves through stages: it opens for buys, fills up (or doesn't), the event is played, and the result is recorded onchain. Backers either claim a payout, hold a losing position, or receive a refund if the listing was cancelled.
The full lifecycle, including each status and the exact rules for refunds and payouts, is described in [Listing Lifecycle in One Line](/user-docs/more/jupiter-poker#listing-lifecycle-in-one-line) above.
# Security
Source: https://docs.jup.ag/user-docs/more/security/index
Independent security audits for Jupiter's onchain programs, with direct links to each audit report.
Jupiter products are onchain programs running on Solana. This page lists the independent security audits performed on them, with a direct link to each report.
A security audit is a point-in-time review by a third party. It lowers risk but does not guarantee that a program is free of bugs or that funds cannot be lost. Review the risk section on each product page before using it.
## Trade
### Swap
| Auditor | Scope | Date | Report |
| ------------ | ------- | -------------- | ------------------------------------------------------------------------------------------------------------ |
| Sec3 | Swap v3 | August 9, 2022 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/swap-v3-sec3.pdf) |
| Offside Labs | Swap v6 | April 2024 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/swap-v6-offside-april-2024.pdf) |
| Offside Labs | Swap v6 | October 2025 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/swap-v6-offside-october-2025.pdf) |
### Perpetuals
| Auditor | Scope | Date | Report |
| ------------ | ------------------ | ---------------- | -------------------------------------------------------------------------------------------------- |
| Offside Labs | Jupiter Perpetuals | February 2024 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/perpetual-offside.pdf) |
| OtterSec | Jupiter Perpetuals | 2023 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/perpetual-ottersec.pdf) |
| Sec3 | Jupiter Perpetuals | January 17, 2024 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/perpetual-sec3.pdf) |
### Limit Order
| Auditor | Scope | Date | Report |
| ------------ | -------------- | ---------- | ------------------------------------------------------------------------------------------------ |
| Offside Labs | Limit Order v2 | April 2024 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/limit-v2-offside.pdf) |
## Earn
### JLP
JLP is the liquidity pool that backs Jupiter Perpetuals. It runs on the same program, so it is covered by the [Perpetuals audits](#perpetuals) listed above.
### Lend
| Auditor | Scope | Date | Report |
| ------------ | --------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------- |
| Offside Labs | Liquidity layer | July 2025 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lend-liquidity-offside.pdf) |
| Offside Labs | Oracle and flash loan | October 2025 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lend-oracle-and-flashloan-offside.pdf) |
| Offside Labs | Vault | August 2025 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lend-vault-offside.pdf) |
| MixBytes | Vault | October 2025 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lend-vault-mixbytes.pdf) |
| OtterSec | Lending | November 2025 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lend-ottersec.pdf) |
| OtterSec | Liquidity and Vaults | November 2025 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lend-ottersec-2.pdf) |
| Zenith | Jupiter Lend | July 2025 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lend-zenith.pdf) |
### Offerbook
| Auditor | Scope | Date | Report |
| ------- | --------- | ------------ | ---------------------------------------------------------------------------------------------------------- |
| Cantina | Offerbook | May 21, 2026 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/offerbook-cantina-may-2026.pdf) |
### JupUSD
| Auditor | Scope | Date | Report |
| ------------ | ------ | -------------------- | ------------------------------------------------------------------- |
| Offside Labs | JupUSD | December 2025 | [View report](https://jupusd.money/homepage/audits/offsidelabs.pdf) |
| Guardian | JupUSD | December 25, 2025 | [View report](https://jupusd.money/homepage/audits/guardian.pdf) |
| Pashov | JupUSD | December 10–17, 2025 | [View report](https://jupusd.money/homepage/audits/pashov.pdf) |
## More
### DAO
| Auditor | Scope | Date | Report |
| ------------ | ----------- | ---------- | ------------------------------------------------------------------------------------------- |
| Offside Labs | Jupiter DAO | March 2024 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/dao-offside.pdf) |
### Lock
| Auditor | Scope | Date | Report |
| -------- | ------------ | --------------- | --------------------------------------------------------------------------------------------- |
| OtterSec | Jupiter Lock | August 15, 2024 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lock-ottersec.pdf) |
| Sec3 | Jupiter Lock | August 5, 2024 | [View report](https://github.com/jup-ag/docs/blob/main/static/files/audits/lock-sec3.pdf) |
## Third-party and shared programs
Some Jupiter features rely on external Solana programs that are audited by their own maintainers, not by Jupiter. They are listed here for completeness, with links to the canonical reports:
* **JupSOL** uses the SPL Stake Pool Program. See [Sanctum's audit reports](https://learn.sanctum.so/docs/technical-documentation/sanctum-lsts#security).
* **Native staking** uses the Solana Foundation Single Pool Program. See [its audit reports](https://github.com/solana-program/single-pool/tree/main?tab=readme-ov-file#security-audits).
# Bridge & Swap
Source: https://docs.jup.ag/user-docs/onramp/deposit/bridges
Bridge & swap moves tokens to Solana from 10 networks, comparing GUM Universal Swap, GUM Universal Deposit and deBridge routes ranked by delivered amount.
## Overview
Bridge & Swap moves crypto assets from other blockchains to Solana. It is the **Bridge & swap** tab of [jup.ag/deposit](https://jup.ag/deposit), also reachable at [jup.ag/deposit/bridge](https://jup.ag/deposit/bridge). For your token and networks, it compares the available routes from **GUM** (Universal Swap and Universal Deposit) and **deBridge** side by side, with the estimated delivered amount shown per route. Routes are ranked by that estimate, and the best one is marked with a **Best** badge showing the difference in percent. Routes that cannot fill the transfer are listed as **Unavailable**.
| Detail | Value |
| ------------------- | --------------------------------------------------------------------------------------------------- |
| **Networks** | Solana, Ethereum, Base, Arbitrum, Sui, BNB Chain, Optimism, Polygon, Avalanche, Linea (10 networks) |
| **Tokens** | Any supported token with available liquidity on the source network; depends on the route |
| **Output** | Native Solana-compatible tokens (no wrapped tokens) |
| **Routes compared** | GUM Universal Swap, GUM Universal Deposit, deBridge |
| **Jupiter fees** | None (each route's own fees are shown in the comparison) |
The former standalone USDC Bridge page (Wormhole + Circle CCTP) has been folded into this page; its old URL redirects here. See [USDC and Circle CCTP](#usdc-and-circle-cctp).
***
## Bridge routes
* **GUM Universal Swap** — bridges a token cross-chain and swaps it into the destination asset in one flow.
* **deBridge** — an intent-based cross-chain interoperability protocol (detailed below).
* **GUM Universal Deposit** — the same mechanism as [Universal Deposit](/user-docs/onramp/deposit/universal-deposit): the tokens are sent to a deposit address and arrive on Solana as USDC. Typically the best route for stablecoin transfers such as USDC to USDC. The same route also covers the outbound direction: USDC from Solana to Ethereum, Base, Arbitrum, or Sui, with a flat \$0.30 fee.
The routes available for a given transfer depend on the token and the source network. Routes that cannot fill it are listed as **Unavailable**, and if your amount is below a route's minimum the app says so (for example, \$10 per bridge for USDC from Ethereum).
## How deBridge works
deBridge uses a 0-TVL (zero total value locked) architecture. Unlike traditional bridges that rely on liquidity pools where user funds are locked in smart contracts, deBridge uses an intent-based system where external solvers fulfill orders in real time. No user funds are stored in pools that could be targeted by exploits.
This means:
* **No wrapped tokens.** You receive native assets on Solana, not synthetic or wrapped versions.
* **No pooled liquidity risk.** There is no pool of locked funds that could be exploited.
* **Market-dependent rates.** The exchange rate depends on available liquidity at the time of the transaction.
Jupiter does not operate the routes. Each provider handles its own cross-chain logic, routing, and settlement. Jupiter provides the interface and the comparison.
***
## Supported networks
Bridge & Swap lets you pick a source network among the following 10. EVM chains are blockchains compatible with the Ethereum Virtual Machine (such as Ethereum, Polygon, and BNB Chain). L2 (Layer 2) chains are scaling solutions built on top of Ethereum (such as Arbitrum, Optimism, and Base). Not every route is available for every network and token; the comparison only lists routes that can fill your transfer.
| Network | Type |
| --------- | -------- |
| Solana | Non-EVM |
| Ethereum | EVM |
| Base | EVM (L2) |
| Arbitrum | EVM (L2) |
| Sui | Non-EVM |
| BNB Chain | EVM |
| Optimism | EVM (L2) |
| Polygon | EVM |
| Avalanche | EVM |
| Linea | EVM (L2) |
Solana appears as both a source and destination network. Bridging *from* Solana is supported too — Universal Deposit carries USDC out to Ethereum, Base, Arbitrum, or Sui — although the primary Deposit use case is bridging *to* Solana.
***
## Supported tokens
Routes support a large number of tokens on each source network. The token selector is searchable by **name** or **contract address**, and shows the most common tokens for the selected network first (for example ETH, USDC, and USDT on Ethereum). Available tokens include major assets (ETH, USDC, USDT, WETH, DAI) and smaller tokens (PEPE, SPX6900, and others), depending on available liquidity on the source network.
The tokens you can receive on Solana depend on the route and available liquidity.
***
## How to bridge
Connect your Solana wallet to Jupiter. This is the destination wallet by default.
Go to [jup.ag/deposit/bridge](https://jup.ag/deposit/bridge), or open the **Bridge & swap** tab on the [Deposit page](/user-docs/onramp/deposit).
In the **Sell** section, open the token selector. The **Select origin token** window lists the networks on the left (popular networks first, then all networks) and the tokens for the selected network on the right. Pick the network and token you want to bridge, then enter the amount.
In the **Buy** section, select the token you want to receive on Solana. The estimated output is calculated automatically.
The **Route** list shows the routes that can fill your transfer, with the **Estimate** of what each one delivers. Routes are ranked by that estimate; the best one is selected and marked **Best** with the difference in percent. Select another route if you prefer it.
Before confirming, review the amounts shown for the selected route. For deBridge routes, the widget also displays:
* The **exchange rate** between source and destination tokens
* The **estimated fees** (gas on the source network + protocol fee)
* The **ETA** (estimated time of arrival)
* The **price impact** percentage
Click **Bridge with \[route name]**, then connect the wallet on the source network (for example, MetaMask for Ethereum). This is separate from your Solana wallet.
Confirm the transaction and sign it in your source wallet. The route provider processes the transfer.
***
## Additional features
The deBridge widget includes a **"Trade and Send to Another Address"** option. When enabled, you can enter a different Solana address as the destination instead of your connected wallet. This is useful for bridging on behalf of another wallet.
The widget includes a **settings panel** (gear icon) where you can adjust source chain parameters, including gas fee preferences. A **Routing** section (expandable at the bottom of the widget) shows details about the route deBridge is using for the transaction.
***
## Fees
| Fee type | Charged by | Details |
| ------------------------ | -------------------------------- | -------------------------------------------------------------------------------------------------------- |
| Gas fee (source network) | Source blockchain network | Required to execute the transaction on the source network. Amount depends on the network and congestion. |
| Route fee | Route provider (GUM or deBridge) | Each route's fee is reflected in its estimated delivered amount in the comparison. |
| Jupiter fee | Jupiter | **None** |
All fees are displayed before you confirm.
***
## Transaction speed
Each route displays an estimated time of arrival (ETA) before you confirm. Actual settlement time depends on source network finality (the point at which a transaction is considered irreversible on the source blockchain) and network conditions.
***
## USDC and Circle CCTP
The former standalone USDC Bridge used Circle's Cross-Chain Transfer Protocol (CCTP), with Wormhole relaying the cross-chain messages. CCTP moves USDC between blockchains through a burn-and-mint process: the USDC is burned (permanently destroyed) on the source chain, Circle attests that the burn occurred, and an equivalent amount of **native USDC** is minted on Solana and delivered to the destination wallet.
This mechanism has three properties:
* **Native USDC.** The USDC received on Solana is issued by Circle, not a wrapped or bridged version.
* **1:1 transfer.** There is no slippage, no exchange rate, and no liquidity pool dependency.
* **Constant supply.** The total USDC supply stays constant across chains (burned on one, minted on another).
The only costs are gas fees on the source chain (for the burn) and on Solana (for the mint). Transfer time depends on the source chain reaching finality, followed by a waiting period for Circle's attestation.
The USDC Bridge page has been retired. For USDC transfers, use Bridge & Swap and compare the routes offered for your networks, or send USDC through [Universal Deposit](/user-docs/onramp/deposit/universal-deposit) from a supported network.
***
## Risks and limitations
**Third-party service.** Each route is operated by its provider (GUM or deBridge). Jupiter provides the interface but does not control the bridging process. For failed or stuck transactions, contact the provider of the route you used.
**Exchange rate variability.** The estimate shown for a route is not final. The delivered amount may differ due to market movement between the quote and execution.
**Gas requirements.** You need sufficient gas tokens on the source network (for example, ETH on Ethereum) to pay for the transaction. Without gas, the transaction will fail.
**Price impact.** Large transfers may have significant price impact. Review the estimated delivered amount carefully for large amounts; deBridge routes also display the impact percentage before confirmation.
**Smart contract risk.** As with any bridge protocol, there is inherent risk associated with the smart contracts involved. Audits reduce but do not eliminate this risk.
**Never send tokens from another network directly to your Solana address.** Use a Bridge & swap route, or a [Universal Deposit](/user-docs/onramp/deposit/universal-deposit) address generated for that specific network. Sending tokens from an Ethereum (ERC-20), BNB Chain (BEP-20), or other non-Solana wallet straight to a Solana address (without going through one of these) will result in **permanent, unrecoverable loss of funds**. Solana uses the SPL token standard, which is not compatible with EVM token standards.
Having issues with Bridge & Swap? See the [Deposit FAQ](/user-docs/onramp/deposit/faq#bridge-and-swap) for troubleshooting and support contacts.
# Buy with a card
Source: https://docs.jup.ag/user-docs/onramp/deposit/buy-crypto
Buy SOL or USDC with a card, Apple Pay, Google Pay, bank transfer, or other local payment methods and receive them in your Solana wallet. Powered by Onramper.
## Overview
Buy with a card lets you purchase **SOL** or **USDC** with fiat currency (such as USD, EUR, or other local currencies) and receive the tokens directly in your connected Solana wallet.
The service is powered by Onramper, a fiat-to-crypto aggregator integrated into the Jupiter interface at [jup.ag/deposit/onramp](https://jup.ag/deposit/onramp). Onramper compares prices across multiple payment processors in real time and routes your purchase to the best available option.
| Detail | Value |
| -------------------- | ---------------------------------------------------- |
| **Tokens available** | SOL, USDC |
| **Input** | Fiat currency (USD, EUR, and other local currencies) |
| **Provider** | Onramper (fiat-to-crypto aggregator) |
| **Jupiter fees** | None |
| **KYC** | May be required, handled by the payment processor |
***
## How it works
When you initiate a purchase, Onramper compares prices across multiple payment processors (third-party services that handle fiat-to-crypto transactions, such as Revolut, Stripe, Banxa, and Topper) in real time and selects the best option based on:
* Your **region** (country and local regulations)
* The **amount** you want to spend
* Your preferred **payment method**
The selected processor handles the payment, identity verification (if required), and token delivery to your wallet.
**Jupiter does not charge any additional fees.** The fees you see come entirely from the payment processor selected by Onramper.
***
## Supported tokens
| Token | Description |
| -------- | -------------------------------------------------------------------------------------- |
| **SOL** | Native token of the Solana blockchain. Required for paying transaction fees on Solana. |
| **USDC** | USD-pegged stablecoin issued by Circle, native on Solana. |
***
## Payment methods
The available payment methods depend on your region. Onramper dynamically displays the options available to you.
* Credit Card
* Debit Card
* Apple Pay
* Google Pay
* Revolut Pay
* PayPal
* Skrill
* SEPA Bank Transfer
* SEPA Instant
* Sofort
* Bancontact
* Dutch Instant Bank Transfer
* Open Banking
* Bank (generic)
This list reflects methods observed in the EU region and is not exhaustive. Onramper selects and displays methods based on your location and the processor handling your transaction. Availability varies by country.
***
## Payment processors
Onramper routes transactions to multiple processors. Known processors include **Revolut**, **Stripe**, **Banxa**, and **Topper**, among others.
The processor selected for your transaction depends on your region, payment method, and purchase amount. The processor name is displayed in the interface before you confirm (for example, "By Revolut").
***
## How to buy crypto
Connect your Solana wallet to Jupiter. The purchased tokens will be sent to this wallet.
Go to [jup.ag/deposit/onramp](https://jup.ag/deposit/onramp), or select **Buy with a card** under **More ways to deposit** on the [Deposit page](/user-docs/onramp/deposit).
In the **"You spend"** field, enter the fiat amount and select your local currency from the dropdown (for example, EUR or USD).
In the **"You receive"** field, select either **SOL** or **USDC**.
Onramper searches for the best price. Once ready, you will see:
* The amount of tokens you will receive
* The exchange rate (for example, "1 SOL ≈ 83.05 EUR")
* The processor handling the transaction
Open the payment method selector. Onramper may recommend a method for your region (marked as "Recommended").
Click the buy button. Depending on the processor, you may be redirected to the processor's website or app to complete payment and identity verification.
***
## Fees
| Fee type | Charged by | Details |
| -------------- | -------------------------------------------------------- | ----------------------------------------------- |
| Processing fee | Payment processor (Revolut, Banxa, Topper, Stripe, etc.) | Varies by processor, region, and payment method |
| Jupiter fee | Jupiter | **None** |
The total cost, including processor fees, is reflected in the exchange rate and the token amount shown in the **"You receive"** field. Review this amount before confirming.
***
## KYC (Identity verification)
Some payment processors require KYC (Know Your Customer) verification before processing your first purchase. KYC is an identity verification process required by financial regulations and typically involves providing ID documents. This is handled entirely by the processor, not by Jupiter. Requirements vary by processor and region.
***
## Risks and limitations
**Regional availability.** Not all payment methods and processors are available in all countries or regions. If no processor is available for your location, you will not be able to use Buy with a card.
**Processing delays.** Transactions may take time depending on the payment method and the processor. Bank transfers are typically slower than card payments.
**Third-party service.** Buy with a card is operated by Onramper and the underlying payment processors. Jupiter does not control the service. In case of payment issues, delays, or failed transactions, contact the payment processor's support directly.
**Exchange rate fluctuations.** The rate shown at the time of the quote may differ slightly from the final rate at the time the transaction is processed, depending on market conditions and the processor.
Having issues with Buy with a card? See the [Deposit FAQ](/user-docs/onramp/deposit/faq#buy-with-a-card) for troubleshooting and support contacts.
# Deposit FAQ
Source: https://docs.jup.ag/user-docs/onramp/deposit/faq
Frequently asked questions about Jupiter Deposit: Universal Deposit, Bridge & Swap, Buy with a card, and Send from an exchange.
## General
Jupiter offers 4 ways to fund your Solana wallet: use [Universal Deposit](/user-docs/onramp/deposit/universal-deposit), move tokens across networks with [Bridge & Swap](/user-docs/onramp/deposit/bridges), [buy crypto with a card](/user-docs/onramp/deposit/buy-crypto), or [send crypto from a supported exchange](/user-docs/onramp/deposit/transfer-from-cex).
Bridge & Swap supports Solana, Ethereum, Base, Arbitrum, Sui, BNB Chain, Optimism, Polygon, Avalanche, and Linea. Universal Deposit supports Solana, Ethereum, Base, Arbitrum, and Sui.
Yes. Use [Send from an exchange](/user-docs/onramp/deposit/transfer-from-cex) to bridge supported tokens onchain from Binance, Coinbase or Uphold to your Jupiter Wallet, or [Buy with a card](/user-docs/onramp/deposit/buy-crypto) to pay with Apple Pay, Google Pay, or your preferred supported payment method.
No. Jupiter does not add fees on top of any Deposit method. The costs you pay are network gas and third-party fees: the slippage shown for Universal Deposit (max 0.5%), the route fee shown in the Bridge & Swap comparison, payment processor fees (Buy with a card), and exchange withdrawal fees (Send from an exchange).
Each method relies on a different provider:
| Method | Provider |
| --------------------- | ------------------------------------------------------------------------------------------------- |
| Universal Deposit | Jupiter interface; cross-chain routing by third-party infrastructure |
| Bridge & Swap | Route providers: GUM (Universal Swap, Universal Deposit), [deBridge](https://debridge.finance/) |
| Buy with a card | [Onramper](https://www.onramper.com/) (aggregates processors like Revolut, Stripe, Banxa, Topper) |
| Send from an exchange | [Mesh](https://www.meshconnect.com/) |
Jupiter provides the interface but does not control the underlying services.
It depends on where your funds currently are:
* **Crypto on Solana, Ethereum, Base, Arbitrum, or Sui, to send to an address:** [Universal Deposit](/user-docs/onramp/deposit/universal-deposit)
* **Tokens on another blockchain, when you want to choose what you receive:** [Bridge & Swap](/user-docs/onramp/deposit/bridges)
* **Fiat currency (bank, card):** [Buy with a card](/user-docs/onramp/deposit/buy-crypto)
* **Crypto on Binance, Coinbase, or Uphold:** [Send from an exchange](/user-docs/onramp/deposit/transfer-from-cex)
Yes. All Deposit methods require a Solana wallet connected to Jupiter. If you do not have one, you can create one through [Jupiter Mobile or the Wallet extension](/user-docs/global/mobile/managing-wallets#creating-a-wallet).
No. Jupiter Deposit is designed for moving funds **onto** Solana, not off it. There is no native fiat off-ramp (crypto-to-bank withdrawal) in Deposit.
If you want to spend or access your funds in fiat, you have two options:
* **Spend directly in fiat:** Use [Jupiter Spend](/user-docs/global/spend) and the Jupiter Card (Visa) to spend your USDC balance at any merchant accepting Visa. Jupiter Spend also supports bank withdrawals and fiat transfers in supported regions.
* **Cash out to a bank account:** Transfer your tokens to a centralized exchange (such as Binance or Coinbase) using the exchange's deposit address, then sell to fiat and withdraw to your bank account. This process happens entirely on the exchange, not on Jupiter.
***
## Universal Deposit
Deposits below the displayed minimum accumulate until the minimum is reached. Check the minimum amount shown for the selected network before sending funds.
Funds sent on Solana arrive as the token you sent. Funds sent from Ethereum, Base, Arbitrum, or Sui arrive in your Solana wallet as **USDC**.
In the **Deposit crypto** tab of [jup.ag/deposit](https://jup.ag/deposit), select the network you are sending from: the QR code and address shown are for that network. The same network-specific addresses are available from the Receive view in [Jupiter Mobile](/user-docs/global/mobile/funding-and-sending#depositing-funds) and the [Jupiter Wallet extension](/user-docs/manage/extension-wallet/sending-and-receiving#receiving-from-other-networks).
***
## Buy with a card
Payment and identity verification are handled by the payment processor (Revolut, Banxa, Topper, Stripe, etc.), not by Jupiter. Contact the processor directly. The processor name is displayed in the interface during the purchase flow (for example, "By Revolut").
Processing times vary by payment method and processor. Bank transfers may take several hours. If tokens have not arrived after a reasonable period, contact the payment processor's support. Transaction status is usually available in the processor's confirmation email or portal.
Onramper dynamically selects payment methods based on your region, the amount you are purchasing, and the available processors. Not all methods are available in all countries. If you do not see a specific method, it is likely not supported in your location.
No. Buy with a card currently supports only **SOL** and **USDC**. To acquire other Solana tokens, first purchase SOL or USDC, then use [Jupiter Swap](/user-docs/trade/spot/index) to exchange them.
***
## Send from an exchange
Contact [Mesh support](https://www.meshconnect.com/). Jupiter does not have access to your exchange credentials and cannot troubleshoot exchange login issues. Make sure pop-ups are allowed in your browser, as the exchange-link flow opens in a separate window.
Contact your exchange's support ([Binance](https://www.binance.com/en/support), [Coinbase](https://help.coinbase.com/), or Uphold). Withdrawal processing times are determined by the exchange and are outside of Jupiter's and Mesh's control.
This is a common and serious issue. If you sent crypto using a non-Solana standard such as **BEP-20** (BNB Chain), **ERC-20** (Ethereum), or any other non-Solana network when withdrawing from an exchange to a Solana address, the funds are typically **not recoverable**.
**Why it happens:** Solana uses the SPL token standard, which is not compatible with EVM-based standards like ERC-20 or BEP-20. Even if the destination address looks valid on the exchange's interface, the tokens cannot be received on Solana if sent on the wrong network.
**What to do:** Contact your exchange's support immediately with your transaction hash. Some exchanges may be able to recover funds in specific cases (typically for a fee), but this is not guaranteed and depends on the exchange's internal procedures. Jupiter cannot recover funds sent on the wrong network.
**How to prevent this:** When withdrawing from an exchange to a Solana wallet, always select **Solana (SPL)** as the network, never ERC-20, BEP-20, or any other option.
Mesh establishes a secure, temporary connection to your exchange account through an exchange-link window. It handles authentication within the session and does not store your login credentials. The connection is used only to initiate the withdrawal.
No. Send from an exchange currently supports only **Binance**, **Coinbase**, and **Uphold**. If you hold funds on another exchange, you can withdraw manually to your Solana wallet address using the exchange's own withdrawal feature, or use the **Standard deposit** option to display your address.
***
## Bridge and Swap
The comparison lists **GUM Universal Swap**, **GUM Universal Deposit** (the same mechanism as Universal Deposit, arriving as USDC), and **deBridge**. Routes that cannot fill your transfer are shown as Unavailable. See [Bridge routes](/user-docs/onramp/deposit/bridges#bridge-routes).
Routes are ranked by their estimated delivered amount. The route with the highest estimate is selected by default and marked **Best**, with the difference in percent compared to the next route. You can select another route before continuing.
Contact the provider of the route you used. For deBridge routes, use the **Support** link at the bottom of the widget. Provide your transaction hash from the source network so they can investigate.
The estimate shown for a route is market-dependent and may shift between the quote and execution. Large transactions may also incur higher price impact. Review the estimated delivered amount before you confirm; deBridge routes also display the impact percentage.
Yes. You need sufficient gas tokens on the source network (for example, ETH on Ethereum, BNB on BNB Chain) to pay for the source-network transaction. Without gas, the transaction will not execute.
Some routes support Solana as a source network, allowing transfers from Solana to other supported networks, although the primary Deposit use case is bridging *to* Solana. The comparison only lists routes that can fill the transfer you set up.
The standalone USDC Bridge page has been retired and its URL redirects to Bridge & Swap. For USDC, compare the routes offered for your networks, or use Universal Deposit from a supported network. See [USDC and Circle CCTP](/user-docs/onramp/deposit/bridges#usdc-and-circle-cctp) for how that mechanism worked.
***
## Troubleshooting
Contact [Jupiter Support](https://support.jup.ag) for interface-related issues. This applies to all Deposit methods.
Take a screenshot of the error and contact the relevant provider's support (see the table in "Who operates these services?" above). For general Jupiter UI errors, contact [Jupiter Support](https://support.jup.ag).
# Deposit Overview
Source: https://docs.jup.ag/user-docs/onramp/deposit/index
Get your funds onto Solana through Jupiter Deposit: deposit crypto from supported networks, bridge and swap, buy with a card, or send from an exchange.
Jupiter Deposit is the set of tools at [jup.ag/deposit](https://jup.ag/deposit) for moving funds onto the Solana blockchain. Whether you hold crypto on another network, on a centralized exchange (CEX), or only have fiat currency, Deposit provides a path to get it into your Solana wallet. Deposit was previously named Onboard; links to the old documentation pages redirect here.
Jupiter does not add fees on top of the Deposit methods. Third-party provider fees, network gas and, for Universal Deposit, the minimum amount, maximum slippage, and estimated processing time are shown per network before you deposit.
***
## Choose a deposit method
**Have crypto on Solana, Ethereum, Base, Arbitrum, or Sui**
Pick a network, send to the address shown, and receive the funds in your Solana wallet. Cross-chain deposits arrive as USDC. No source wallet to connect.
**Have tokens on another blockchain**
Compare the available routes across 10 networks, ranked by estimated delivered amount, and choose the one to execute.
Routes from GUM Universal Swap, GUM Universal Deposit, and deBridge
**Starting from fiat currency (USD, EUR, etc.)**
Purchase SOL or USDC with a card, Apple Pay, Google Pay, bank transfer, and other local payment methods.
Powered by Onramper
**Have crypto on Binance, Coinbase, or Uphold**
Connect your exchange account and send crypto directly to your Solana wallet, or send it yourself to your wallet address.
Powered by Mesh
***
## Which method should I use?
| Your situation | Recommended method | Why |
| ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| You have crypto on Solana, Ethereum, Base, Arbitrum, or Sui and want to send to an address without connecting a source wallet | [Universal Deposit](/user-docs/onramp/deposit/universal-deposit) | A network-specific address and QR code; cross-chain deposits arrive as USDC |
| You have tokens (ETH, BNB, USDC, USDT, etc.) on another chain and want to choose what you receive | [Bridge & Swap](/user-docs/onramp/deposit/bridges) | Compares the available routes side by side, with estimated output and fees, before you choose |
| You have fiat currency (bank account, card) and no crypto | [Buy with a card](/user-docs/onramp/deposit/buy-crypto) | Converts fiat directly to SOL or USDC on Solana |
| You have crypto on Binance, Coinbase, or Uphold | [Send from an exchange](/user-docs/onramp/deposit/transfer-from-cex) | Sends crypto from your exchange account to your Solana wallet |
***
## Prerequisites
All Deposit methods require a **Solana wallet** connected to Jupiter. If you do not have one yet, you can create one through [Jupiter Mobile](/user-docs/global/mobile) or the [Jupiter Wallet browser extension](/user-docs/manage/extension-wallet).
Set up a Solana wallet to get started on Jupiter.
Have questions? Check the [Deposit FAQ](/user-docs/onramp/deposit/faq) for answers about fees, providers, troubleshooting, and more.
# Send from an exchange
Source: https://docs.jup.ag/user-docs/onramp/deposit/transfer-from-cex
Send crypto from Binance, Coinbase or Uphold to your Solana wallet through Mesh (Secure deposit), or send it yourself to your address (Standard deposit).
## Overview
Send from an exchange lets you move crypto from a centralized exchange (CEX) to your connected Solana wallet. A centralized exchange is a platform like Binance, Coinbase, or Uphold where you can buy, sell, and hold crypto, and the exchange holds custody of your funds until you withdraw them.
The tool is powered by Mesh, a secure connectivity provider that establishes authenticated connections between Jupiter and your exchange account to initiate withdrawals. It is available at [jup.ag/deposit/cex](https://jup.ag/deposit/cex).
| Detail | Value |
| ----------------------- | ------------------------- |
| **Supported exchanges** | Binance, Coinbase, Uphold |
| **Provider** | Mesh |
| **Jupiter fees** | None |
| **Mesh fees** | None |
***
## Supported exchanges
| Exchange | Login method |
| ------------ | --------------------------------------------------------------------------------- |
| **Binance** | QR code scan via the Binance app, or login with Email/Phone |
| **Coinbase** | Login through the exchange-link window |
| **Uphold** | Redirects to Uphold's website, where you log in and authorize the Mesh connection |
***
## How it works
Send from an exchange offers two paths, shown in the Mesh window as **Secure deposit** (recommended) and **Standard deposit**.
You connect your exchange account through Mesh, and Mesh initiates the withdrawal to your connected Solana wallet. Mesh describes this option as "Deposit from your exchange or wallet".
Connect your Solana wallet to Jupiter. The Mesh window shows the connected wallet's shortened address at the top.
Go to [jup.ag/deposit/cex](https://jup.ag/deposit/cex), or select **Send from an exchange** under **More ways to deposit** on the [Deposit page](/user-docs/onramp/deposit). The Mesh window opens with the title **Fund your account**.
Select **Secure deposit**, then pick your exchange (**Binance**, **Coinbase**, or **Uphold**) and log in.
**Binance:** Scan the QR code with the Binance app, or select "Login with Email/Phone."
**Coinbase:** Log in through the exchange-link window.
**Uphold:** You are redirected to Uphold's website. Log in, review the **Authorize application** screen listing what Mesh can access, and select **Authorize** to return to the flow.
Follow the exchange's prompts to authorize the withdrawal. The destination wallet shown in the exchange flow should match the wallet you connected on the Jupiter page. Complete any required confirmation steps (such as two-factor authentication).
If you prefer not to connect your exchange account, choose **Standard deposit** ("Deposit with a wallet address"). Mesh displays your wallet information so you can complete the withdrawal yourself from your exchange.
The screen shows:
* **Token:** The token to send (for example, SOL)
* **Network:** The network to use (Solana)
* **QR code:** Scannable QR code of your wallet address
* **Wallet address:** Your Solana address, with a copy button
Copy the wallet address displayed on screen, or scan the QR code from your exchange app.
Log in to your exchange directly (outside of Jupiter).
In your exchange's withdrawal or send section:
1. Paste your Solana wallet address as the destination
2. Select the correct **token** (for example, SOL)
3. Select the **Solana network**
4. Confirm the withdrawal
**Critical: verify the token and network before confirming.**
Only send the correct token on the **Solana network** (SPL token standard) to this address. Sending a different asset, or selecting a different network such as **Ethereum (ERC-20)**, **BNB Chain (BEP-20)**, or any other non-Solana network, will result in **permanent, unrecoverable loss of funds**.
Solana addresses look like base58 strings (for example, `cRXuEC...j65vs2`) and are not compatible with Ethereum-style addresses starting with `0x`. If your exchange asks you to choose between Solana, ERC-20, BEP-20, or another network, always select **Solana**.
***
## Fees
| Fee type | Charged by | Details |
| -------------- | ------------ | ----------------------------------------------------------------------------- |
| Withdrawal fee | The exchange | Each exchange sets its own withdrawal fee. Check the exchange's fee schedule. |
| Mesh fee | Mesh | **None** |
| Jupiter fee | Jupiter | **None** |
***
## Risks and limitations
**Wrong network or token (Standard deposit).** If you send the funds yourself and select the wrong network or token on the exchange side, the funds will be permanently lost. Always double-check that you are sending the correct token on the **Solana network** (SPL token standard). Do not select **ERC-20** (Ethereum), **BEP-20** (BNB Chain), or any other non-Solana network when withdrawing to a Solana address.
**Exchange restrictions.** Withdrawals may be subject to limits, delays, or regional restrictions imposed by the exchange. These are outside of Jupiter's control.
**Two-factor authentication.** Most exchanges require 2FA for withdrawals. Ensure you have access to your 2FA method before initiating the transfer.
**Third-party service.** The connection is operated by Mesh. Jupiter does not have access to your exchange credentials. Mesh handles authentication within the exchange-link window and does not store your login information.
**Processing time.** Withdrawal processing depends on the exchange. Some withdrawals are instant; others may take minutes or longer, depending on the exchange's internal processing and network congestion.
Having issues with Send from an exchange? See the [Deposit FAQ](/user-docs/onramp/deposit/faq#send-from-an-exchange) for troubleshooting and support contacts.
# Universal Deposit
Source: https://docs.jup.ag/user-docs/onramp/deposit/universal-deposit
Deposit crypto to your Solana wallet from Ethereum, Base, Arbitrum or Sui by sending to a network-specific address; cross-chain deposits arrive as USDC.
## Overview
Universal Deposit is the **Deposit crypto** tab of [jup.ag/deposit](https://jup.ag/deposit). You pick the token and the network you are sending from, and the app shows a QR code and a deposit address for that network, with the minimum deposit, the maximum slippage, and the estimated processing time. Send funds to it from any wallet or exchange on that network, and they arrive in your Solana wallet. There is no source wallet to connect and no route to choose.
| Detail | Value |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Networks** | Solana, Ethereum, Base, Arbitrum, Sui |
| **What you receive** | From Solana: the token you sent. From any other network: **USDC** on Solana |
| **Source** | Any wallet or exchange on the selected network |
| **Minimum deposit** | Shown per network in the app (currently $10 on Ethereum, $3 on Base, Arbitrum, and Sui); smaller deposits accumulate until the minimum is reached |
| **Max slippage** | 0.5%, shown in the app |
| **Estimated processing time** | Shown in the app (currently about 2 minutes from Ethereum, under 20 seconds from Base, Arbitrum, and Sui) |
| **Also available in** | The Receive view of the [Jupiter Wallet extension](/user-docs/manage/extension-wallet/sending-and-receiving#receiving-from-other-networks) (all five networks) and of [Jupiter Mobile](/user-docs/global/mobile/funding-and-sending#depositing-funds) (Solana, Base, Arbitrum, Sui) |
***
## How it works
Each network in the selector has a deposit address tied to your connected Solana wallet. The EVM networks (Ethereum, Base, Arbitrum) share one `0x` address; Sui has its own. The address for a network does not change when you reload the page, so you can save it and reuse it. When you send funds to the address shown for a non-Solana network, they are routed to Solana and delivered to your wallet as USDC. Funds sent on Solana itself arrive as the token you sent.
Deposits are processed once they reach the minimum amount displayed for that network. Below that amount, funds accumulate until the minimum is reached.
The same mechanism appears in the [Bridge & swap](/user-docs/onramp/deposit/bridges#bridge-routes) tab as the **GUM Universal Deposit** route, compared against the other routes for your transfer.
***
## Supported networks
| Network | Type | Arrives on Solana as |
| -------- | -------- | -------------------- |
| Solana | Non-EVM | The token you sent |
| Ethereum | EVM | USDC |
| Base | EVM (L2) | USDC |
| Arbitrum | EVM (L2) | USDC |
| Sui | Non-EVM | USDC |
Which tokens a network accepts is shown in the app when you select it. For routes across more networks, or to choose the token you receive, use [Bridge & Swap](/user-docs/onramp/deposit/bridges).
***
## How to deposit
Connect your Solana wallet to Jupiter. Deposit addresses are only displayed for a connected wallet.
Go to [jup.ag/deposit](https://jup.ag/deposit). The **Deposit crypto** tab is selected by default.
Open the **Tokens** selector and pick the token you are sending, then the **Chains** selector and pick the network your funds are on. The QR code, address, minimum, and estimated processing time update for that network.
Click **Copy address**, or scan the QR code from the wallet or exchange app you are sending from.
In your wallet or exchange, send the funds to that address **on the network you selected**. Check the minimum amount displayed before sending.
Once processed, the funds appear in your Solana wallet: the same token if sent on Solana, USDC if sent from another network.
***
## Minimum deposits
Deposits below the displayed minimum accumulate until the minimum is reached. Check the minimum amount shown for the selected network before sending funds. At the time of writing, the minimum is $10 on Ethereum and $3 on Base, Arbitrum, and Sui; the value shown in the app prevails.
***
## Fees
| Fee type | Charged by | Details |
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Gas fee (source network) | Source blockchain network | Paid by the sending wallet or exchange to broadcast the transfer. |
| Conversion slippage | Route | The app shows a **Max slippage** of 0.5% for the conversion to USDC on Solana. No separate deposit fee line is displayed. |
***
## Sending out of Solana (outbound)
Universal Deposit also works in the outbound direction, as one of the routes in [Bridge & Swap](/user-docs/onramp/deposit/bridges): you can send **USDC from Solana** to Ethereum, Base, Arbitrum, or Sui. The destination address on the target network is validated live before the transfer loads, and the route carries a **flat \$0.30 fee**. Pick the Solana-to-network direction in Bridge & Swap and choose the Universal Deposit route when it appears in the comparison.
## Universal Deposit or Bridge & Swap?
| | Universal Deposit | Bridge & Swap |
| -------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------- |
| **Connect a source wallet** | No, send to an address | Yes, on the source network |
| **Choose the token you receive** | No, USDC for cross-chain deposits | Yes |
| **Networks** | 5 | 10 |
| **Route comparison** | No | Yes, ranked by estimated delivered amount |
| **Best for** | Sending from an exchange or another wallet without connecting it | Moving a specific token, or swapping while bridging |
See [Bridge & Swap](/user-docs/onramp/deposit/bridges) for the route comparison.
***
## Risks and limitations
**Match the network.** Only send funds on the network the address was displayed for. Sending on a different network than the one selected can result in loss of funds.
**Cross-chain deposits arrive as USDC.** Funds sent from Ethereum, Base, Arbitrum, or Sui are delivered as USDC on Solana, not as the token you sent.
**Minimum amount.** Deposits below the displayed minimum are held until the total reaches the minimum for that network.
**Supported tokens only.** Each network accepts a specific set of tokens, shown in the app when you select it. Sending an unsupported token may result in loss of funds.
**Processing time.** Delivery depends on the source network's confirmation time and on the deposit being processed.
Having issues with Universal Deposit? See the [Deposit FAQ](/user-docs/onramp/deposit/faq#universal-deposit) for troubleshooting and support contacts.
# Jupiter Send FAQ
Source: https://docs.jup.ag/user-docs/onramp/send/faq
Frequently asked questions about Jupiter Send, Magic Links, Gasless Send, and token transfers.
Common questions about Jupiter Send. For detailed guides, see the [Jupiter Send overview](/user-docs/onramp/send) and the [Magic Links](/user-docs/onramp/send/magic-links) page.
## General
Jupiter Send is a feature on [jup.ag/send](https://jup.ag/send) that lets you send tokens on Solana. You can send directly to a wallet address or create a Magic Link that anyone can claim, even without an existing wallet.
No. Jupiter does not charge any protocol fee for Send. The only cost is the standard Solana network transaction fee. If you use Gasless Send, a small portion of the tokens you're sending is swapped to cover that fee instead of paying in SOL.
No. Jupiter Send only works on the Solana blockchain. Sending tokens from or to another blockchain (Ethereum, Arbitrum, etc.) is not supported and may result in permanent loss of funds.
## Gasless Send
Gasless Send lets you send tokens without needing SOL in your wallet to cover transaction fees. Instead, a small portion of the tokens you're sending is swapped to cover the Solana network fee.
All tokens on the [Jupiter Verified Token List](/user-docs/launch/vrfd/token-verification) are eligible for Gasless Send. Unverified tokens are not supported.
The Solana network fee is the same. The difference is how it's paid: instead of SOL from your wallet, a small amount of the token you're sending is swapped to cover it. The recipient receives slightly less than the entered amount as a result.
## Magic Links
A Magic Link is a shareable link (or QR code) that holds tokens until someone claims them. It's useful when the recipient doesn't have a wallet yet or when you don't know their address. See the [Magic Links](/user-docs/onramp/send/magic-links) page for full details.
Yes. Anyone who has the link can claim the tokens. Treat it like cash and only share it with the intended recipient.
Yes. An unclaimed Magic Link expires 7 calendar days after creation. The tokens are then returned automatically to the wallet that created it.
Yes, as long as it hasn't been claimed yet. Go to [jup.ag/send](https://jup.ag/send), connect your wallet, and click the 🗑️ icon next to the active link. Tokens are returned to the creator's wallet.
At [jup.ag/send](https://jup.ag/send), connect your wallet and check the **Active** and **Past** tabs below the send widget.
This can happen if your Associated Token Account (ATA) for that token was closed or doesn't exist. An ATA is a dedicated account tied to your wallet for one specific token type. If it's missing, the return transaction can fail silently. Open a ticket at [support.jup.ag](https://support.jup.ag) for help.
## Receiving Tokens
Go to [jup.ag/send](https://jup.ag/send), open the **Receive** tab, and share the displayed QR code or wallet address with the sender.
If someone sends to your wallet address and you already have an ATA for that token, the tokens appear in your wallet once the transaction confirms on-chain. For Magic Links, you need to open the link and claim the tokens.
# Jupiter Send Overview
Source: https://docs.jup.ag/user-docs/onramp/send/index
Send tokens to any Solana wallet or via Magic Link, even to users without a wallet.
Jupiter Send lets you send tokens on Solana to anyone. You can send directly to a wallet address, or generate a **Magic Link** that anyone can use to claim tokens, even if they don't have a wallet yet.
Jupiter Send is available at [jup.ag/send](https://jup.ag/send).
## Send Methods
Jupiter Send supports two ways to send tokens:
Generate a shareable link or QR code. The recipient claims the tokens by opening the link. No wallet required on their end at the time of sending.
Send tokens directly to a recipient's Solana wallet address. The recipient must already have a wallet.
## Receiving Tokens
To receive tokens through Jupiter Send:
Go to [jup.ag/send](https://jup.ag/send) and select the **Receive** tab.
You'll see a QR code and your wallet address. Share either with the sender.
Jupiter Send only works on the **Solana blockchain**. Tokens sent from other blockchains (Ethereum, Arbitrum, etc.) to a Solana address cannot be recovered.
## Gasless Send
Gasless Send allows you to send tokens even if you have no SOL in your wallet to pay for transaction fees.
Instead of paying gas in SOL, a small portion of the tokens you're sending is swapped to cover the Solana transaction fee. This means the recipient receives slightly less than the amount you enter.
Gasless Send is available for all tokens on the [Jupiter Verified Token List](/user-docs/launch/vrfd/token-verification). Unverified tokens are not eligible.
## Fees
Jupiter does not charge any protocol fee for using Jupiter Send.
The only cost is the standard Solana network transaction fee (typically fractions of a cent), paid in SOL. If you use Gasless Send, this fee is covered by swapping a small portion of the tokens you're sending instead.
## Risks and Limitations
Jupiter Send operates exclusively on Solana. Sending tokens from another blockchain to a Solana address will result in permanent loss of funds.
Anyone with access to a Magic Link can claim the tokens. There is no password or recipient restriction.
Treat Magic Links like cash. If someone else opens the link before the intended recipient, the tokens go to them and cannot be recovered.
To hold a specific token on Solana, a wallet needs an Associated Token Account (ATA) for that token. An ATA is a dedicated account tied to your wallet for one specific token type.
If the recipient's wallet doesn't have an ATA for the token being sent, one must be created, which costs a small amount of SOL (called rent).
Standard Solana transaction size limits apply.
# Magic Links
Source: https://docs.jup.ag/user-docs/onramp/send/magic-links
Send tokens via a shareable link or QR code. Recipients can claim tokens even without an existing wallet.
A Magic Link is a shareable link (or QR code) that holds tokens until a recipient claims them. It's designed for cases where the recipient doesn't have a Solana wallet yet, or when you want to send tokens without needing their address.
## Creating a Magic Link
Go to [jup.ag/send](https://jup.ag/send) and select the **Send** tab, then the **Magic Link** option.
Connect the wallet you want to send tokens from.
Select the token and enter the amount you want to send.
Click **Create Magic Link**. A link and QR code will be generated.
Send the link or QR code to the recipient through any channel (message, email, etc.).
Anyone who has the link can claim the tokens. Do not share it publicly or with unintended recipients.
## Claiming a Magic Link
When a recipient opens a Magic Link, they can claim the tokens to their Solana wallet.
## Managing Magic Links
You can view and manage your Magic Links at [jup.ag/send](https://jup.ag/send) after connecting your wallet.
Shows all unclaimed Magic Links that are still valid (not expired, not cancelled). From here you can cancel a link to recover your tokens.
Shows all Magic Links that have been claimed, cancelled, or expired.
## Cancelling a Magic Link
You can cancel any unclaimed Magic Link to recover your tokens.
Go to [jup.ag/send](https://jup.ag/send) and connect your wallet.
Go to the **Active** section under the send widget.
Click the 🗑️ icon next to the link you want to cancel.
Once cancelled, the tokens are returned to the wallet that created the link.
You can only cancel a Magic Link that has not been claimed yet. Once claimed, the tokens belong to the recipient.
## Expiration
Magic Links that are not claimed expire automatically **7 calendar days** after creation. When a link expires, the tokens are returned to the creator's wallet.
You don't need to do anything to trigger the refund. Expiration and fund return are handled automatically.
## Troubleshooting
Tokens should return automatically when a link expires. If they haven't appeared in your wallet, the issue may be related to your Associated Token Account (ATA) for that token.
An ATA is a dedicated account tied to your wallet for one specific token type. If it was closed or doesn't exist, the return transaction can fail silently.
Open a ticket at [support.jup.ag](https://support.jup.ag) so the team can investigate.
# Collection
Source: https://docs.jup.ag/user-docs/trade/gacha/collection
Your Jupiter Gacha Collection: the graded items you own, your pull activity, and shipping status. Includes the card detail page and what insured value means.
The Collection page groups everything you own and everything you have done in Jupiter Gacha. It has three tabs: Items, Activity, and Shipping.
## Items tab
The Items tab lists every graded item you currently own (cards, and watches on watch pack pulls). Each item shows its image, grade, and insured value. You can:
* Search by card name or set
* Filter, including a "Buyback only" filter that shows cards still within their 3-day instant buyback window
* Sort, for example by value from high to low
The Collection Highlights section surfaces your most notable items. When a battlepass campaign is live, the Next free pack widget also tracks your progress toward your next free pack (see [Rewards](/user-docs/trade/gacha/rewards)); it is hidden between campaigns.
## Activity tab
The Activity tab shows recent pulls with a You / Platform toggle:
* **You**: your own pack openings, with the rarity, source pack, value, and timestamp of each pull.
* **Platform**: recent pulls across all Jupiter Gacha users.
Each opening in the Activity tab includes a Verify action that shows the [verifiable randomness](/user-docs/trade/gacha/verifiable-randomness) details for that draw.
## Shipping tab
The Shipping tab tracks cards you redeem to ship home: status, estimated delivery, and tracking link for each shipment. It also holds the Ship home action. Before shipments can load, you verify your wallet by signing a message with Collector Crypt. The signature is a read-only verification: no transaction is sent and no fee is charged. See [Shipping](/user-docs/trade/gacha/shipping) for the full flow.
## The card detail page
Every card has a detail page with four sections:
### Grading
| Field | Meaning |
| --------------- | -------------------------------------------------------------------------------------------- |
| Grading company | The company that graded the physical card, for example PSA or CGC |
| Grading ID | The certificate number issued by the grading company, verifiable on the grader's own website |
| Grade | The condition grade of the card, for example MINT 9 or GEM-MT 10 |
| Authenticated | Confirmation that the slab has been authenticated |
| Insured value | The card's reference value, explained below |
### Metadata
Set, card name, description, Gemrate grade and ID, parallel, set URL, and spec ID. Gemrate is an independent aggregator of grading data.
### Contract info
The token ID representing the card, and the blockchain it lives on (Solana). This is the on-chain representation of your ownership. It is also what you transfer if you [send the card to another wallet](/user-docs/trade/gacha/gifting#sending-a-card-to-another-wallet).
### Vault details
The vault holding the physical slab, its vault ID, and its location where available. Cards are stored with different professional vaulting partners depending on the card, for example PSA Vault or OmniVault. The Vault details section tells you exactly where a specific card is held.
## Insured value
The insured value shown on every card is a reference value assigned by Collector Crypt at its discretion. It serves one purpose: it is the basis on which the [instant buyback](/user-docs/trade/gacha/instant-buyback) amount is calculated.
Despite the name, the insured value is not an insurance policy. It does not provide coverage for loss, theft, or damage. It is also not a market price: marketplace sellers set their asking prices freely, and a card's market price can be above or below its insured value.
# FAQ and Troubleshooting
Source: https://docs.jup.ag/user-docs/trade/gacha/faq
Common questions and issues in Jupiter Gacha: pack opening errors, insured value vs market price, buyback window, card custody, authenticity, sending a card to a friend, and shipping.
## Access and payment
Yes. Open [jup.ag/gacha](https://jup.ag/gacha) in the Jupiter Mobile in-app browser to use Gacha on mobile.
Pack prices, buybacks, and marketplace sales are denominated in USDC because it is the most widely held stablecoin.
## Opening packs
Pack opening fails for one of these reasons, in order of likelihood:
1. **Not enough USDC.** Your wallet must hold at least the pack price multiplied by the quantity selected. If you are short, the app offers to swap the missing amount from your highest-balance token (it must be worth about 5% more than the shortfall). The Open pack button shows "Insufficient USDC" when no balance can cover it.
2. **No SOL for network fees.** Every opening is a Solana transaction and requires a small amount of SOL, separate from the USDC pack price.
3. **The machine is temporarily disabled.** A machine that runs too low on higher rarity cards is disabled until Collector Crypt restocks it. Try again later or open a different pack tier.
Check your USDC and SOL balances first, then retry.
Refresh the page. The interface can lag a few moments behind the on-chain state after an opening. Your pull is recorded on-chain the moment the transaction confirms; only the display is delayed. If the card is still missing after refreshing and a few minutes, [contact support](https://support.jup.ag/).
Turbo mode becomes mandatory on a machine that runs too low on common cards, until Collector Crypt restocks it. While Turbo is forced, every Common pull is automatically sold back for USDC at the machine's buyback rate, and the app shows a notice on every opening so you are aware before you spin. The displayed odds are not affected. See [Turbo mode](/user-docs/trade/gacha/opening-packs#turbo-mode).
No. The odds per rarity tier are fixed and guaranteed regardless of how many cards remain in the machine pool. What changes with the pool contents is which specific cards can be drawn within each tier, and the pack's expected value.
## Value and buyback
The insured value is a reference value assigned by Collector Crypt, used to calculate the instant buyback amount. It is not an insurance policy and not a market price. On the marketplace, sellers set asking prices freely, so a card can trade above or below its insured value.
The buyback rate is set per machine and displayed on each pack's page in the Instant buyback panel. In rare cases, shortly after Collector Crypt updates insured values, the buyback amount shown on a card can temporarily not match the machine's rate. If the buyback you are offered does not match the machine's displayed percentage, open a ticket at [support.jup.ag](https://support.jup.ag/).
The guaranteed buyback for that card is no longer available and cannot be reopened. The card remains yours and stays vaulted at no cost. You can list it on the [marketplace](/user-docs/trade/gacha/marketplace) at a price you set, borrow USDC against it on [Offerbook](/user-docs/earn/offerbook/markets) directly from your Collection, keep it, or [ship it home](/user-docs/trade/gacha/shipping).
No. The expected value is the average pull value across the machine's current pool, weighted by the odds. Individual pulls vary widely around it: on most packs, the majority of pulls fall in the lowest value range. The expected value also changes over time as the pool contents change.
## Cards, custody, and authenticity
Every card is a physical graded slab held by a professional vaulting partner, for example PSA Vault or OmniVault. Different cards are stored with different partners. Open the card's detail page and check the Vault details section to see the vault and, where available, its location.
Every card in Jupiter Gacha is a slab graded and authenticated by a professional grading company such as PSA or CGC. The card detail page shows the grading company, the grading ID, and the authentication status. The grading ID can be verified independently on the grading company's own certificate lookup.
Nothing is required from you. The card stays vaulted with its custody partner and remains in your Collection indefinitely, at no storage cost. You can sell it or ship it at any time.
Yes. Each card is an NFT on Solana, so you can transfer it from your wallet to your friend's wallet with your wallet's send function, the same way as any other NFT. Jupiter Gacha has no send button for cards. Delist the card first if it is listed on the marketplace, and use the instant buyback before sending if you intend to use it: it is tied to the wallet that pulled the card. The card then appears in your friend's Collection. See [Sending a card to another wallet](/user-docs/trade/gacha/gifting#sending-a-card-to-another-wallet). To give a friend packs to open instead, see [Gifting packs](/user-docs/trade/gacha/gifting#gifting-packs).
Your ownership is recorded on Solana and always visible in your Jupiter Gacha [Collection](/user-docs/trade/gacha/collection), which is the reference view for your cards. Display in external wallet interfaces can vary depending on how each wallet indexes tokens.
## Marketplace
Refresh the page. After a purchase or a listing change, the interface can briefly show the previous state (for example a Manage listing button on a card you just bought). The on-chain state is correct; the display catches up after a refresh.
Marketplace sales carry a 2% fee on the sale price, charged by Collector Crypt. A card sold at 100 USDC pays out 98 USDC. There are no other marketplace fees. See [Marketplace](/user-docs/trade/gacha/marketplace#the-sell-fee).
## Shipping
Collector Crypt estimates around 2–3 weeks within the United States and around 5 weeks internationally. Vault processing time and the destination both affect the actual delivery date. See [Shipping — Delivery times](/user-docs/trade/gacha/shipping#delivery-times).
Cards held by different vaulting partners ship separately, so one shipment can arrive as several packages with their own tracking numbers and delivery dates. A partial delivery is expected in that case. Check the other tracking numbers in the Shipping tab, and the Vault details section of each card, before contacting Collector Crypt support. See [Shipping — Cards from different vaults ship separately](/user-docs/trade/gacha/shipping#cards-from-different-vaults-ship-separately).
No. Most of the delivery time is the vault pulling, packing, and releasing the slab, and Collector Crypt does not control how fast each vault processes a request. There is no faster shipping option.
No. Packages are declared at the card's [insured value](/user-docs/trade/gacha/collection#insured-value), because Collector Crypt insures the shipment in transit for the declared amount. Customs and import duties in the destination country are calculated on that amount. See [Shipping — Customs and declared value](/user-docs/trade/gacha/shipping#customs-and-declared-value).
Shipping is operated by Collector Crypt, who also handle shipping support: delays, customs, and delivery issues go to them. Track your shipment first in Collection, Shipping tab, where each shipment shows its status, estimated delivery, and tracking link. To reach Collector Crypt support, use the chat widget at the bottom right of the Collector Crypt app at [collectorcrypt.com](https://collectorcrypt.com/). For anything else related to Jupiter Gacha, contact [Jupiter support](https://support.jup.ag/).
The Shipping tab loads your outbound shipments from Collector Crypt. Signing a message proves you control the wallet, so only you can see your shipments. It is a signature, not a transaction: nothing is sent on-chain and no fee is charged.
Shipping details (name, delivery address, contact information) are collected and processed by Collector Crypt, not Jupiter: Jupiter never receives or stores them, in its databases or logs. To request access to or deletion of your shipping data, contact Collector Crypt support via the chat widget at the bottom right of [collectorcrypt.com](https://collectorcrypt.com/). See [Shipping — Your shipping data](/user-docs/trade/gacha/shipping#your-shipping-data).
No. Cards stay vaulted indefinitely at no storage cost. You can redeem a card whenever you choose.
# Gifting Packs and Cards
Source: https://docs.jup.ag/user-docs/trade/gacha/gifting
Gift Jupiter Gacha packs to another wallet, or send a card you own to a friend by transferring its token from your wallet: steps, what to check before sending, and what the recipient sees.
There are two ways to give something from Jupiter Gacha to another person: gift them packs to open, or send them a card you already own. Packs are gifted from the Gacha interface. Cards are sent from your wallet, because each card is a token on Solana and Jupiter Gacha has no send action of its own.
## Gifting packs
Packs can be gifted to another wallet. Gifting works for a single pack or several at once, and the recipient opens the gift like any pack they purchased.
### Sending a gift
The gift icon next to the pack price opens the **Gifts** dialog. From there:
Paste the recipient's Solana wallet address in the **Recipient wallet** field.
Pick the packs to send. A single gift can mix several pack tiers, each with its own quantity.
Confirm and approve the transaction in your wallet. The gift is paid in USDC at the packs' current prices.
The dialog's **History** tab lists the gifts you have sent.
Double-check the recipient wallet address before confirming a gift. Gifts sent to a wrong address cannot be recovered.
### Receiving a gift
The recipient sees the gifted pack directly on the corresponding pack page, with an "Open gifted" action in place of the purchase button. Gifted packs are consumed before any USDC is spent when the recipient opens packs, same as [free packs](/user-docs/trade/gacha/rewards).
## Sending a card to another wallet
Every card in your Collection is an NFT (non-fungible token) on Solana, and holding that token is what makes you the owner of the vaulted physical card. To give a card to a friend, send the token from your wallet to theirs, the same way you send any other NFT. Jupiter Gacha has no send button for cards: the transfer is done in your wallet.
### Before you send
* **Cancel any active listing.** A card listed on the [marketplace](/user-docs/trade/gacha/marketplace) stays in your wallet while listed, so your wallet lets you send it, but the listing does not follow the card. Collector Crypt tries to cancel a listing when the card moves, but this is not guaranteed, and a stale listing can still be active if the card later comes back to you. Delist first from the card's Manage listing state.
* **Use the instant buyback first if you want it.** Collector Crypt checks the [instant buyback](/user-docs/trade/gacha/instant-buyback) against the wallet that pulled the card, within 3 days of the pull. Sending the card does not restart the window, and the recipient is not the wallet that pulled it. If you intend to sell a card back, do it before sending it.
* **Check the address.** A token sent to a wrong address cannot be recovered, same as a gifted pack.
### How to send
Open your wallet's NFT view. In the [Jupiter Wallet extension](/user-docs/manage/extension-wallet/portfolio), cards appear under the **NFTs** tab. To be sure you are sending the right card, compare the token address with the **Token ID** shown in the Contract info section of the card's [detail page](/user-docs/trade/gacha/collection#the-card-detail-page) in Jupiter Gacha.
Choose the wallet's send action for that NFT, paste the recipient's Solana wallet address, and confirm. The transfer is a regular Solana transaction: it costs a small network fee in SOL, and nothing else.
Once the transaction confirms, the card belongs to the recipient. It appears in their [Collection](/user-docs/trade/gacha/collection) when they connect that wallet on [jup.ag/gacha](https://jup.ag/gacha). Display can lag a few moments behind the on-chain state; refreshing the page settles it.
Jupiter Mobile currently displays NFTs but cannot send them. Use a wallet that supports sending NFTs, such as the Jupiter Wallet extension. If your wallet does not display the card at all, see [the FAQ](/user-docs/trade/gacha/faq#cards-custody-and-authenticity).
### What the recipient can do
The token carries the full ownership of the vaulted card. The recipient can keep it vaulted at no cost, list it on the [marketplace](/user-docs/trade/gacha/marketplace) at a price they set, or [ship it home](/user-docs/trade/gacha/shipping). The instant buyback is the exception, as explained above.
# Jupiter Gacha Overview
Source: https://docs.jup.ag/user-docs/trade/gacha/index
Jupiter Gacha lets you open digital packs to pull real graded Pokemon and One Piece cards, or luxury watches, vaulted by professional partners and tokenized on Solana.
Jupiter Gacha is a pack opening product built in partnership with [Collector Crypt](https://collectorcrypt.com). You open digital packs and pull real, professionally graded trading cards (Pokemon and One Piece) or, on watch packs, luxury watches authenticated by WristCheck. Every item shown in Jupiter Gacha corresponds to a physical collectible stored with a professional vaulting partner and represented by a token on Solana.
When you pull a card, you own the token that represents the physical card. From there, you choose what to do with it.
Pick a pack tier, check the odds, and pull a graded card.
Sell any pull back for USDC at a guaranteed minimum of 85% of its insured value, within 3 days.
Buy and sell graded, tokenized cards with other collectors.
Redeem a card to have the physical slab shipped to your address.
## What you actually own
Each card in Jupiter Gacha is a real, physical trading card that has been professionally graded by a grading company such as PSA or CGC. The physical slab is held in custody by a professional vaulting partner. Different cards are stored with different vaulting partners, for example PSA Vault or OmniVault. The vault holding a specific card is listed in the Vault details section of that card's page.
The card is tokenized on Solana. Owning the token means owning the claim to the physical card. You can verify a card's grading company, grading ID, grade, authentication status, and vault location directly on its card detail page.
## The four options after a pull
After opening a pack, you have four options for the card you pulled:
1. **Sell it back instantly.** Every pull carries a guaranteed instant buyback of at least 85% of the card's insured value, available for 3 days after the pull. See [Instant Buyback](/user-docs/trade/gacha/instant-buyback).
2. **List it on the marketplace.** Set your own asking price and sell to other collectors. See [Marketplace](/user-docs/trade/gacha/marketplace).
3. **Keep it.** The card stays vaulted and appears in your [Collection](/user-docs/trade/gacha/collection). There is no time limit and no storage fee.
4. **Ship it home.** Redeem the card to receive the physical slab at your address. See [Shipping](/user-docs/trade/gacha/shipping).
You can also give things away: gift packs to another wallet, or send a card you own to a friend by transferring its token from your wallet. See [Gifting](/user-docs/trade/gacha/gifting).
## The Collector Crypt partnership
Jupiter Gacha is operated in official partnership with Collector Crypt. Collector Crypt provides the card inventory, the pack draw mechanism, the marketplace backend, and the shipping logistics. Pack draws use Collector Crypt's verifiable randomness program on Solana, which means every draw can be verified on-chain. See [Verifiable Randomness](/user-docs/trade/gacha/verifiable-randomness). For more details on the Collector Crypt infrastructure, see the [Collector Crypt documentation](https://docs.collectorcrypt.com/).
## Fees
Opening packs carries no platform fee: you pay the pack price in USDC plus Solana network fees. Selling a card on the marketplace carries a 2% fee on the sale price. Shipping a card home carries shipping fees that depend on your region. There are no other user-facing fees.
## Risk disclosure
Pack opening outcomes are random. Each pack displays fixed drop odds by rarity tier, and on most packs the majority of pulls fall in the lowest value range, below the pack price. The instant buyback guarantees a floor on the value of every pull, not a profit. Only spend what you are comfortable spending on collectible cards.
The expected value displayed on each pack is calculated from the current contents of that pack's card pool and changes over time. It is an average across all possible outcomes, not a prediction of your individual pull.
# Instant Buyback
Source: https://docs.jup.ag/user-docs/trade/gacha/instant-buyback
Every Jupiter Gacha pull carries a guaranteed instant buyback: at least 85% of the card's insured value at pull time, paid in USDC, available for 3 days.
The instant buyback is a guaranteed sell-back option attached to every pull. It sets a floor on the value of every card you open: you can always sell a pull back for USDC at a known percentage of its insured value **at the time of the pull**, within 3 days of pulling it.
## How the buyback works
The moment a card is revealed, its 3-day buyback window starts. The buyback percentage and the resulting USDC amount are shown on the card.
From the card page or your Collection, choose the buyback option and confirm. You can filter your Collection with "Buyback only" to see which cards are still within their window.
The buyback amount is paid to your wallet in USDC. The card leaves your Collection and returns to the machine pool it came from.
## How the buyback percentage is calculated
The buyback pays a percentage of the card's insured value. The percentage is set per machine: each pack has its own buyback rate, displayed on that pack's page in the Instant buyback panel. At launch, rates range from 85% to 93%, and higher priced packs generally carry higher rates. These rates may be adjusted over time.
**Worked example.** You open a \$50 pack whose buyback rate is 85% and pull a card with an insured value of \$80. The instant buyback pays 68 USDC (85% of 80) at any time during the 3 days following the pull.
## The 3-day window
The buyback is available for 3 days from the moment of the pull. After the window closes, the guaranteed buyback for that card expires. The card remains yours: it stays vaulted in your Collection, and you can still list it on the [marketplace](/user-docs/trade/gacha/marketplace) at a price you set, or [ship it home](/user-docs/trade/gacha/shipping).
The buyback window cannot be extended or reopened. If you intend to use the buyback, do it within 3 days of the pull.
## Buyback and insured value
The buyback percentage applies to the card's insured value **at the time of the pull**, a reference value assigned by Collector Crypt. The insured value is the basis for buyback calculations. It is not an insurance policy, and it can differ from what the card would fetch on the open market. See [Collection](/user-docs/trade/gacha/collection#insured-value) for the full explanation of insured value.
Two consequences follow from this:
* **Insured values can change after the pull.** Collector Crypt updates insured values over time, and the value displayed can occasionally be out of sync. The buyback amount is set against the insured value when the card was pulled, so it can later represent more or less than the stated percentage of the insured value currently displayed.
* **Discrepancies are handled by Collector Crypt.** Jupiter does not adjust buyback amounts when an insured value changes. If a buyback amount looks inconsistent with the card's insured value at pull time, contact Collector Crypt support via the chat widget at [collectorcrypt.com](https://collectorcrypt.com/).
## What happens to bought-back cards
Cards sold through the buyback return to the machine pool of the pack they came from, where they can be pulled again by other users. This is how machine pools stay stocked over time.
## Buyback in Turbo mode
When [Turbo mode](/user-docs/trade/gacha/opening-packs#turbo-mode) is active, Common pulls are sold automatically at the machine's buyback rate the moment they are revealed. The mechanism and the rate are the same as a manual buyback; only the timing is automatic.
# Marketplace
Source: https://docs.jup.ag/user-docs/trade/gacha/marketplace
Buy and sell graded, tokenized cards with other collectors on the Jupiter Gacha marketplace: Buy now, listings, filters, and the 2% sell fee.
The marketplace is where Jupiter Gacha users buy and sell graded, tokenized cards with each other. Every listing is a vaulted physical card represented by its Solana token, with its grading and vault details visible on the card page.
## Browsing and filtering
Listings show the card image, name, asking price, and grade. You can search by name or address, and filter by:
* Pokemon name and set
* Status
* Insured value range
* Listed price range
* Grading company (for example PSA or CGC)
* Generic grade
* Language
* Year
Sorting options include list date, list price, insured value, name, and year.
## Buying a card
You buy a card with **Buy now**, which purchases it immediately at the seller's asking price, paid in USDC. Making an offer at a different price is planned but not yet available.
The asking price is set freely by the seller. It is independent from the card's insured value, which is a buyback reference, not a market price. Compare both figures on the card page before buying.
After a purchase, the card appears in your Collection. If the page still shows a stale state right after buying, refresh: display can lag a few moments behind the on-chain state.
## Selling a card
Go to your Collection and open the card you want to sell.
Choose the sell action and set your asking price in USDC.
If your asking price is more than 30% below the card's fair market value, the app warns you before the listing is confirmed.
While listed, the card shows a Manage listing state where you can change the price or delist. The card remains yours until it sells.
When a buyer purchases the card, you receive the sale price minus the 2% sell fee.
## The sell fee
Selling on the marketplace carries a fee of 2% of the sale price, charged by Collector Crypt. Jupiter charges no additional marketplace fee.
**Worked example.** You list a card at 100 USDC and a buyer purchases it with Buy now. You receive 98 USDC: the 100 USDC sale price minus the 2 USDC fee.
Buying carries no marketplace fee: the buyer pays the asking price plus Solana network fees.
## Marketplace, buyback, or shipping?
The marketplace is one of three ways to realize the value of a card, each with different trade-offs:
| Option | Price | Availability |
| --------------------------------------------------------- | ----------------------------------------- | --------------------- |
| [Instant buyback](/user-docs/trade/gacha/instant-buyback) | 85% to 93% of insured value, guaranteed | 3 days after the pull |
| Marketplace | Any price a buyer will pay, minus 2% | Anytime |
| [Ship home](/user-docs/trade/gacha/shipping) | Not a sale: you receive the physical card | Anytime |
# Opening Packs
Source: https://docs.jup.ag/user-docs/trade/gacha/opening-packs
How to open Jupiter Gacha packs: pack tiers and prices, drop odds, expected value, Turbo mode, and how the card pool inside each machine works.
Packs are the entry point of Jupiter Gacha. Each pack tier draws from its own pool of graded collectibles, called the machine pool, with fixed odds per rarity tier. Most pools contain graded trading cards; watch pack pools mix luxury watches with graded cards.
## Prerequisites
To open a pack you need:
* A connected Solana wallet
* Enough USDC to cover the pack price
* A small amount of SOL for Solana network fees
There is no platform fee on pack openings. You pay the pack price plus network fees.
If your wallet does not hold enough USDC for the selected quantity of packs, the app offers to swap the missing amount from the token with the highest balance in your wallet, provided that balance is worth slightly more than the shortfall (about a 5% buffer). Without any balance to cover it, the Open pack button shows "Insufficient USDC". Opening also fails without SOL for network fees. See the [FAQ](/user-docs/trade/gacha/faq) for troubleshooting.
## Pack tiers
Pack prices are displayed live in the app, and the lineup evolves over time: packs can be added or retired. Current tiers:
| Pack | Price (USDC) | Notes |
| -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Silver | 25 | |
| Gold | 50 | |
| Degen | 100 | Jupiter exclusive, labelled "High Voltage" in the app. High volatility: the pool carries chase cards valued around \$10,000, with a correspondingly higher risk of low-value pulls |
| Diamond | 250 | |
| Blaze | 420 | Jupiter exclusive. Fire-type Pokemon only |
| Grail | 1,000 | |
| God | 2,500 | |
| Immortal | 5,000 | Highest tier |
| Pack | Price (USDC) | Notes |
| --------- | ------------ | ----- |
| Straw Hat | 50 | |
| Emperor | 250 | |
| Gorosei | 1,000 | |
| Pack | Price (USDC) | Notes |
| ------ | ------------ | ----- |
| Chrono | 250 | |
| Master | 500 | |
Watch pack pools mix luxury watches (Rolex models among the chase pulls) with graded Pokemon cards. Watches are authenticated by WristCheck; the odds, Turbo mode, and instant buyback work exactly as on card packs.
When a pack is retired, as the Pokemon Water pack has been, it disappears from the packs page but stays visible and openable for users who still hold free copies of it.
Each pack page shows two views:
* **What's Inside?** lists the actual items currently in that pack's machine pool, with their grading and value. A "Guaranteed Authenticity" badge confirms every item in the pool is authenticated: cards as graded slabs (PSA, CGC, Beckett), watches by WristCheck.
* **Latest Pulls** is a live feed of recent pulls from that pack across the platform, with the value of each pull and its gain percentage relative to the pack price.
## How to open a pack
Go to the Packs page. Packs are organised by theme tabs (Spotlight, All packs, Pokémon, Watches, One Piece) with curated highlights, and each theme presents its packs as a carousel: drag to spin and tap a pack to select it. Review the Statistics & odds panel and the What's Inside view before buying.
Choose how many packs to open in one session. If you own free or gifted packs for this tier, they are consumed first, before any USDC is spent.
Click Open pack and approve the transaction in your wallet. The total is the pack price multiplied by the quantity, plus network fees. A single wallet approval covers the whole flow: if a USDC top-up swap is needed, or you use Sell & rip again, the swap and the pack spend are disclosed together before you approve.
The draw runs through Collector Crypt's on-chain verifiable randomness program. Your pull is revealed on a staged backdrop lit by its rarity; tap the item to inspect it up close. It is added to your Collection and the 3-day instant buyback window starts. After a single-pack opening, a **Sell & rip again** button sells the pull back at the buyback rate and opens another pack of the same tier immediately, without leaving the reveal.
If a card you just pulled does not appear in your Collection immediately, refresh the page. Display can lag a few moments behind the on-chain state.
## Odds and rarity tiers
Every pack displays its own drop odds by rarity tier in the Statistics & odds panel, together with indicative value ranges per tier. Odds differ from pack to pack. Value ranges depend on the current machine pool and change over time.
Two properties of the odds are guaranteed:
* **Odds are fixed.** The displayed percentages never change, regardless of how many cards remain in the machine pool.
* **Odds are per rarity tier, not per card.** Which specific card you receive within a tier depends on the current pool contents.
Read the odds panel before opening. On most packs, the majority of pulls fall in the lowest rarity tier, with values below the pack price. The instant buyback guarantees a floor on every pull, not a profit.
## Expected value
Each pack displays an expected value: the average pull value calculated from the current contents of the machine pool. The expected value is dynamic. It is recalculated as cards leave the pool (pulled by users) and re-enter it (sold back through the buyback). Do not treat the expected value as a prediction of any single pull.
## The machine pool
Each pack tier draws from a dedicated pool of physical graded cards. The pool evolves over time:
* Cards leave the pool when they are pulled.
* Cards return to the pool when users sell them back through the instant buyback.
* Collector Crypt restocks and curates the pools.
Two automatic safeguards apply when a pool runs low:
* If a machine runs too low on common cards, **Turbo mode becomes mandatory** on that machine until it is restocked.
* If a machine runs too low on higher rarity cards, **the machine is disabled** until it is restocked.
The displayed odds remain unchanged in both cases.
## Turbo mode
Turbo is a toggle on each pack that automatically sells any Common pull back for USDC at the machine's buyback rate, immediately at reveal. You keep only Uncommon or better pulls, and receive USDC for the rest. Turbo is useful for opening many packs in a row when you only want to keep higher rarity cards.
Check the Turbo toggle before every opening. While it is on, every Common pull is sold back automatically at the machine's buyback rate the moment it is revealed, and sold cards cannot be recovered.
When you enable Turbo yourself, the app shows a confirmation notice once, explaining that common pulls will be sold automatically. When Turbo is mandatory because the machine is low on commons, the notice is shown on every opening, so you are always aware that a Common pull will be auto-sold.
## Free packs and gifted packs
Free packs earned through [rewards](/user-docs/trade/gacha/rewards) and [packs received as gifts](/user-docs/trade/gacha/gifting#gifting-packs) appear directly on the corresponding pack page. A gifted pack shows an "Open gifted" action in place of the purchase button. Free and gifted packs are always consumed before USDC when you open multiple packs.
# Rewards
Source: https://docs.jup.ag/user-docs/trade/gacha/rewards
Free packs in Jupiter Gacha: battlepass progress rewards, weekly leaderboard prizes, and how to use free packs.
Jupiter Gacha distributes free packs through two reward programs: battlepass progress and leaderboard prizes.
The pack lineup and the rewards pool are refreshed over time. In the most recent reload, the Watches category joined the lineup (Chrono and Master packs); earlier reloads added Pokemon Blaze, Pokemon Degen, and One Piece Gorosei, along with new grail cards in the machine pools.
## Ways to earn free packs
### Battlepass progress
USDC spent on eligible packs fills a progress bar shown in the Next free pack widget, visible on pack pages and in your Collection. Reaching a tier grants a free pack, no purchase of that pack needed.
The battlepass runs in campaigns: which packs are eligible and what the reward is change when a new campaign replaces the previous one. Near the end of a campaign the free pack card shows an **Ending soon** badge, and when no campaign is live the Next free pack widget is hidden entirely. The most recent campaign (every **\$10,000** of volume on the watch packs earned a free Chrono pack, from a **\$50,000** pool) has ended, as had the earlier campaign on packs priced \$100 and above.
### Leaderboard prizes
The leaderboard runs in **seasons**, each split into weekly periods. It ranks users by pack-open volume; standings update as packs are opened, and your own rank shows under **Your standing** on the leaderboard page. At the end of each weekly period, prizes are awarded by final rank for that week.
**Season 1 has ended.** It ran for four weekly periods with a \$100,000 prize pool in free packs, and awarded per-week prizes by final rank (from a God Tier pack for rank 1 down to Silver packs for ranks 51 to 90). Past weeks remain viewable on the leaderboard page.
Check the leaderboard page in the app for the current season, its prize structure, and your standing.
## Using free packs
Free packs appear directly on the corresponding pack page, in the pack machine. When you open packs, free packs are consumed first, before any USDC is spent. Free packs behave exactly like purchased packs: same odds, same buyback, same everything.
# Shipping
Source: https://docs.jup.ag/user-docs/trade/gacha/shipping
Redeem a Jupiter Gacha card to receive the physical graded slab at home. Shipping is operated by Collector Crypt, with tracking, region-based fees, and delivery in about 2–3 weeks in the US or 5 weeks internationally.
Any card in your Collection can be redeemed to have the physical graded slab shipped to your address. Shipping is operated end to end by Collector Crypt, from the vault to your door, and Collector Crypt also handles shipping support. For a general reference on how Collector Crypt handles vaulting and shipping logistics, see the [Collector Crypt documentation](https://docs.collectorcrypt.com/).
## How to ship a card home
Open Collection, then the Shipping tab. The first time, you verify your wallet by signing a message with Collector Crypt so your outbound shipments can load. This is a message signature only: no transaction is sent and no fee is charged for the verification itself.
Use the Ship home action and select the card or cards to redeem. Shipping multiple cards in one shipment costs less than shipping them separately, because the per-shipment base fee is paid once.
Provide the delivery address. No KYC is required, only a shipping address. The address goes directly to Collector Crypt: see [Your shipping data](#your-shipping-data).
Shipping fees depend on your geographic zone, plus a fee for each additional card in the same shipment. The exact amount is displayed in the Ship home flow before you confirm the shipment.
International deliveries can incur customs or import duties charged by the destination country. These are set by local authorities, are not included in the shipping fee, and are payable by the recipient on delivery. See [Customs and declared value](#customs-and-declared-value).
The shipment appears in the Shipping tab with its status, estimated delivery, and a tracking link, typically UPS. The tracking number appears once the vault holding the card has handed the package to the carrier.
## Delivery times
Collector Crypt estimates around 2–3 weeks for a delivery within the United States and around 5 weeks for an international delivery. These are estimates, not guarantees. A large part of the time is vault processing, which happens before the package is handed to a carrier: the vault has to pull the slab, pack it, and release it. Collector Crypt does not control how fast each vault works, which is also why a shipment cannot be expedited.
### Cards from different vaults ship separately
Cards are held by different vaulting partners, for example PSA Vault or OmniVault, listed in the Vault details section of each card. When you redeem several cards at once, each vault ships its own package. One shipment can therefore arrive as several packages, with separate tracking numbers and different delivery dates. Receiving part of your cards first is expected: check the remaining tracking numbers before contacting Collector Crypt support.
## Customs and declared value
Every package is declared at the [insured value](/user-docs/trade/gacha/collection#insured-value) of the cards it contains, as recorded by Collector Crypt at the time of redemption. Collector Crypt cannot declare a shipment as a gift, and cannot declare a lower value, because it insures the shipment in transit for the declared amount. Any customs or import duties charged by the destination country are calculated on that value.
If you ship to a package forwarding service rather than your own address, Collector Crypt's insurance covers the package only up to the forwarder. Anything that happens to the card after that point, including damage in the forwarder's own onward shipment, is not covered.
## What redeeming means
Redeeming a card converts your on-chain ownership into physical possession. Once the physical card is shipped to you, the card leaves the Jupiter Gacha system: it can no longer be sold on the marketplace or sold back through the buyback, since the slab is no longer vaulted.
There is no deadline to redeem. A card can stay vaulted in your Collection indefinitely at no storage cost, and you can ship it whenever you choose.
## Your shipping data
The personal details you enter to ship a card home (name, delivery address, contact information) are collected and processed by **Collector Crypt**, who operates the shipping. Jupiter never receives or stores this data: nothing is kept in Jupiter's databases or logs.
To ask what shipping data Collector Crypt holds about you, or to request its deletion, contact Collector Crypt support through the chat widget at the bottom right of [collectorcrypt.com](https://collectorcrypt.com/).
## Shipping support
Collector Crypt is responsible for shipping logistics and shipping support, including questions about delays, customs, and delivery issues. To reach shipping support, use the chat widget at the bottom right of the Collector Crypt app at [collectorcrypt.com](https://collectorcrypt.com/). For anything else related to Jupiter Gacha, Jupiter support remains your contact point.
# Verifiable Randomness
Source: https://docs.jup.ag/user-docs/trade/gacha/verifiable-randomness
Jupiter Gacha pack draws run through Collector Crypt's verifiable randomness (VRF) program on Solana. Every draw can be verified on-chain.
Every pack draw in Jupiter Gacha runs through Collector Crypt's verifiable randomness function (VRF), implemented as an on-chain program on Solana. This makes the fairness of every draw independently verifiable, rather than a claim you have to take on trust.
## Why verifiable randomness matters
In a pack opening product, the operator could in principle manipulate which card a draw produces. A VRF removes that possibility:
* The random value that decides your pull is generated by an on-chain program, not by a private server.
* The result comes with a cryptographic proof that the value was generated correctly and was not chosen or altered after the fact.
* Anyone can check the proof on Solana, without trusting Jupiter or Collector Crypt.
Combined with the fixed, displayed odds per rarity tier, this means both the probabilities and the individual draws are auditable.
## What the VRF guarantees, and what it does not
The VRF guarantees that each draw is random and tamper-proof within the displayed odds. It does not change the odds themselves: on most packs, the majority of pulls fall in the lowest rarity tier, as shown in each pack's odds table. Verifiable randomness means the game is provably fair, not that it is profitable.
## Verifying a draw
Each pack opening has an associated on-chain transaction and randomness proof that can be inspected on Solana. To verify a draw, open [Collection](/user-docs/trade/gacha/collection), go to the Activity tab, select an opening, and click Verify to see the randomness proof and the related on-chain details for that draw.
For technical details on the VRF implementation, refer to [cc-vrf](https://vrf.collectorcrypt.com/), Collector Crypt's permissionless on-chain VRF for Solana implementing RFC 9381 ECVRF.
# Jupiter Perps FAQ
Source: https://docs.jup.ag/user-docs/trade/perps/faq
Frequently asked questions about Jupiter Perps: positions, collateral, fees, liquidation, and order behavior.
For JLP-related questions (yield, loans, delta-neutral vault), see the [JLP FAQ](/user-docs/earn/jlp/faq).
***
## Positions & Collateral
Jupiter Perps supports leveraged long and short positions on three assets: SOL, ETH, and wBTC. You can hold up to 6 simultaneous positions — one per asset per direction (long/short).
You can use any SPL token supported by Jupiter Swap as your input when opening a position or depositing collateral. The exchange automatically swaps it to the correct underlying collateral token before the position is opened. You do not need to swap manually beforehand.
Long positions use the underlying asset as collateral (SOL for SOL longs, wETH for ETH longs, wBTC for wBTC longs). Short positions use USDC as collateral regardless of the shorted asset.
This design protects the pool from scenarios where a series of profitable trades could deplete its reserves.
When you deposit collateral, the exchange records its value in USD at the time of deposit. That USD value remains fixed for the lifetime of the position, regardless of subsequent price movements in the collateral token.
**Example:** Depositing \$100 worth of SOL records your collateral as \$100 USD. If SOL price later moves 50% in either direction, your recorded collateral size for this position remains \$100.
Jupiter Perps allows only one position per asset per side. If you open a new position on the same asset and direction as an existing one, both are automatically merged into a single position.
After the merge:
* The combined leverage is the average of both positions' leverage
* The combined size equals the total collateral multiplied by the combined leverage
* Any existing TP/SL orders are preserved
For long positions, profits are paid in the underlying token (e.g. SOL for a SOL long). The USD profit is converted to tokens at the price at the time of closing, not at your entry price.
**Example:** A SOL long closed with a total value of \$150 when SOL = \$110 returns `\$150 / \$110 = 1.3636 SOL`.
The PnL shown on the interface is before fees. The exact net amount is shown under the Deposit/Withdraw tab.
When you increase an existing position, the new average entry price reflects the unrealized PnL of the original position — not a simple average of the two entry prices.
**Adding to a profitable long:** Your effective cost basis improves (average entry is lower than the simple average) because the existing profits reduce the effective cost of the combined position.
**Adding to a losing long:** Your effective cost basis worsens (average entry is higher than the simple average) because the existing losses increase the effective cost of the combined position.
The same logic applies in reverse for short positions.
Yes. From the Positions tab, you can choose to close a position partially or fully. When reducing position size partially, the collateral is adjusted proportionally to maintain the same leverage ratio.
Jupiter Perps uses a request fulfillment model. The first transaction submits your trade request to the Solana blockchain. A second transaction is then executed by a keeper — an automated offchain service run by Jupiter — that validates and fulfills the request. The trade is only live once the keeper's transaction is confirmed.
Closed position details, including realised PnL and fees paid, can be viewed in the **History** tab of the Jupiter Perps interface, next to **Positions** and **Open Orders** below the chart. For a complete onchain record of all transactions, you can also look up your wallet address on a Solana block explorer such as [Solscan](https://solscan.io).
Jupiter Perps does not currently offer a native CSV export for trade history. To obtain a transaction record, you can look up your wallet address on [Solscan](https://solscan.io) and export transactions from there, or use a third-party portfolio tracking tool that supports Solana.
The first time you open a position on Jupiter Perps, an "Acknowledge Terms and Conditions" prompt confirms that you understand how Perps works and accept its risks (including liquidation, network congestion, and limit order behaviour). This prompt appears once and can be skipped on future trades via the "Do not show again" checkbox.
The Leaderboard displays the top traders on Jupiter Perps by trading volume, broken down by asset (WBTC, ETH, SOL) and time period. You can find it from the trade page using the **Leaderboard** button at the top.
The Leaderboard is informational only. It does not award rewards or imply endorsement of any trading strategy. Ranking reflects trading volume, not profitability.
***
## Fees & Costs
The main fees to account for are:
* **Base fee:** 0.06% of trade size, charged on open and close
* **Price impact fee:** Scales with trade size and open interest imbalance
* **Borrow fee:** Charged hourly on the borrowed portion of the position, for as long as the position is open
* **Transaction fee:** SOL network fee per transaction, plus optional priority fees
* **Swap fee:** Applies if your input token needs to be swapped to the correct collateral token
A small SOL rent amount is also charged when opening a position to create an escrow account. This rent is returned when the position is closed. See the [Fees](/user-docs/trade/perps/fees) page for full details and formulas.
Jupiter Perps executes trades at oracle prices, meaning you get the displayed price regardless of trade size. This eliminates orderbook slippage but creates a risk for JLP holders: large trades could be exploited by moving prices on external exchanges and opening positions on Jupiter to profit from the difference.
The price impact fee simulates the slippage that would occur on a traditional orderbook exchange. It scales with trade size (linear component) and increases further when the open interest imbalance between longs and shorts exceeds a threshold (additive component). See the [Fees](/user-docs/trade/perps/fees#price-impact-fee) page for full details.
Borrow fees accrue hourly and are deducted directly from your collateral for as long as the position is open. The rate depends on the asset's current utilization — the higher the proportion of pool tokens locked in open positions, the higher the borrow rate.
You can find the current hourly borrow rate for each asset in the Borrow Rate section of the trade form. See the [Fees](/user-docs/trade/perps/fees#borrow-fee) page for the full formula.
Token prices are sourced from onchain price oracles (Edge by Chaos Labs as primary, Chainlink and Pyth as verification and fallback). These oracle prices are used as the mark price for all operations: opening and closing positions, adjusting size, depositing or withdrawing collateral, calculating PnL, calculating liquidation prices, and triggering TP/SL orders.
Price data used in Jupiter Perps may differ from prices shown on other onchain or offchain aggregators. The Jupiter Perps price chart is the reference to use when making trade decisions.
***
## Liquidation & Risk
A PnL call occurs when your unrealized losses reduce your effective margin below the maintenance margin threshold. When this happens, you are prompted to deposit additional collateral to bring the position back above the minimum margin requirement. If no collateral is added and losses continue, the position will be liquidated.
Liquidation is triggered when the oracle price reaches the position's liquidation price. The position is automatically closed by the protocol and **all remaining collateral is transferred to the JLP** as a liquidation fee. You will not receive any portion of your collateral back.
To reduce liquidation risk: deposit additional collateral, reduce leverage, or set a stop loss order to close the position before the liquidation price is reached.
Borrow fees are deducted from your collateral on an hourly basis. As your effective collateral decreases, the liquidation price moves closer to the current market price — even without any price movement or manual position changes.
This effect is most significant at leverage above 10x and for positions held over extended periods. Regularly monitoring your liquidation price is essential.
The maximum leverage available when opening a position is **250x** for SOL, ETH, and wBTC. The leverage slider ranges from 1.1x to 250x.
Note: The liquidation price formula uses an internal protocol limit of 500x to define the minimum maintenance margin threshold. This is a separate parameter and does not affect the leverage available to traders.
Limit orders are independent from open positions. They remain active after a liquidation event and will continue to monitor the oracle price. If the target price is reached after the liquidation, the limit order will open a new position.
Not reliably. Jupiter Perps does not enforce FIFO (First-in, First-out) execution ordering. If a limit order and a liquidation transaction are submitted to the network at the same time, whichever is processed first by Solana will execute. The outcome cannot be guaranteed. Do not rely on a limit order as a liquidation prevention mechanism.
Limit orders cannot be created when the selected market's utilization exceeds 80%. This is a protocol-level restriction to protect pool liquidity under high demand. Wait for utilization to decrease or use a market order instead.
# Jupiter Perps Fees
Source: https://docs.jup.ag/user-docs/trade/perps/fees
All fees charged on Jupiter Perps: base fee, price impact fee (linear and additive), borrow fee, swap fee, JLP mint/burn fee, and transaction fees.
This page covers every fee type charged on Jupiter Perps, including when each fee applies, how it is calculated, and worked examples.
## Fee Summary
| Fee Type | When Charged | Rate |
| --------------------------- | ----------------------------------- | ------------------------------------------------------------ |
| Base fee | Open and close | 0.06% of trade size |
| Price impact fee (linear) | Open and close | Scales with trade size |
| Price impact fee (additive) | Open and close | Applies when OI imbalance exceeds threshold |
| Borrow fee | Continuously while position is open | Hourly, based on utilization and position size |
| Swap fee | When a token swap is needed | 10 BPS (non-stables), 2 BPS (stables), adjusted by weightage |
| JLP mint/burn fee | When minting or redeeming JLP | Same weightage-based calculation as swap fee |
| Transaction fee | On every transaction | SOL network fee + optional priority fee / Jito tip |
| Liquidation penalty | On liquidation | All remaining collateral |
The JLP mint/burn fee applies when interacting with the JLP pool directly (minting or redeeming JLP). It is included here because it shares the same weightage-based mechanism as the Perps swap fee. Full JLP details: [JLP Earn](/user-docs/earn/jlp/earn).
***
## When Do You Pay Fees?
Fees are charged at three different moments in the life of a position. This summary covers what you can expect at each stage. Each fee is documented in detail in its own section below.
**Opening a position:**
* Base fee (0.06% of trade size)
* Price impact fee (scales with trade size and open interest imbalance)
* Swap fee (only if your input token differs from the position's underlying collateral token)
* SOL transaction fee (network fee + optional priority fee or Jito tip)
* SOL rent for the position's escrow account (returned when the position is closed)
**While the position is open:**
* Borrow fee, charged hourly and deducted from your collateral, for as long as the position is open
**Closing a position:**
* Base fee (0.06% of trade size)
* Price impact fee
* Swap fee (only if you choose to receive profits in a token different from the underlying collateral token)
* SOL transaction fee
If a position is liquidated instead of closed manually, all remaining collateral is forfeited to the JLP. See the [Liquidation Penalty](#liquidation-penalty) section.
***
## Fees in the Trade Interface
The trade form on Jupiter Perps shows a live breakdown of all fees before you confirm a position. The values are calculated in real time based on the current market conditions and your selected size, leverage, and collateral.
| Field | What it represents |
| --------------------- | ------------------------------------------------------------------------------------------------ |
| **Entry Price** | The oracle price at which the position would open |
| **Liquidation Price** | The price at which the position would be liquidated (estimate) |
| **Slippage** | Your configured slippage tolerance (default 2%, adjustable in Settings) |
| **Open Fee (0.06%)** | The base fee charged to open the position |
| **Price Impact** | The price impact fee for the trade size and current OI imbalance |
| **Borrow Fees Due** | Borrow fees already accumulated (0 at opening, increases hourly while the position is open) |
| **Transaction Fee** | SOL network fee + any optional priority fee or Jito tip |
| **Account Rent** | SOL rent required to create the position's escrow account (returned when the position is closed) |
Use the breakdown to verify the total cost before submitting a trade. The Borrow Fees Due field updates continuously once the position is open, accessible from the Positions tab.
***
## Base Fee
A flat fee of **0.06%** is charged on the trade size when opening or closing a position.
The base fee applies to:
* Opening a position (market or limit order)
* Closing a position (manual, TP/SL, or liquidation)
**Example:**
* Trade size: \$10,000
* Base fee: \$10,000 x 0.06% = **\$6**
```typescript theme={null}
const BPS_POWER = 10 ** 4; // 10_000
// Use 'increasePositionBps' for opening, 'decreasePositionBps' for closing
const baseFeeBps = custody.increasePositionBps;
const baseFeeBpsDecimals = baseFeeBps / BPS_POWER;
const openCloseFeeUsd = tradeSizeUsd * baseFeeBpsDecimals;
```
***
## Price Impact Fee
Jupiter Perps executes trades at oracle prices, which means traders receive the displayed price regardless of trade size (no orderbook slippage). To compensate for the risk this creates for JLP holders, a **price impact fee** is charged to simulate the price impact that would occur on a traditional orderbook exchange.
The price impact fee has two components that are summed and capped at a per-asset maximum.
***
### Linear Price Impact Fee
The linear component scales proportionally with trade size. Each asset has a fixed scalar constant (`pricing.tradeImpactFeeScalar`) stored in its custody account.
**Formula:**
```
Linear Fee Coefficient = Trade Size / Price Impact Fee Scalar Constant
Final Linear Fee = Trade Size × Linear Fee Coefficient
```
The `tradeImpactFeeScalar` value in the custody account is stored in BPS format. Divide by 10,000 to use against USD trade sizes.
**Custody accounts (for scalar values):**
* SOL: [7xS2gz2bTp3fwCC7knJvUWTEU9Tycczu6VhJYKgi1wdz](https://solscan.io/account/7xS2gz2bTp3fwCC7knJvUWTEU9Tycczu6VhJYKgi1wdz#accountData)
* BTC: [5Pv3gM9JrFFH883SWAhvJC9RPYmo8UNxuFtv5bMMALkm](https://solscan.io/account/5Pv3gM9JrFFH883SWAhvJC9RPYmo8UNxuFtv5bMMALkm#accountData)
* ETH: [AQCGyheWPLeo6Qp9WpYS9m3Qj479t7R636N9ey1rEjEn](https://solscan.io/account/AQCGyheWPLeo6Qp9WpYS9m3Qj479t7R636N9ey1rEjEn#accountData)
**Example (SOL, at time of writing):**
| Step | Value |
| ---------------------- | ------------------------------------- |
| Trade size | \$10,000 |
| Scalar constant (raw) | 1,250,000,000,000,000 |
| Scalar (÷ 10,000) | 125,000,000,000 |
| Linear fee coefficient | 10,000 / 125,000,000,000 = 0.00000008 |
| **Linear fee** | 10,000 × 0.00000008 = **\$0.0008** |
```typescript theme={null}
const USDC_DECIMALS = 10 ** 6;
const BPS_POWER = 10 ** 4;
// 1. Get scalar from custody account
const scalar = custody.pricing.tradeImpactFeeScalar;
// 2. Convert trade size to base units
const sizeBase = tradeSizeUsd * USDC_DECIMALS;
// 3. Scale to BPS format
const sizeBps = sizeBase * BPS_POWER;
// 4. Fee rate in BPS
const feeBps = sizeBps / scalar;
// 5. Final fee in USD
const feeUsd = (sizeBase * feeBps / BPS_POWER) / USDC_DECIMALS;
```
Reference: [Chaos Labs initial proposal](https://discuss.jup.ag/t/jupiter-perpetuals-price-impact-fee-mechanism/17140)
***
### Additive Price Impact Fee
The additive component applies on top of the linear fee when the **open interest (OI) imbalance** — the difference between total long OI and total short OI for an asset — exceeds a predefined threshold.
Each asset has its own threshold (`priceImpactBuffer.deltaImbalanceThresholdDecimal`), `factor`, `exp`, and `maxPriceImpactFee` values stored in its custody account.
**Formula:**
```math theme={null}
Additive Penalty (BPS) = factor * (newImbalance / Threshold) ^ exp
Additive Penalty (USD) = Trade Size * (Additive Penalty (BPS) / 10000)
Final Price Impact Fee (USD) = min(Linear Fee (USD) + Additive Penalty (USD), Max Fee (USD))
```
If the imbalance is below the threshold, the additive penalty is zero.
**Example (SOL long, at time of writing):**
| Parameter | Value |
| ------------------------- | ------------------------- |
| Trade size | \$10,000 |
| New OI imbalance | \$2,000,000 |
| `tradeImpactFeeScalar` | 1,250,000,000 (USD terms) |
| `deltaImbalanceThreshold` | \$750,000 |
| `maxPriceImpactFee` | 50 BPS (0.50%) |
1. **Linear fee:** \$10,000 × 0.000000008 = \$0.00008
2. **Additive penalty:** The imbalance (\$2,000,000) exceeds the threshold (\$750,000), so the penalty formula applies using the SOL-specific `factor` and `exp` values.
3. **Final fee:** min(Linear Fee + Additive Penalty, \$10,000 × 0.50%) = min(..., **\$50**)
`factor` and `exp` are per-custody parameters defined onchain. The exact values can be read from the custody accounts linked above.
Reference implementation: [price-impact-fee.ts](https://github.com/julianfssen/jupiter-perps-anchor-idl-parsing/blob/main/src/examples/price-impact-fee.ts)
Additional references:
* [Price Impact Parameter Recommendations – June 2025](https://discuss.jup.ag/t/price-impact-parameter-recommendations-june-3rd-2025/38497)
* [Additive On-Imbalance Price Impact Model](https://discuss.jup.ag/t/additive-on-imbalance-price-impact-model/38562)
***
## Borrow Fee
Traders pay a **borrow fee** for the duration their leveraged position is open. This fee compensates liquidity providers for the capital locked in the position.
Borrow fees compound **hourly** and are deducted from the position's collateral.
### Formula
```math theme={null}
Hourly Borrow Fee = (Total Tokens Locked / Total Tokens in Pool) * Hourly Borrow Rate * Position Size (USD)
```
| Variable | Definition |
| -------------------- | --------------------------------------------------------------------------------------------------------- |
| Total Tokens Locked | All tokens locked across all open positions for this asset |
| Total Tokens in Pool | Total tokens deposited for this asset in the JLP |
| Hourly Borrow Rate | Per-asset rate, found in the trade form or via `fundingRateState.hourlyFundingBps` in the custody account |
| Position Size | USD value of the leveraged position |
```
// Utilization
IF custody.assets.owned > 0 AND custody.assets.locked > 0:
utilizationPct = custody.assets.locked / custody.assets.owned
ELSE:
utilizationPct = 0
// Hourly borrow rate
hourlyFundingDbps = custody.fundingRateState.hourlyFundingDbps
hourlyBorrowRate = (hourlyFundingDbps / 1000) * utilizationPct
```
### Worked Example
| Parameter | Value |
| --------------------- | ----------------------------------------------------- |
| SOL price | \$100 |
| Position size | 100 SOL (\$10,000) |
| Total tokens locked | 200 SOL |
| Total tokens in pool | 1,010 SOL |
| Utilization | 200 / 1,010 = 19.8% |
| Hourly borrow rate | 0.012% (0.00012) |
| **Hourly borrow fee** | (200 / 1,010) × 0.00012 × 10,000 = **\$0.238 / hour** |
Borrow fees are continuously deducted from your collateral. Over time, this reduces your effective margin and increases your liquidation price. Positions held for extended periods — especially at high leverage — require regular monitoring.
***
## Swap Fee
When a trade involves swapping between JLP-held assets (e.g. depositing SOL collateral to open a USDC-collateral short), a swap fee is charged.
**Base rates:**
* Non-stablecoin assets (SOL, ETH, wBTC): **10 BPS (0.10%)**
* Stablecoin assets (USDC, USDT): **2 BPS (0.02%)**
The final fee is adjusted based on how the swap affects each asset's **current weightage** relative to its **target weightage** in the JLP:
* Swaps that move an asset's current weightage **closer** to its target → fee decreases
* Swaps that move an asset's current weightage **further** from its target → fee increases
The pool uses the **maximum** of the input and output asset's fee when calculating the final swap fee.
**Example:** Swapping SOL → USDC: the SOL base fee (10 BPS) is used, as it is higher than the USDC base fee (2 BPS).
Reference implementation: [calculate-swap-amount-and-fee.ts](https://github.com/julianfssen/jupiter-perps-anchor-idl-parsing/blob/main/src/examples/calculate-swap-amount-and-fee.ts)
***
## JLP Mint & Burn Fee
Minting (depositing assets into the JLP) and burning (redeeming JLP for assets) use the same weightage-based fee calculation as swaps, since both actions change the pool composition.
For more on the JLP pool, mint and burn flows, and yield mechanics: [JLP Earn](/user-docs/earn/jlp/earn).
Reference implementation: [calculate-mint-burn-jlp.ts](https://github.com/julianfssen/jupiter-perps-anchor-idl-parsing/blob/main/src/examples/calculate-mint-burn-jlp.ts)
***
## Transaction and Priority Fees
* Traders pay a SOL network fee for each transaction submitted to Solana.
* Optional **priority fees** or **Jito bundle tips** can be set in the interface to improve transaction processing speed.
* A small SOL amount is used as **rent** to create an escrow account (PDA) when opening a position. This rent is returned when the position is closed.
The estimated transaction fee and rent amount (in SOL) are shown in the trade form before confirming.
***
## Liquidation Penalty
When a position is liquidated, **all remaining collateral** is collected by the protocol and distributed to the JLP.
You will lose your entire remaining collateral upon liquidation, not just the amount required to cover the loss. See the [Liquidation](/user-docs/trade/perps/liquidation) page for how to monitor and avoid liquidation.
# Jupiter Perps: Perpetual Futures on Solana
Source: https://docs.jup.ag/user-docs/trade/perps/index
How Jupiter Perps works: leveraged long and short positions on SOL, ETH, and wBTC — oracle pricing, fees, funding, and liquidations.
## What is Jupiter Perps?
Jupiter Perps is a perpetual futures exchange built on Solana. It operates as a **trader-to-LP model**: traders borrow assets from the Jupiter Liquidity Pool (JLP) to open leveraged positions, while liquidity providers earn a share of the fees generated by trading activity.
Positions are priced using onchain oracles, which means trades execute at the displayed price without orderbook slippage. A [price impact fee](/user-docs/trade/perps/fees#price-impact-fee) is applied instead to protect liquidity providers from large or imbalanced trades.
***
## Supported Markets
| Asset | Long Collateral | Short Collateral |
| ----- | --------------- | ---------------- |
| SOL | SOL | USDC |
| ETH | wETH | USDC |
| wBTC | wBTC | USDC |
Traders can hold up to **6 simultaneous positions**: one per asset per side (long/short).
***
## Key Parameters
| Parameter | Value |
| -------------------- | ----------------------- |
| Maximum leverage | 250x |
| Leverage range | 1.1x – 250x |
| Maximum positions | 6 (one per market/side) |
| Maximum limit orders | 20 per pair and side |
***
## How It Works
Deposits collateral and borrows the remainder of the position size from the JLP. Pays borrow fees, base fees, and price impact fees. Profits and losses are settled in the position's underlying collateral token.
Provides liquidity to the JLP. Earns 75% of all fees generated by trading, swaps, and JLP minting/burning. Exposed to trader PnL as the pool acts as counterparty.
### Execution Model
Every trade on Jupiter Perps requires **two onchain transactions**:
1. The trader submits a trade request to the Solana blockchain.
2. A keeper (an automated offchain service run by Jupiter) detects the request, validates it, and executes the trade.
This request fulfillment model ensures all trades are processed automatically without manual intervention. See [Technical Reference](/user-docs/trade/perps/technical-reference#request-fulfillment-model) for details.
### Price Oracles
Token prices are sourced from three independent oracles: **Edge by Chaos Labs** (primary), **Chainlink**, and **Pyth** (both used for verification and as fallback). Prices are updated during trade execution and by a dedicated keeper. See [Technical Reference](/user-docs/trade/perps/technical-reference#price-oracles) for the full oracle logic.
***
## Liquidity Comes from the JLP Pool
The liquidity for Jupiter Perps is provided by the **Jupiter Liquidity Provider (JLP) pool**. Traders borrow assets from this pool to open leveraged positions. In return, the pool earns 75% of all trading fees. JLP holders act as the counterparty to all trades, when traders profit, the pool pays out; when traders lose, those losses flow back into the pool.
This model means trading activity on Perps directly affects JLP holders, and JLP pool liquidity directly affects what traders can access.
JLP pool mechanics, yield, risks, and how to become a liquidity provider.
***
## Order Types
Opens a position immediately at the current oracle price. No price guarantee beyond the oracle price at the time of execution.
Opens a position when the oracle price reaches a specified target. Limit orders remain active until triggered or manually cancelled. They are independent from existing positions, if triggered, they will open a new position or increase an existing one on the same market and side.
Conditional close orders attached to an existing position. Automatically triggered when the oracle price reaches the specified level.
***
## Risks
**Trading perpetuals involves significant risk of loss.**
* Leveraged positions can be liquidated if collateral falls below the maintenance margin.
* Borrow fees accrue continuously and increase your liquidation price over time.
* Oracle prices may differ from prices on other venues.
* Smart contract risk: the protocol has been audited but no audit eliminates all risk.
Only trade with funds you can afford to lose.
***
## Related Pages
* [Positions & Collateral](/user-docs/trade/perps/positions-and-collateral) — How to open, manage, and close positions
* [Fees](/user-docs/trade/perps/fees) — All fee types explained
* [Liquidation](/user-docs/trade/perps/liquidation) — Liquidation mechanics and how to avoid it
* [Technical Reference](/user-docs/trade/perps/technical-reference) — Oracles, keeper model, onchain accounts
* [JLP Overview](/user-docs/earn/jlp) — The liquidity pool powering Jupiter Perps
# Liquidation
Source: https://docs.jup.ag/user-docs/trade/perps/liquidation
How liquidation works on Jupiter Perps: what triggers it, how the liquidation price is calculated, how it changes over time, and how to avoid it.
This page explains the liquidation mechanism on Jupiter Perps: what triggers it, how the liquidation price is calculated for long and short positions, how it drifts over time, and how to manage your risk.
## What Is Liquidation?
Liquidation is the automatic closure of a position by the protocol when the trader's collateral is no longer sufficient to cover the outstanding losses and fees. It is triggered when the oracle price reaches the position's **liquidation price**.
When a position is liquidated, **all remaining collateral is forfeited** to the JLP as a liquidation fee. You will not receive any portion of your collateral back. Only deposit collateral that is within your risk tolerance.
***
## Liquidation Trigger
| Position | Liquidation occurs when |
| -------- | -------------------------------------------------- |
| Long | Oracle price **falls below** the liquidation price |
| Short | Oracle price **rises above** the liquidation price |
***
## Liquidation Price Formula
The liquidation price is the oracle price at which the position's effective collateral (after fees) equals the minimum margin required by the protocol.
### Long Position
```math theme={null}
Liquidation Price (Long) = price - (|collateral_size - close_fee - borrow_fee - (size / max_lev)| * price) / size
```
### Short Position
```math theme={null}
Liquidation Price (Short) = price + (|collateral_size - close_fee - borrow_fee - (size / max_lev)| * price) / size
```
### Variable Definitions
| Variable | Definition |
| ----------------- | ------------------------------------------------------- |
| `price` | Average entry price (USD) of the position |
| `collateral_size` | Current collateral value (USD) |
| `close_fee` | Estimated close fee (USD) — base fee + price impact fee |
| `borrow_fee` | Accumulated borrow fees (USD) to date |
| `size` | Position size (USD) |
| `max_lev` | Protocol-level maximum leverage: **500** |
`max_lev` in the formula refers to the **protocol limit of 500x**, which is used to define the minimum maintenance margin. This is distinct from the **250x trading maximum** available when opening a position.
***
## How the Liquidation Price Changes Over Time
The liquidation price is **not static**. It moves as fees accumulate:
* **Borrow fees** are deducted from collateral hourly. As collateral decreases, the liquidation price drifts toward the current market price.
* The effect is most significant at **leverage above 10x** and for positions held over extended periods.
A position that appears safely distant from liquidation when opened can approach its liquidation price over time due to borrow fee accumulation — even without any price movement.
***
## Liquidation Example
**Setup:** \$10,000 collateral long position approaching liquidation
| Item | Value |
| -------------------------------------- | ------------------------------------------------- |
| Position collateral | \$10,000 |
| Remaining collateral after loss + fees | \$1,000 |
| Liquidation penalty | \$1,000 (entire remaining collateral goes to JLP) |
| Returned to trader | \$0 |
***
## How to Avoid Liquidation
Check the Positions tab regularly, especially during volatile market conditions or for long-duration positions.
Adding collateral reduces leverage and moves the liquidation price further from the current market price. Use the **Edit** button on any open position.
A stop loss closes the position before it reaches the liquidation price, preserving a portion of your collateral.
Lower leverage means a larger price movement is required before liquidation is triggered.
# Positions & Collateral
Source: https://docs.jup.ag/user-docs/trade/perps/positions-and-collateral
How to open, manage, and close leveraged positions on Jupiter Perps, including collateral rules, leverage, PnL, and order types.
## Opening a Position
Connect a Solana wallet (e.g. Phantom, Solflare) via the top-right button on the Jupiter Perps interface.
Choose the asset you want to trade: SOL, ETH, or wBTC.
Select **Long** if you expect the price to rise, or **Short** if you expect it to fall.
Enter the collateral amount and adjust the leverage slider (1.1x – 250x). Any SPL token (the standard token format on Solana) supported by Jupiter Swap can be used as input. It will be automatically swapped to the correct underlying collateral token.
**HALF / MAX shortcuts** next to the input field let you fill the collateral with half or all of your wallet balance for the selected token.
The **lock icon** next to the leverage slider lets you fix the leverage at the current value, so it does not move accidentally when adjusting other fields.
Review the order summary (position size, entry price, estimated liquidation price, fees) and confirm the transaction in your wallet.
The first time you open a position, you will be asked to acknowledge the Jupiter Perps terms and conditions. This appears once and can be skipped on future trades via the "Do not show again" checkbox.
Two onchain transactions are required to open a position: one to submit the request, and one executed by a keeper to fulfill it.
Selecting leverage above **150x** triggers an in-app warning. At this level, positions can be liquidated almost instantly on small price movements, and limit orders may not execute as expected. Use very high leverage only if you fully understand the risk.
***
## Collateral Rules
The underlying collateral token depends on the position direction and cannot be changed after opening.
| Position | Underlying Collateral | Profits Paid In |
| --------- | --------------------- | ---------------------- |
| Long SOL | SOL | SOL (default) or USDC |
| Long ETH | wETH | wETH (default) or USDC |
| Long wBTC | wBTC | wBTC (default) or USDC |
Long positions use the traded asset itself as collateral. When closing a profitable long, profits are paid in the underlying token by default.
| Position | Underlying Collateral | Profits Paid In |
| ---------- | --------------------- | ---------------------- |
| Short SOL | USDC | USDC (default) or SOL |
| Short ETH | USDC | USDC (default) or wETH |
| Short wBTC | USDC | USDC (default) or wBTC |
Short positions always use USDC as collateral, regardless of the shorted asset. Profits are paid in USDC by default.
When you deposit any SPL token as initial margin, the exchange automatically swaps it to the correct collateral token before opening the position.
### Collateral Value Is Fixed in USD
The USD value of your collateral is recorded at the time of deposit and remains fixed regardless of subsequent price movements in the collateral token.
**Example:** If you deposit \$100 worth of SOL, your collateral is recorded as \$100 USD. If SOL price later increases or decreases, your recorded collateral size remains \$100.
### Depositing and Withdrawing Collateral
You can add or remove collateral from an open position at any time via the **Edit** button in the Positions tab.
| Action | Effect on Long | Effect on Short |
| ------------------- | ----------------------------------------------- | ----------------------------------------------- |
| Deposit collateral | Liquidation price decreases, leverage decreases | Liquidation price increases, leverage decreases |
| Withdraw collateral | Liquidation price increases, leverage increases | Liquidation price decreases, leverage increases |
Withdrawing collateral increases leverage and moves the liquidation price closer to the current market price. Monitor your liquidation price carefully after any withdrawal.
***
## Position Limits
* Maximum **6 open positions** simultaneously: one per asset (SOL, ETH, wBTC) per side (long/short).
* Opening a second position on the **same asset and side** as an existing open position will **merge** both positions into one:
* The combined leverage is the average of both positions' leverage.
* The combined size equals the sum of both collaterals multiplied by the combined leverage.
* Any existing TP/SL orders are preserved after the merge.
***
## Leverage
Leverage determines how much of the position size is borrowed from the JLP relative to your collateral.
| Parameter | Value |
| ---------------- | ----- |
| Minimum leverage | 1.1x |
| Maximum leverage | 250x |
**Example:** With \$500 collateral at 2x leverage, your position size is \$1,000. You borrow \$500 from the JLP and pay borrow fees on that amount.
Higher leverage amplifies both potential gains and potential losses, and moves the liquidation price closer to the entry price.
At leverage above 10x, borrow fees have a meaningful effect on the liquidation price over time. Positions held for extended periods at high leverage are at elevated liquidation risk even without price movement.
***
## Slippage Tolerance
Although Jupiter Perps prices trades at the oracle price, a small delay exists between the moment you submit a trade request and the moment the keeper executes it (see [request fulfillment model](/user-docs/trade/perps/technical-reference#request-fulfillment-model)). During this delay, the oracle price can move.
The **slippage tolerance** is the maximum acceptable difference between the price at submission and the price at execution. If the price moves beyond this tolerance, the trade is cancelled to protect you from unfavourable execution.
Slippage can be configured in the **Settings** menu, accessible from the trade form:
| Option | Value |
| ------------- | ------------------------ |
| Preset values | 1%, 2%, 3% |
| Custom | Any value (set manually) |
| Default | 2% |
A lower slippage tolerance reduces your risk of unexpected execution prices but increases the chance of a trade being cancelled in volatile conditions. A higher tolerance does the opposite.
***
## Limit Orders
A limit order opens a position when the oracle price reaches a specified target, rather than at the current market price.
**Behavior:**
* Limit orders are independent from existing positions.
* They remain active until triggered or manually cancelled.
* When triggered, a limit order opens a new position if none exists, or merges with an existing position on the same asset and side.
* A limit order remains active even if an existing position on the same market is closed or liquidated.
* Maximum **20 active limit orders** per asset/side pair.
**Limit orders near the liquidation price**
Jupiter Perps does not enforce FIFO (First-in, First-out) execution ordering. If a limit order is placed near the liquidation price of an existing position, both the limit order transaction and the liquidation transaction may be submitted to the chain simultaneously. Whichever is processed first by the network will execute. The outcome cannot be guaranteed.
The liquidation price displayed on the limit order form is a simulation based on conditions at the time you fill in the form. It does not reflect the actual liquidation price at the time the order is triggered.
Limit orders cannot be created when the selected market's utilization exceeds 80%.
***
## PnL (Profit and Loss)
PnL reflects the gain or loss on an open position relative to the entry price. It updates in real time as the oracle price changes.
| Position | PnL increases when | PnL decreases when |
| -------- | ------------------ | ------------------ |
| Long | Price rises | Price falls |
| Short | Price falls | Price rises |
### Unrealized vs. Realized PnL
* **Unrealized PnL** is the current gain or loss if the position were closed at the current oracle price, before fees.
* **Realized PnL** is the actual amount received after deducting the close base fee, price impact fee, and accumulated borrow fees.
### PnL Calculation
```
// 1. Get exit price
exitPrice = currentTokenPrice
// 2. Determine if in profit
IF isLong THEN inProfit = exitPrice > positionAvgPrice
ELSE inProfit = exitPrice < positionAvgPrice
// 3. Price delta
priceDelta = |exitPrice - positionAvgPrice|
// 4. PnL delta
pnlDelta = (tradeSizeUsd * priceDelta) / positionAvgPrice
// 5. Unrealized PnL
IF inProfit THEN unrealizedPnl = pnlDelta
ELSE unrealizedPnl = -pnlDelta
// 6. Realized PnL (after fees)
realizedPnl = unrealizedPnl - (closeBaseFee + priceImpactFee + borrowFee)
```
### PnL Call
If unrealized PnL turns sufficiently negative and the effective margin falls below the maintenance margin threshold, you will receive a **PnL call**, a prompt to deposit additional collateral to avoid liquidation.
### Receiving Profits
For long positions, profits are paid in the underlying collateral token (e.g. SOL for a SOL long) by default. The amount received is calculated as:
```
tokensReceived = closingValueUsd / tokenPriceAtClose
```
**Example:** A SOL long closed with \$150 total value at SOL = \$110 returns `\$150 / \$110 = 1.3636 SOL`.
For short positions, profits are paid in USDC by default. Both longs and shorts offer the option to receive the alternative token at close.
The PnL displayed on the interface is before fees. The exact net amount is shown under the Deposit/Withdraw tab.
***
## Worked Trade Example
**Setup:**
| Parameter | Value |
| ------------- | ------------------ |
| Position size | \$1,000 |
| Collateral | \$500 SOL |
| Borrowed | \$500 SOL from JLP |
| Entry price | \$100 / SOL |
| Borrow rate | 0.012% / hour |
| Utilization | 50% |
**After 48 hours, SOL price rises to \$110:**
| Item | Amount |
| ----------------------------------------------- | ----------- |
| Final position value | \$1,100 |
| Open fee (0.06% x \$1,000) | \$0.60 |
| Close fee (0.06% x \$1,100) | \$0.66 |
| Borrow fee (500/1,000 x 0.012% x \$1,000 x 48h) | \$2.88 |
| **Net profit** | **\$95.86** |
This example excludes price impact fees and assumes constant utilization and borrow rates for simplicity. Actual fees may differ.
***
## Closing a Position
Positions can be closed fully or partially from the **Positions tab**. Partial closure reduces the position size proportionally and adjusts the collateral to maintain the same leverage ratio.
When reducing position size, collateral is adjusted proportionally to preserve the leverage ratio. For example, reducing a 10x position by 50% also reduces collateral by 50%.
# Technical Reference
Source: https://docs.jup.ag/user-docs/trade/perps/technical-reference
Technical details for developers: price oracle system, request fulfillment model, onchain accounts, and code references for Jupiter Perps.
## Price Oracles
Jupiter Perps aggregates token prices from three independent onchain price oracles:
| Oracle | Role |
| ---------------------- | ------------------------- |
| **Edge by Chaos Labs** | Primary oracle |
| **Chainlink** | Verification and fallback |
| **Pyth** | Verification and fallback |
### Oracle Selection Logic
1. If the Edge oracle is **not stale** and its price is within a defined threshold of both Chainlink and Pyth, the **Edge price is used**.
2. If the Edge oracle is stale or outside the threshold, Chainlink and Pyth prices are compared. If they are within the threshold of each other, **the more recent of the two is used**.
3. If two or more oracles fail, **no price update occurs**.
Oracle price updates happen both during trade execution and via a dedicated keeper that runs independently. Prices used in Jupiter Perps may differ from prices on other venues. The Jupiter Perps price chart is the source of truth for trade decisions.
| Asset | Account |
| ----- | ----------------------------------------------------------------------------------------------------------------------- |
| SOL | [FYq2BWQ1V5P1WFBqr3qB2Kb5yHVvSv7upzKodgQE5zXh](https://solscan.io/account/FYq2BWQ1V5P1WFBqr3qB2Kb5yHVvSv7upzKodgQE5zXh) |
| ETH | [AFZnHPzy4mvVCffrVwhewHbFc93uTHvDSFrVH7GtfXF1](https://solscan.io/account/AFZnHPzy4mvVCffrVwhewHbFc93uTHvDSFrVH7GtfXF1) |
| BTC | [hUqAT1KQ7eW1i6Csp9CXYtpPfSAvi835V7wKi5fRfmC](https://solscan.io/account/hUqAT1KQ7eW1i6Csp9CXYtpPfSAvi835V7wKi5fRfmC) |
| USDC | [6Jp2xZUTWdDD2ZyUPRzeMdc6AFQ5K3pFgZxk2EijfjnM](https://solscan.io/account/6Jp2xZUTWdDD2ZyUPRzeMdc6AFQ5K3pFgZxk2EijfjnM) |
| USDT | [Fgc93D641F8N2d1xLjQ4jmShuD3GE3BsCXA56KBQbF5u](https://solscan.io/account/Fgc93D641F8N2d1xLjQ4jmShuD3GE3BsCXA56KBQbF5u) |
### Migration Note
If you are using the old oracle account referenced in the custody account's `dovesOracle` field, migrate to the new accounts by using the `dovesAgOracle` field instead.
***
## Request Fulfillment Model
Jupiter Perps uses an onchain **request fulfillment model** for all trade actions. Every trade requires two separate transactions:
1. **Request transaction** — The trader (or API client) submits a transaction to Solana containing all required trade parameters (size, collateral, direction, etc.).
2. **Fulfillment transaction** — A keeper detects the request onchain, validates it, and submits a second transaction to execute the trade. The trade is only finalized when this second transaction is confirmed by the Solana network.
### Keepers
Keepers are offchain services operated by Jupiter that continuously poll the Solana blockchain for pending trade requests. Jupiter runs two keepers in parallel.
**Actions processed by keepers:**
* Opening and closing positions
* Increasing or decreasing position size
* Depositing or withdrawing collateral
* Creating, editing, and triggering TP/SL orders
* Creating, editing, and triggering limit orders
Because execution requires a keeper transaction, there is a short delay between request submission and trade execution. The trade is not live until the keeper's fulfillment transaction is confirmed.
***
## Custody Accounts (Onchain)
Each asset in the JLP has a corresponding **custody account** storing all pool and fee parameters for that asset.
| Asset | Custody Account |
| ----- | ----------------------------------------------------------------------------------------------------------------------- |
| SOL | [7xS2gz2bTp3fwCC7knJvUWTEU9Tycczu6VhJYKgi1wdz](https://solscan.io/account/7xS2gz2bTp3fwCC7knJvUWTEU9Tycczu6VhJYKgi1wdz) |
| ETH | [AQCGyheWPLeo6Qp9WpYS9m3Qj479t7R636N9ey1rEjEn](https://solscan.io/account/AQCGyheWPLeo6Qp9WpYS9m3Qj479t7R636N9ey1rEjEn) |
| BTC | [5Pv3gM9JrFFH883SWAhvJC9RPYmo8UNxuFtv5bMMALkm](https://solscan.io/account/5Pv3gM9JrFFH883SWAhvJC9RPYmo8UNxuFtv5bMMALkm) |
| USDC | [G18jKKXQwBbrHeiK3C9MRXhkHsLHf7XgCSisykV46EZa](https://solscan.io/account/G18jKKXQwBbrHeiK3C9MRXhkHsLHf7XgCSisykV46EZa) |
| USDT | [4vkNeXiYEUizLdrpdPS1eC2mccyM4NUPRtERrk6ZETkk](https://solscan.io/account/4vkNeXiYEUizLdrpdPS1eC2mccyM4NUPRtERrk6ZETkk) |
| Field | Description |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `pricing.tradeImpactFeeScalar` | Scalar constant for linear price impact fee calculation (BPS format, divide by 10,000 for USD) |
| `priceImpactBuffer.deltaImbalanceThresholdDecimal` | OI imbalance threshold for additive price impact fee |
| `fundingRateState.hourlyFundingBps` | Current hourly borrow rate for the asset |
| `assets.owned` | Total tokens owned by the custody |
| `assets.locked` | Tokens currently locked in open positions |
| `assets.guaranteedUsd` | Estimate of total long position size (updated on position changes, not in real time) |
| `assets.globalShortSizes` | USD value of all open short positions |
| `assets.globalShortAveragePrices` | Average entry price across all open shorts |
| `increasePositionBps` | Base fee (BPS) for opening positions |
| `decreasePositionBps` | Base fee (BPS) for closing positions |
***
## Code References
Formula and code snippet for the flat 0.06% open/close fee.
Scalar-based fee that scales with trade size.
Reference implementation for the OI-imbalance penalty.
Weightage-based swap fee between JLP-held assets.
Same weightage logic applied to minting and redeeming JLP.
Unrealized and realized PnL formula and pseudocode.
***
## External References
* [Jupiter Perps IDL parsing examples (GitHub)](https://github.com/julianfssen/jupiter-perps-anchor-idl-parsing)
* [Jupiter Research, Risk Assessments](https://www.jupresear.ch/tag/risk)
* [Chaos Labs, Linear Price Impact Fee Proposal](https://discuss.jup.ag/t/jupiter-perpetuals-price-impact-fee-mechanism/17140)
* [Chaos Labs, Price Impact Parameter Recommendations (June 2025)](https://discuss.jup.ag/t/price-impact-parameter-recommendations-june-3rd-2025/38497)
* [Chaos Labs, Additive On-Imbalance Price Impact Model](https://discuss.jup.ag/t/additive-on-imbalance-price-impact-model/38562)
# Predict FAQ
Source: https://docs.jup.ag/user-docs/trade/predict/faq
Frequently asked questions about Jupiter Prediction Markets.
## General
Jupiter Predict is a prediction market experience on Solana. It lets you trade on the outcome of real-world events by buying YES or NO contracts. If your side wins, each winning contract pays \$1 worth of the market's settlement asset. If your side loses, the contract expires worthless.
Jupiter Predict lists events across categories like Sports, Crypto, Politics, Esports, Culture, Economics, Tech, Finance, Weather, and Mentions. The available categories and markets can change as new events are added or removed.
Mentions groups markets that predict what public figures, publications, or media will say. Each market lists words, names, or topics, and you trade on whether they will be mentioned according to the market's rules.
**Browse** lists events across many categories, often with longer time horizons.
**Degen** focuses on short-duration crypto price markets. You predict whether a token's price will move Up or Down over a fixed window.
Both sections use the same basic wallet flow: review a quote, sign, and monitor the position. Settlement actions can vary by route: Profile shows whether the outcome is automatic, claimable, refundable, or final.
The Arcade runs one-minute BTC and SOL Up or Down rounds, settled from a shared prize pool rather than an order book, with a fixed 1% fee on winnings. See [Arcade: One-Minute Markets](/user-docs/trade/predict/how-it-works#arcade-one-minute-markets).
Jupiter Predict can surface markets from external prediction market providers and Jupiter-supported market integrations. Availability, trading actions, liquidity, and settlement timing can differ by market.
No. Predict has no market creation flow, so you can only trade markets that are already listed. New markets are added by the external providers and integrations that Predict sources from, not by Jupiter, so a market cannot be opened on request through support either.
The Leaderboard is a public ranking of traders on Jupiter Predict. You can sort by PnL, Volume, or Win Rate, and filter by time period. Traders are identified by truncated wallet address.
Clans are trader groups that compete in a weekly PnL race: every trade a member makes counts toward the clan's weekly total. You can create a clan, join one with an invitation or invite link, or send a request to join from the clan directory and wait for the leader's approval. A clan holds at most 50 members. See [Clans](/user-docs/trade/predict/how-it-works#clans).
## Trading
Predict uses dollar-pegged assets for trading and settlement. The exact funding token can depend on the selected market and route.
The order panel shows the token you pay with and, once you enter an amount, the size, number of contracts, and expected payout. Trading fees are included in these quoted amounts rather than shown as a separate line. You also need a small amount of SOL for Solana network fees.
A contract is a claim tied to one side of a market. A winning contract pays \$1 worth of the market's settlement asset. A losing contract pays \$0.
The price reflects what traders are currently willing to pay for that side. A YES contract at \$0.70 means the market is pricing YES at about 70 cents.
Prices are set by supply and demand. They are not guaranteed probabilities.
Yes. Predict enforces order minimums, and some short-duration markets can also have maximum order sizes. The app shows the current limits in the order panel.
No. Jupiter Predict does not support parlay or combo bets: each position is taken on a single market outcome. You can hold positions in as many separate markets as you like, but they settle independently.
A **Market order** attempts to execute at the best available price for the selected side.
A **Limit order** lets you set a target price and wait for a match.
Yes, as **limit buys** on Polymarket-sourced markets: switch the order panel to the **Limit** tab, set a target price, and wait for a match. Limit sells are disabled. Jupiter Forecast and sports ticket markets are market-order only — a Limit tab may still appear there, but it is disabled. You can cancel an open limit order before it is matched.
If an order cannot execute, or only partially executes, unused funds are returned automatically. Trading fees are charged only on the executed portion.
Common reasons include:
* The market is closed, upcoming, or view-only.
* Liquidity is too low for the requested amount.
* The selected route is temporarily unavailable.
* Trading is unavailable in your region.
* The amount is below the minimum or above the market's maximum.
Yes. Clicking **Close** on a position opens a panel where you choose how much to sell: a percentage preset (**25%, 50%, 75%, or Max**) or a custom dollar amount. Max sells the entire position. See [Closing a Position](/user-docs/trade/predict/how-it-works#closing-a-position).
Usually, yes, while the market is open and there is enough liquidity. Once trading stops and the market is closed for settlement, you can no longer sell.
Sells execute at the bid price, so closing a position has a spread cost.
The most common reasons:
* The market has reached its close time.
* Liquidity is too low to fill the close.
* The route or market integration is temporarily unavailable.
* The position is already waiting for claim, refund, or final settlement.
If you expect the market to still be open and the position looks stuck, raise a ticket via [Discord](https://discord.gg/jup).
Yes. Quotes include price protection. If the price or liquidity changes too much before execution, the order may fail instead of executing at a much worse price. Any unused funds are returned automatically.
## Fees
Fees are included in the order quote shown before you sign; they are not displayed as a separate line item. They are charged only on executed trades, in whichever mint is used to purchase the contracts, and are always rounded up to the nearest cent. See [Fee Structure](/user-docs/trade/predict/how-it-works#fee-structure) for how they are calculated.
For Browse markets sourced from Polymarket, the trading fee has two components: where Polymarket charges a fee, Jupiter charges an additional fee equal to the Polymarket fee. The total trading fee is twice the Polymarket fee. Solana network costs are separate and paid in SOL.
The fee size scales with the contract price, the number of contracts, and how uncertain the outcome is. Trades priced closer to \$0.50 are more uncertain, so fees are slightly higher. Trades priced closer to \$0.00 or \$1.00 are more certain, so fees are lower.
Degen and other routes can use different sources and may not have the same fee structure as Polymarket-sourced Browse markets.
Predict does not charge trading fees on claims or refunds. Solana network fees may still apply when you sign a transaction.
No trading fee is charged on the unfilled portion of an order.
## Settlement
Each market has rules that define how the outcome is determined. The market source or integration determines the result according to those rules. Some market routes record eligible results on-chain, while other integrations may settle through their own route.
Disputes are handled by the market's source or resolution process. Jupiter records eligible on-chain results and does not independently rewrite market outcomes.
Settlement depends on the market. The real-world event must conclude, the market source must determine the result, and final status must be available in Profile.
Some markets settle quickly after the source result is available. Others can take longer if the result is delayed, disputed, or needs investigation.
**Resolved** means the market result has been finalized and Profile has settlement status. For some market routes, this includes an on-chain result.
**Claimed** means a winning payout has been credited to your wallet.
**Refunded** means an eligible refund has been credited to your wallet.
Use your Profile as the source of truth. If a position is claimable, click **Claim** and sign in your wallet.
A claimable payout does not disappear just because you did not click immediately, but it is best to claim once the action appears.
A market can remain pending if the real-world outcome is unclear, the source is waiting for an authoritative result, or the settlement route needs investigation.
While the market is closed and waiting for settlement, you cannot close the position. If a market remains unresolved for an unusually long time, raise a ticket via [Discord](https://discord.gg/jup).
If a market is cancelled, voided, or resolved as refundable, eligible positions can receive a refund after final settlement status is available. Eligible refunds are processed on-chain and reflected in Profile. Profile shows the refund status and any available action.
There can be a delay between source resolution and final status updating on Jupiter. Once settlement status is available, your Profile updates to show claim, refund, lost, or final status.
If a market resolves against your position, your contracts expire worthless. You receive no payout and no action is needed.
## Risks
Yes. If the market resolves against your prediction, your contracts expire worthless and you can lose the full amount spent on them.
The main risks include losing your full position, low liquidity, wide spreads, slippage, route failures, settlement delays, source disputes, stablecoin risks, and regulatory restrictions. See the Risks section in the [Overview](/user-docs/trade/predict#risks) for more detail.
The regulatory status of prediction markets varies by jurisdiction. Users are responsible for understanding whether prediction market trading is permitted where they are located.
## Account and Access
Your full wallet address, the event page URL (its last segment is the market's identifier), what happened and when, and, for a specific order, the transaction signature from your wallet's activity history. See [What to Give Support](/user-docs/trade/predict/how-it-works#what-to-give-support) for the full list.
Yes, a small amount. Solana charges transaction fees, and some on-chain accounts require temporary rent deposits. Rent is recovered automatically when eligible accounts are closed.
On the web, trading is unavailable in some regions, including the United States, South Korea, and Australia. The **Jupiter Mobile app** applies additional regional restrictions and is unavailable in a number of further countries, including parts of the EU — so the regions you can access may differ between the web and the mobile app. Availability depends on local regulations. Jupiter does not provide legal advice.
Click **Profile** at the top of the Predict page. You can view active positions, open orders when available, history, claims, and refunds.
# Using Predict
Source: https://docs.jup.ag/user-docs/trade/predict/get-started
Step-by-step guide to browsing markets, opening positions, managing trades, and claiming payouts on Jupiter Predict.
This guide walks you through the main actions on Jupiter Predict: finding markets, placing orders, managing positions, and claiming winnings or refunds.
## What You Need
A wallet such as Phantom or Solflare, connected to Jupiter.
The order panel shows the token used for the selected market before you sign.
For Solana transaction fees and account rent.
Predict enforces order minimums and, on some short-duration markets, maximum order sizes. The app shows the current limits in the order panel.
## Browsing Markets
Open **Predict** from Jupiter's navigation (on desktop, in the left side navigation under **Trade**).
By default, you land on **Browse**. Use the top navigation to switch between:
* **Browse**: events across categories like sports, crypto, politics, economics, and more
* **Degen**: short-duration crypto price markets
* **Arcade**: one-minute BTC and SOL Up or Down rounds, settled from a shared pool (see [Arcade](/user-docs/trade/predict/how-it-works#arcade-one-minute-markets))
* **Clans**: create or join a trader clan and climb the weekly clan PnL race (see [Clans](/user-docs/trade/predict/how-it-works#clans))
* **Profile**: your positions, trade history, and settlement status
* **Leaderboard**: top Predict traders
* **For You**: personalised recommendations based on your activity
Use category tabs, the **Live** filter, sorting, or search to narrow the market list.
Click any event card to see its markets, probability history, rules summary, related events, and comments from other traders.
For multi-outcome events, only the top outcomes may be visible at first. Click **Show More** to see additional markets.
## Placing an Order
Market orders are the main live trading path on Predict.
From an event page, pick the outcome you want to trade on. Click **Yes** or **No** next to it.
Enter how much you want to spend. The app estimates how many contracts you can receive at the current price.
Use **HALF** or **MAX** to quickly set an amount from your available balance.
Check the selected side, estimated contracts, price, fees, and expected payout before confirming.
The quote can change if the market moves or available liquidity changes.
Click the confirm button and sign in your wallet.
If the order executes, your position appears in your Profile. If it cannot execute or only partially executes, any unused funds are returned automatically.
To set your own price instead of taking the market price, switch the order panel to the **Limit** tab, enter a target price, and wait for a match. Limit orders are available as **limit buys** on Polymarket-sourced markets only — limit sells are disabled, and the Limit tab is disabled on Jupiter Forecast and sports ticket markets. See [Order Types](/user-docs/trade/predict/how-it-works#order-types).
## Trading on Degen
Degen markets use the same wallet flow, but the market format is shorter and more price-focused.
Click the **Degen** tab in the top navigation.
Use the filters to choose a live asset and time window. The available assets and windows can change.
Each card shows a reference price and current price. Click **Up** if you think the final price will be above the reference, or **Down** if you think it will be below.
Review the quote, then sign in your wallet. If the route cannot execute, unused funds are returned automatically.
Degen markets resolve after their time window ends. Settlement actions can vary by route: Profile shows whether the outcome is automatic, claimable, refundable, or final.
## Monitoring Your Positions
Click the **Profile** tab in the top navigation.
The **Positions** tab shows active positions with:
* Current value and mark price
* Average price paid
* PnL, with a fee toggle where available
* Potential payout if your side wins
* Settlement status
The **Open Orders** tab shows pending orders when that flow is available.
The **History** tab shows past trades, settlements, claims, and refunds.
Your positions also appear directly on the event page itself: each market section where you hold a position shows it inline, and it refreshes after a claim or a close. The Profile remains the complete view across all markets.
## Closing a Position Early
You can try to exit a position before the market closes.
In your Profile, find the position you want to close.
Click **Close** on a position row, or **Close All** to exit all eligible positions. The Close panel lets you sell part of the position (**25%, 50%, 75%**, a custom amount) or all of it (**Max**).
The app attempts to sell your contracts at the current bid. If the close executes, the proceeds are returned to your wallet after any applicable fees.
Sells execute at the bid price, not the mid price. There is usually a spread between the price you pay to buy and the price you receive when you sell.
You may not be able to close if trading has stopped, liquidity is too low, or the market's route is temporarily unavailable.
## Claiming Winnings
After a market settles in your favour, Profile shows whether your payout is claimable or has been settled automatically.
Profile must receive the final settlement status before it can show the final state. A market may show as pending on Jupiter for a short time after its source has resolved.
If Profile shows **Claim**, follow the prompt and sign in your wallet. A winning contract pays \$1 worth of the market's settlement asset. When you have claimable positions, a **Claim All** button appears in the Positions tab and claims them all in one action. Some routes settle automatically and do not require a claim transaction.
If the market resolves against your position, the contracts are worthless and the position is marked as lost. No action is needed.
## Refunded Outcomes
Some markets can resolve to a refund or another non-standard outcome depending on the rules.
Eligible refunds are processed on-chain and reflected in Profile. Profile shows the refund status and any available action after settlement status is available.
If the app shows a refund action, follow the prompt. Otherwise, wait for processing or raise a ticket via [Discord](https://discord.gg/jup) if something looks stuck for an unusually long time, including the details listed in [What to Give Support](/user-docs/trade/predict/how-it-works#what-to-give-support).
# How Predict Works
Source: https://docs.jup.ag/user-docs/trade/predict/how-it-works
Detailed mechanics of Jupiter Prediction Markets: events, contracts, orders, fees, settlement, and the Degen mode.
This page covers the detailed mechanics of Jupiter Predict. For a high-level introduction, see the [Overview](/user-docs/trade/predict).
## Events and Markets
An **event** is a real-world occurrence with a determinable outcome. For example: "Republican Presidential Nominee 2028" or "UEFA Champions League Winner."
Each event contains one or more **markets**. Each market represents a specific outcome within the event and is usually binary: YES or NO.
For example, an election event can contain separate markets for several candidates. Each candidate market trades independently. You can buy YES on one candidate without taking a position on any other candidate.
### Multi-Outcome Events
Events with many possible outcomes are displayed with the top outcomes visible by default. Click **Show More** to drill down and see additional sub-markets.
The probabilities across all sub-markets within a multi-outcome event do not always sum to exactly 100%. Each sub-market can have its own liquidity, spread, and price history.
### Sports Match Markets
A single sports match can carry several market types, grouped on one event page. On a football match, for example:
* **To Advance**: which team goes through to the next round. Runs to the full result, including extra time, penalties, or an official ruling, as set out in the market rules.
* **Moneyline**: the three-way regulation-time result (either team or the draw), each side tradeable YES or NO. The order buttons show the payout per contract (e.g. "\$1 pays 2.46").
* **Both Teams to Score**: yes or no.
* **Double Chance**: cover two of the three regulation-time outcomes in a single position.
* **Spreads**: back a team at a goal handicap, with a selectable line (e.g. 0, 0.5, 1).
* **Totals**: over or under on total goals, with a selectable line (e.g. 2, 2.5, 3).
* **Odd / Even** and **Total Goals ranges** (e.g. 0-1, 2-3, 4-6, 7+).
* **Exact Score**: see [Special Markets](#special-markets).
Reading these markets:
* **REG TIME vs FULL TIME badges**: REG TIME markets settle on the first 90 minutes plus stoppage time. FULL TIME markets settle on the final outcome, including extra time and penalties (To Advance is a FULL TIME market). The exact treatment is always in the market's rules summary.
* **Push rules are displayed on the market**: on integer Spreads and Totals lines, a push (the spread-adjusted score is level, or the final total equals the line) resolves as a **refund** of the stake. The applicable rule is shown on each market group (e.g. "Draw = refund", "Exactly 2 = refund"). Other market types (Double Chance, Odd / Even, Exact Score) do not use lines and have no push outcome.
* **No fees label**: the sportsbook-style groups (Double Chance, Spreads, Totals, Odd / Even, Total Goals ranges, Exact Score) currently charge no trading fees. These are [ticket markets](#special-markets): market orders only, held to settlement with no early sell.
Esports events can also carry several market types per match, grouped by game within a series (e.g. Game 3 of a best-of-3), with live scores shown on the event card.
Tennis matches carry match, set, and game markets, with dedicated **Total Sets** and **Total Games** sections.
### Comments
Each event page includes a comments section: you can post comments on an event, like other traders' comments, and delete your own.
### Market States
A market moves through several states from creation to settlement:
The market is visible but trading has not started yet. The UI may show a countdown.
The market is actively trading. Buy and sell actions are available when liquidity and routing support them. Live timed markets show a compact countdown on their card, with an urgency state in the final 30 seconds.
Trading has stopped. The market is waiting for the result to be determined and recorded.
The result is final. Profile shows claim, refund, automatic, lost, or final status.
## Contracts
A **contract** is a financial claim tied to one side of one market.
* A winning contract pays **\$1 worth of the market's settlement asset**.
* A losing contract pays **\$0** and expires worthless.
* Some markets can resolve to a refund or draw outcome if the market rules require it.
Contract prices usually range from **\$0.01 to \$0.99**. The price reflects the current market-implied probability for that side. A YES contract at \$0.65 means traders are currently paying about 65 cents for the YES side.
### Funding and Settlement Assets
Predict uses dollar-pegged assets for trading and settlement. The exact funding token can depend on the market and route. In some flows, Jupiter may route your input into the market's settlement asset before the order is placed.
The order panel shows the token you pay with and, once you enter an amount, the quote details: size, number of contracts, expected payout, and any estimated refund. Trading fees are included in the quote rather than shown as a separate line; see [Fee Structure](#fee-structure) for how they are calculated.
### Spread
Each market has a **bid price** and an **ask price**:
* The **ask** is what you pay when buying.
* The **bid** is what you receive when selling.
The difference is the spread. Entering and exiting a position can cost money even if the market price has not moved.
## Order Types
Market orders are the main live order type on Predict. A market order attempts to execute at the best available price for the selected side.
* The order quote is based on current price and liquidity.
* If price or liquidity changes before execution, the order may fail or partially fill.
* If less than the full amount executes, unused funds are returned automatically.
* Fees are charged only on the executed portion.
Limit orders let you set a target price and wait for a match.
* Available on **Polymarket-sourced markets only**, and only as **limit buys**. Limit sells are disabled.
* You can cancel an open limit order before it is matched.
* Jupiter Forecast markets and sports ticket markets are market-order only. A Limit tab may still appear on the order form there, but it is disabled.
### Execution Flow
Predict abstracts away most of the execution machinery. In normal use, you only sign the transaction shown in your wallet.
The app checks the selected market route and estimates price, contracts, fees, and payout.
You review the quote and sign the transaction in your wallet.
Jupiter validates the trade and attempts to execute it through the selected route or market integration.
If the trade executes, your position appears in Profile. If it cannot execute, or only partially executes, unused funds are returned automatically.
This process can involve on-chain accounts, route execution, keepers, and market integrations behind the scenes. You do not need to manage those pieces manually.
## Position Management
A **position** represents your holdings in a specific market side.
### Position Data
Your Profile can show the following for each position:
| Field | Description |
| ----------------- | -------------------------------------------------------------------- |
| Event | The event and market name |
| Size | Number of contracts held |
| Value | Current estimated market value |
| Avg. Price | Average price paid per contract |
| Mark Price | Current reference price per contract |
| PnL | Unrealised profit or loss, with fee display controls where available |
| Payout if right | Estimated payout if your side wins |
| Settlement status | Whether the market is open, closed, claimable, refunded, or settled |
### Closing a Position
You can try to close a position before settlement by clicking **Close**, or **Close All** to exit all eligible positions.
* Closes execute at the current bid, so the spread matters.
* You can close a position **partially or in full**: the Close panel offers percentage presets (**25%, 50%, 75%, or Max**) or a custom dollar amount. Choosing Max sells the entire position regardless of price moves.
* A close can fail if the market is closed, liquidity is too low, or the route is temporarily unavailable.
### When You Can Close a Position
Whether you can close depends on the market's current state:
| Market state | Can you close? | Notes |
| ------------------ | -------------- | ---------------------------------------------------------------- |
| Open (Live) | Usually | Close attempts sell at the current bid if liquidity is available |
| Closed | No | Trading has stopped. Wait for settlement |
| Settled (you won) | No | Claim the payout instead |
| Settled (refund) | No | Refund is processed on-chain and reflected in Profile |
| Settled (you lost) | No | The position is final and no action is needed |
Low liquidity can make a position difficult or impossible to close even while the market is open. If a position looks stuck for an unusually long time, raise a ticket via [Discord](https://discord.gg/jup). Some market types, such as [special markets](#special-markets), cannot be closed at all and must be held to resolution.
### Profile Tabs
Your Profile page has three main tabs:
* **Positions**: active positions and claimable or refundable outcomes.
* **Open Orders**: pending orders when that flow is available.
* **History**: completed trades, settlements, claims, and refunds.
A period filter lets you narrow Positions, Open Orders, History, and the portfolio summary to a chosen time window. The portfolio summary also includes a PnL chart showing your profit and loss over time.
## Market Sources and Integrations
Jupiter Predict can surface markets from external prediction market providers and Jupiter-supported market integrations. Browse markets are currently sourced from Polymarket, alongside short-duration crypto markets and other Jupiter-supported integrations.
### What This Means for Users
* **Market availability**: not every market from every source is available on Jupiter.
* **Action availability**: some markets may be view-only, closed, unavailable in your region, or temporarily unavailable for buys or sells.
* **Resolution rules**: each market follows its own published rules. Read the rules summary before trading.
* **Disputes**: if a source market has a dispute or delayed resolution process, Jupiter follows the final result from that source or integration.
* **Settlement**: some market routes record eligible results on-chain. Other integrations may settle through their own process and reflect status in Profile.
### Order Behaviour by Market Source
| Market source | Orders | Early sell | Limits and fees |
| --------------------------------- | ------------------------------------------------- | ----------------------- | ------------------------------------------------------------------------------------- |
| Polymarket-sourced markets | Market orders + limit buys (limit sells disabled) | Yes, at the current bid | \$5 minimum order; standard trading fees |
| Jupiter Forecast markets (crypto) | Market orders only | Yes, via **Close** | \$5 minimum, \$1,000 maximum per order; winnings auto-credited |
| Jupiter Forecast markets (stocks) | Market orders only | Yes, via **Close** | No trading fees; tradable during US market hours only; terms acknowledgement required |
| Sports ticket markets | Market orders only | No, held to settlement | \$4 minimum, \$3,000 maximum per ticket; currently no trading fees |
### Special Markets
During major sporting events, Predict lists sportsbook-style **ticket markets** on individual matches: Double Chance, Spreads, Totals, Odd / Even, Total Goals ranges, and Exact Score (see [Sports Match Markets](#sports-match-markets)).
Ticket markets work differently from standard Browse markets:
* **No early sell.** Once you buy a ticket, you hold it until the market resolves and pays out at settlement. There is no orderbook and no early exit.
* **Market orders only.** A Limit tab may appear on the form but is disabled on these markets.
* **Each purchase is a separate ticket.** Buying the same market more than once creates multiple independent positions rather than adding to one.
* **A separate sportsbook provider sets the odds**, so they can differ from similar markets elsewhere.
* **Stake limits**: minimum **\$4** and maximum **\$3,000** per ticket. The \$5 minimum order applies to the normal order path (Polymarket and Jupiter Forecast markets), not to tickets.
* **Currently no trading fees** on ticket markets.
Because ticket positions cannot be sold, your funds stay committed until the market resolves, regardless of how the odds move in the meantime.
## Degen Mode
Degen is a section within Jupiter Predict focused on short-duration Up or Down price markets. It has two tabs: **Crypto** and **Stocks**.
The **Crypto** tab currently lists 5-minute and 15-minute Up or Down markets on **BTC, SOL, ETH, XRP, BNB, DOGE, and HYPE**, each grouped under a live price chart; the **Stocks** tab hosts SPCX (SpaceX). Filter chips narrow the list by window (**All | 5m | 15m**) or by asset, and a **Live** filter shows the markets currently running.
### How It Works
Each Degen market asks whether a token's price will move **Up** or **Down** from a reference price over a defined window.
* The available assets and windows can change.
* The reference price is shown on the market card.
* The current price updates while the market is live.
* If the final price is above the reference, **Up** wins.
* If the final price is below the reference, **Down** wins.
* The market rules determine any edge cases, such as ties or unavailable price data.
Each market's **rules summary**, at the bottom of its page, names its exact resolution source. The crypto markets resolve from **Chainlink data streams** — the BTC/USD stream for the Forecast BTC markets, and TWAP streams (for example SOL/USD TWAP) for the other assets — not from spot markets or other price sources.
Degen markets may use a different route from standard Browse markets, but the basic wallet flow is the same: review the quote, sign, and monitor the position. Settlement actions can vary by route: Profile shows whether the outcome is automatic, claimable, refundable, or final.
### Jupiter Forecast Markets
Some Degen markets carry a **Jupiter Forecast** label. These are custom short-duration markets operated through a Jupiter market integration, over **5-minute** and **15-minute** windows, bought with USDC. They currently cover BTC Up or Down in the **Crypto** tab and SPCX (SpaceX) Up or Down in the **Stocks** tab.
Forecast markets behave like other Degen markets, with two specifics set out in each market's rules summary:
* **Resolution source**: the outcome is determined from the price feed named in the rules — the **Chainlink** BTC/USD data stream for BTC, and **Pyth Pro** signed snapshots (Equity.US.SPCX/USD) for SPCX — not from other price sources or spot markets. If the final price is **greater than or equal to** the starting price, the market resolves to **Up**; otherwise it resolves to **Down**.
* **Near-instant settlement**: winnings are credited to your wallet automatically shortly after the window closes. There is nothing to claim.
* **Market orders only**: the trade panel shows a **Limit** tab, but limit orders are not supported on these markets.
* **Order limits**: minimum \$5 and maximum \$1,000 per order.
* **Windows open as they go live**: upcoming windows are shown but are not tradable until the window is live. A short daily maintenance period, shown in the interface, makes these markets briefly unavailable each day.
* **Stock markets follow US market hours**: SPCX markets (currently badged **No fees**) are tradable during the US market session only. Outside those hours, the nearest past or upcoming event is still displayed but cannot be traded. You must acknowledge the terms and conditions before trading a stock market for the first time.
## Arcade: One-Minute Markets
The Arcade, in its own tab of the Predict navigation, runs continuous one-minute
BTC and SOL Up or Down rounds. It is a parimutuel game: instead of trading
contracts against an order book, everyone bets into a shared prize pool and
winners split the losing side.
Rounds run as a continuous carousel: **Ended**, **Live** (locked), **Next**
(open for entry), and **Later**. You always bet on the Next round; a countdown
shows when entry closes, and once the round goes live no more bets are accepted.
How a round works:
* Pick BTC or SOL, then bet **Up** or **Down** on the Next round with USDC
(minimum 1 USDC).
* Each side displays a live payout multiplier (for example Up 2.46x) computed
from the current pool split. It moves as bets come in, until entry closes.
* The price captured when the round locks is the reference. **Up** wins if the
round's closing price is above it; **Down** wins if it is below.
* Winners share the losing pool in proportion to their stake, after a fixed
**1% fee on winnings**. If only one side has bets, or the closing price equals
the reference, the round is **VOID** and every stake is refunded in full.
* Settlement is automatic and takes a few seconds. Payouts and refunds are sent
straight to your wallet; there is nothing to claim.
* You can bet both sides of the same round; the round still settles normally.
Around the game, the page shows your last five results with any streak, a
**Chart** toggle, a **Sound** toggle (countdown and settlement effects), and a
**Quick Bet** mode to place bets in one tap with a preset amount. A **Play |
History** toggle at the top switches between the live game and your past
rounds. Your record, PnL, and recent rounds are shown on the Arcade page
itself, next to a live feed of everyone's bets. The History view is a
dedicated, paginated page listing every past round with its asset, your
entries, the outcome, the payout, your realized PnL, and explorer links to
the settlement transactions.
Arcade rounds are fast, repeated bets on one-minute price moves. The displayed
multiplier is not fixed: your final payout depends on how the pool is split
when the round locks. Only bet what you can afford to lose.
## Fee Structure
Fees are charged only on executed trades: buying or selling contracts. Fees are included in the quoted amounts shown before you sign, rather than displayed as a separate line.
* Fees are charged in whichever mint is used to purchase the contracts.
* Fees are always rounded up to the nearest cent.
* There are no fees when claiming payouts.
* Orders that do not fill pay no trading fee until they execute.
### Arcade Fees
Arcade rounds charge a fixed **1% fee on winnings only**. Refunded stakes from
VOID rounds pay no fee. This schedule is specific to the [Arcade](#arcade-one-minute-markets)
and differs from Browse and Degen market fees.
### Browse Market Fees
For Browse markets sourced from Polymarket, the trading fee has two components: where Polymarket charges a fee on a market, Jupiter charges an additional fee equal to the Polymarket fee. The total trading fee you pay is twice the Polymarket fee.
The fee size depends on three factors:
* **Contract price**: the price you pay per contract.
* **Number of contracts**: fees scale with the size of the trade.
* **Outcome uncertainty**: trades priced closer to \$0.50 are more uncertain, so fees are slightly higher. Trades priced closer to \$0.00 or \$1.00 are more certain, so fees are lower.
The amounts below are the total trading fee you pay, with the Jupiter fee already included.
| Price per Contract | Fee (1 Contract) | Fee (100 Contracts) |
| ------------------ | ---------------- | ------------------- |
| \$0.01 | \$0.01 | \$0.07 |
| \$0.05 | \$0.01 | \$0.34 |
| \$0.10 | \$0.01 | \$0.63 |
| \$0.15 | \$0.01 | \$0.90 |
| \$0.20 | \$0.02 | \$1.12 |
| \$0.25 | \$0.02 | \$1.32 |
| \$0.30 | \$0.02 | \$1.47 |
| \$0.35 | \$0.02 | \$1.60 |
| \$0.40 | \$0.02 | \$1.68 |
For example, buying 100 contracts at \$0.25 costs \$25.00 in total, with a trading fee of \$1.32.
This structure keeps fees low for high-confidence outcomes, scales fairly with trade size, and encourages liquidity by not charging orders that are waiting to fill.
### Other Routes and Costs
Markets that use other routes can include additional or different fees:
| Fee type | What it covers |
| ------------------- | ------------------------------------------------------------ |
| Route fee | Fees from swap or liquidity routes used by a specific market |
| Solana network cost | Transaction fees and account rent paid in SOL |
Degen markets may use a different route from standard Browse markets, so the Polymarket fee table above does not necessarily apply to them. The order quote always shows the fees for the specific market and route before you sign.
### When Fees Are Not Charged
* If an order does not execute, trading fees are not charged.
* If an order partially executes, fees apply only to the executed portion.
* Claims and refunds do not charge Predict trading fees, though Solana network fees may still apply.
## Settlement Process
Settlement turns a closed market into a final result. Some market routes record an on-chain result, while other routes may settle through their own integration. Most markets settle to YES or NO, but refund and draw outcomes are possible when the rules require them.
Trading stops at the market's scheduled close time or when the source market stops accepting trades.
The market source or integration determines the result according to the market rules.
For some market routes, Jupiter records eligible results on-chain. Other integrations may settle through their own route and update Profile status.
Your position is marked as claimable, refundable, automatically settled, lost, or otherwise final.
If Profile shows **Claim** or a refund action, follow the prompt. When you have claimable positions, a **Claim All** button appears in the Positions tab and claims them all at once. Some outcomes are processed automatically. Losing positions need no action.
### Resolved vs. Claimed
These are separate states:
* **Resolved** means the market result has been finalized and Profile has settlement status. For some market routes, this includes an on-chain result.
* **Claimed** means a winning payout has been credited to your wallet.
* **Refunded** means an eligible refund has been credited to your wallet.
### Pending vs. Resolved
A market can be resolved by its source before it appears settled on Jupiter. This is expected during the relay and settlement update process. Your Profile updates once final status is available.
### When a Market Does Not Resolve as Expected
Most markets settle after their source result is available, but timing is not guaranteed.
Possible reasons for a delay:
* The real-world event has not produced a clear outcome.
* The market source is waiting for an authoritative result.
* A provider, route, or settlement issue needs investigation.
While a market is closed and waiting for settlement, you cannot close the position. If a market remains unresolved for an unusually long time, raise a ticket via [Discord](https://discord.gg/jup).
### Cancelled, Voided, or Refunded Markets
If a market is cancelled, voided, or resolved as refundable, eligible positions can receive a refund after final settlement status is available.
Eligible refunds are processed on-chain and reflected in Profile. Profile shows the refund status and any available action. If the status does not update after the market has clearly resolved as refundable, contact support via [Discord](https://discord.gg/jup).
## What to Give Support
When you raise a ticket via [Discord](https://discord.gg/jup), include enough detail for the team to find your trade. The most useful items:
* **Your wallet address** — the full address you traded with, not the truncated form shown in the app.
* **The event page URL** — every event has its own address, for example `jup.ag/prediction/...`. Open the event and copy the URL from the browser address bar: its last segment is the market's identifier.
* **What happened and when** — the action you took, the result you expected, and the approximate time with your timezone.
* **The transaction signature**, if the issue concerns a specific order. You can find it in your wallet's activity history.
* **The position details** as shown in the Positions tab: event, side, size, and average price.
The event URL and your wallet address together identify a position, so include both even when the issue seems obvious.
## Leaderboard
The Leaderboard is a public ranking of traders on Jupiter Predict.
* **Metrics**: PnL, Volume, and Win Rate
* **Time filters**: All Time, Weekly, and Monthly
* **Global stats**: total platform volume and total number of predictions
Traders are identified by their chosen **username**, or by truncated wallet address when none is set. Predict users can pick a username (set once via a signed request, from their profile); it is displayed on profiles, leaderboards, and clan surfaces. The Leaderboard is informational and does not affect trading.
## Clans
Clans are trader groups on Jupiter Predict that compete in a **weekly PnL race**: every trade a member makes counts toward their clan's weekly total. The competition has its own **clan leaderboard** with a qualification rule: a clan qualifies for the week by reaching a weekly volume threshold with a positive net PnL. Clans that have not yet qualified are ranked by volume; qualified clans are ranked by PnL. The clan directory lives under the **Clans** tab (`jup.ag/prediction/clans`), where each clan shows its name, handle, description, and member count. Joinable clans are listed by member count, with full clans at the end, and each clan's detail page shows its current-competition PnL in the header.
* **Creating a clan**: any connected user can create a clan and lead it, choosing a name and a handle (3-64 lowercase letters, numbers, and hyphens). Members are invited after creation. Clans cannot be deleted once created.
* **Joining a clan**: join with a direct invitation or an invite link from the clan leader, or send a **Request to join** from the directory and wait for the leader's approval (the request is a wallet message signature, not a transaction). Pending invitations appear in the directory's **Pending invitations** view.
* **Member limit**: a clan holds at most **50 members**. Once full, new invitations, join requests, and acceptances are blocked until a spot frees up.
* **Leaving and removal**: the clan leader can remove members.
* **Member metrics**: the clan detail page lists each member with their realized PnL for the current competition period; join requests and invitations also show the candidate's PnL, number of predictions, and win rate, so leaders can screen who they let in.
* **Clan chat**: each clan detail page has a chat reserved for the clan's active members. Messages are signed with your wallet.
Clans are a social and competitive layer: they do not change how orders execute, settle, or what fees you pay.
## On-Chain Costs
Jupiter Predict runs on Solana. Using it requires a small SOL balance for:
* **Transaction fees**: paid when you sign transactions.
* **Account rent**: temporary deposits required for some on-chain accounts.
Rent is recovered automatically when eligible accounts are closed. These are standard Solana network costs and are separate from Predict trading fees.
# Prediction Markets
Source: https://docs.jup.ag/user-docs/trade/predict/index
Trade on real-world events by buying YES or NO contracts on specific outcomes.
## What Is Jupiter Predict?
Jupiter Predict is a prediction market experience on Solana. It lets you trade on the outcome of real-world events by buying contracts for either side of a market: **YES** or **NO**.
A winning contract is designed to pay **\$1 worth of the market's settlement asset**. If the market resolves against your side, the contract expires worthless.
Jupiter brings prediction markets into the Jupiter trading experience. Markets may be sourced from external prediction market providers, Jupiter-supported market integrations, or short-duration crypto markets. Availability, liquidity, and settlement timing can differ by market.
You need a Solana wallet and a small amount of SOL for network fees. The order panel shows the supported funding token, expected contracts, fees, and settlement details before you sign.
## How It Works
Most markets on Jupiter Predict are binary. You pick a side, buy contracts at the current market price, and either hold until settlement or sell before trading closes.
### Price Equals Implied Probability
Contract prices usually trade between \$0.01 and \$0.99 and reflect the market's view of how likely an outcome is. A YES contract priced at \$0.70 means traders are currently paying about 70 cents for the YES side. The corresponding NO side is usually priced near \$0.30.
These prices are not guarantees. They move with supply, demand, liquidity, and new information.
### Profit and Loss
Your profit depends on what you paid, whether your side wins, and any fees paid when entering or exiting.
You buy 10 YES contracts at \$0.30 each. You spend \$3 before fees.
* If the market resolves to YES: each contract pays \$1. You receive \$10. Profit before fees: \$7.
* If the market resolves to NO: your contracts expire worthless. You lose the \$3 you spent.
You buy 10 NO contracts at \$0.40 each. You spend \$4 before fees.
* If the market resolves to NO: each contract pays \$1. You receive \$10. Profit before fees: \$6.
* If the market resolves to YES: your contracts expire worthless. You lose the \$4 you spent.
You do not have to wait for settlement. If the market is still open and there is enough liquidity, you can sell your contracts at the current bid price. Some market types, such as special markets on sporting events, cannot be sold and must be held to resolution.
## Browse, Degen, and Arcade
Jupiter Predict has three main trading surfaces.
Events across categories like sports, crypto, politics, economics, culture, finance, and more.
Each market includes a rules summary that explains how the result is expected to be determined.
Short-duration crypto markets where you predict whether a token's price will move **Up** or **Down** over a fixed window.
Available assets, windows, and limits can change. Use the filters in the app for the current set of live markets.
Continuous one-minute BTC and SOL Up or Down rounds, settled from a shared prize pool rather than an order book, with a fixed 1% fee on winnings.
## Categories
Browse markets are organised into categories. The available list can change as new markets are added or removed.
| Category | Examples |
| --------- | ---------------------------------------------------- |
| Sports | Championship winners, match results, MVP awards |
| Crypto | Token price targets, network milestones |
| Politics | Election outcomes, nominations, policy decisions |
| Esports | Tournament winners, match outcomes |
| Culture | Awards, entertainment, public figures |
| Economics | Interest rate decisions, macro indicators |
| Tech | Product launches, company milestones |
| Finance | Stock movements, commodity prices |
| Weather | Temperature, climate events |
| Mentions | Predictions on what public figures or media will say |
You can also filter by **Live** to see markets currently trading, or use search to find a specific event. Events can be sorted by volume, and seasonal filters (such as **World Cup**) can appear during major events.
## Order Types
Jupiter Predict currently uses **market orders** as the main live order type.
* **Market order**: attempts to execute at the best available price when you place the trade. If the price or liquidity changes before execution, the order may fail or fill with fewer contracts than expected.
* **Limit order**: lets you choose a target price and wait for a match. Available on Polymarket-sourced markets only, and only as **limit buys** (limit sells are disabled).
A Limit tab may appear on markets that do not support limit orders (Jupiter Forecast and sports ticket markets); it is disabled there. See [Order Behaviour by Market Source](/user-docs/trade/predict/how-it-works#order-behaviour-by-market-source).
## Fees
Fees are shown in the order quote before you sign. They are charged only on executed trades (buying or selling contracts), in whichever mint is used to purchase the contracts, and are always rounded up to the nearest cent. There are no fees when claiming payouts.
For Browse markets sourced from Polymarket, the trading fee has two components: where Polymarket charges a fee, Jupiter charges an additional fee equal to the Polymarket fee. The total trading fee is twice the Polymarket fee. The fee size depends on the contract price, the number of contracts, and how uncertain the outcome is. See [Fee Structure](/user-docs/trade/predict/how-it-works#fee-structure) for the full breakdown and examples.
Other routes, such as Degen markets, may use a different route and fee structure. Arcade rounds charge a fixed 1% fee on winnings only. Solana network fees and account rent are separate on-chain costs paid in SOL.
If an order does not execute, trading fees are not charged. Any unused funds are returned automatically.
## Settlement and Payouts
When a market closes, trading stops. The result is determined according to the market's rules. Some market routes record eligible results on-chain, while other integrations may settle through their own route and reflect the status in Profile.
The settlement flow usually works like this:
1. The market reaches its close time and trading stops.
2. The market's source or integration determines the result from the published rules.
3. The result is recorded on-chain or reflected through the relevant integration.
4. Profile updates with claimable, refundable, automatic, lost, or final status.
5. If Profile shows an action, follow the prompt. Some outcomes are processed automatically.
6. Losing positions expire worthless. No action is needed.
A market can be resolved by its source before it appears as settled on Jupiter. This is expected while the result is being picked up, recorded, or reflected in Profile.
Some markets can resolve to a refund or draw outcome depending on the rules. In those cases, eligible refunds are processed on-chain and reflected in Profile. Profile shows the refund status and any available action once settlement status is available.
## Additional Features
A personalised feed of recommended events based on your activity.
Public ranking of traders by PnL, Volume, or Win Rate. Filterable by All Time, Weekly, or Monthly.
View your positions, open orders, trade history, claims, and refunds, with a period filter to narrow the view.
Save events with the bookmark icon on any event card, and revisit them in your bookmarked list.
Each event page has a comment section where you can post, reply, like, and delete comments. Be careful with external links posted by other users.
A public live feed of trades across all prediction markets, showing the market, side, price, and amount for each trade.
## Risks
Prediction markets carry real financial risk. Read the points below carefully before trading.
* **You can lose your entire position.** If the outcome goes against your prediction, your contracts expire worthless.
* **Prices reflect current market demand, not certainty.** Markets can be wrong, illiquid, or slow to react to new information.
* **Liquidity varies.** Some markets may have wide spreads or low depth, which can make it hard to buy or sell at the displayed price.
* **Sells execute at the bid.** Closing a position usually returns less than the displayed mid price because of the spread.
* **Settlement depends on market rules and integrations.** Some market routes record results on-chain. Other integrations may settle through their own process.
* **Settlement is not instant.** There can be a delay between market close, source resolution, final status updates, and claim or refund availability.
* **Token and stablecoin risks apply.** Trades and payouts use dollar-pegged assets, which can carry issuer, liquidity, and depeg risk.
* **Regulatory restrictions apply.** Prediction markets may be restricted or regulated in your jurisdiction. Trading is unavailable in some regions, including the United States, South Korea, and Australia, and the Jupiter Mobile app restricts additional regions (including parts of the EU).
## What You Need
A wallet such as Phantom or Solflare, connected to Jupiter.
The order panel shows which token can be used for the selected market and route.
For Solana transaction fees and account rent. Rent is recovered automatically when eligible accounts are closed.
# AlphaScan
Source: https://docs.jup.ag/user-docs/trade/spot/alphascan
Real-time feed of new token launches on Solana — lifecycle tracking, developer data, and customization.
[AlphaScan](https://jup.ag/spot/alphascan) is a real-time feed of token launches across Solana. It is organized into three columns based on the token's lifecycle stage:
| Column | What it shows |
| ---------- | ----------------------------------------------------------------------------------- |
| **New** | Tokens just launched (typically seconds to minutes old) |
| **Soon** | Tokens still on a bonding curve, approaching migration to a standard liquidity pool |
| **Bonded** | Tokens that have recently migrated from a bonding curve to a liquidity pool |
AlphaScan can also be opened as a panel from the bottom bar on desktop, alongside other Spot views (Watchlist, SmartMoney, Discover) within a single sidebar that uses tabs.
Customisation settings (showing or hiding the New, Soon, and Bonded columns) are shared between the sidebar and the main AlphaScan page. Hiding a column in the sidebar also hides it on the full page, and vice versa.
## Data displayed per token
Each token entry in AlphaScan shows:
| Field | Description |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name & Logo** | Token name, full name, and logo |
| **Reused icon** | A badge on the token icon, shown when another token uses a visually similar icon. This is an informational caution signal, weaker than the impersonation warning: it does not identify which token is the original, and a token can gain or lose the badge when its own icon changes. Verified tokens and recognised issuer-backed assets are not flagged; the badge only appears on unverified tokens reusing an icon. |
| **Contract Address** | Truncated onchain address |
| **Age** | Time since the token was created (e.g. 32s, 5m, 6h) |
| **X Account** | The token's linked X (Twitter) account, shown as a row below the token age and social icons. Displays the @handle along with the account's following and followers counts. Clicking the handle opens the profile on X. Only shown when the token has a linked X account. An account that has used more than one X handle shows a warning-coloured dot, with the exact handle count in the profile popover; a clean signal is not a guarantee, as handle data can be missing for new accounts. Community links open a details popover with the community banner, description, member count, creation date, and creator. |
| **Holders** | Current number of holders |
| **V (Volume)** | Trading volume |
| **MC (Market Cap)** | Current market cap |
| **F (Fees)** | Combined priority fee, tip, and trading fees |
| **TX** | Number of transactions |
| **Bonding Curve Progress** | Visual progress bar showing how far the token is along its bonding curve |
| **Launchpad** | Source launchpad (e.g. pump) |
Percentage metrics are displayed at the bottom of each entry:
| Metric | Description |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Top 10 Holders %** | Percentage of supply held by the top 10 wallets. Clicking opens a [Bubblemaps](https://bubblemaps.io) visualization showing holder distribution and wallet connections. |
| **Dev Holding %** | Percentage of supply held by the developer wallet. The time since the developer's last activity may also be shown (e.g. "3mo"). |
| **Snipers Holding %** | Percentage of supply held by snipers — wallets that bought the token early, within the first three blocks after launch. |
| **Insiders Holding %** | Percentage of supply held by insiders — wallets that bought within the first block after launch, or received the token from another insider (status propagates through transfers). |
| **Pro Traders %** | Percentage of supply held by wallets identified as users of professional trading platforms (e.g. Axiom, GMGN). |
Not all metrics are visible by default. You can configure which data fields appear using the **Customise** panel (see below).
## Dev Tokens popup
Clicking the dev info on a token entry opens a popup showing the developer wallet's history:
| Field | Description |
| ---------------- | -------------------------------------------------------------------------------------------------- |
| **Bonded** | Number of the developer's tokens that have migrated to a liquidity pool (with percentage of total) |
| **Created** | Total number of tokens created by this developer |
| **Created (7d)** | Number of tokens created in the last 7 days |
| **SOL Balance** | Current SOL balance of the developer wallet |
| **Top Token** | The developer's most notable token (with age, traders, and market cap) |
A developer who has created many tokens with few reaching bonded status may indicate a pattern of abandoned projects. This data helps evaluate the developer's track record, but does not guarantee the current token's outcome.
## Quick Buy in AlphaScan
Each token entry includes a ⚡ Quick Buy button. Set your Quick Buy amount at the top of each column, then click ⚡ on any token to buy immediately. You can also select from your saved Quick Buy presets directly in AlphaScan, allowing you to switch between predefined amounts without leaving the feed.
Quick Buy uses your current trade execution settings (Ultra mode by default, or your manual Trade Presets). See [Fees](/user-docs/trade/spot/fees) for details on execution modes.
Quick Buy executes immediately when you click the ⚡ icon. There is no confirmation step. Make sure your Quick Buy amount and execution settings are configured before using this feature.
## Customizing AlphaScan
Click **Customise** in the top-right corner to configure AlphaScan across three tabs:
* **MC / Vol** — font size for market cap and volume (Small or Large)
* **Quick Buy** — button size (Small, Large, Mega, Jumbo)
* **Button Color** — Color or Grey
* **After Quick Buy** — action after purchase (None, Open Chart, New Tab)
* **Secondary Quick Buy Button** — toggle a second Quick Buy button
* **Hide Hidden Tokens** — show or hide tokens you've manually hidden
* **Show Search Bar** — toggle the keyword search bar
* **Square Token Image** — square or circle token logos
* **Progress Ring** — display bonding curve progress as a ring or bar
* **Show Decimals** — toggle decimal values
* **Compact Columns** — compact or spaced column layout
Choose which data fields appear on each token entry:
Market Cap, Volume, TXs, Socials, Holders, Top 10 Holders %, Dev Holding %, Dev Migrations, Dex Paid, Fees Paid, Snipers Holding %, Insiders Holding %, Bundlers Holding %, Pro Traders
You can also set **value highlighting thresholds** for Market Cap and Volume (e.g. highlight tokens above \$150K) to visually flag tokens that meet your criteria.
**Tweet Age Colors** lets you adjust the colors and time thresholds used for the tweet icon on token entries, based on how recent the token's linked tweet is. By default: green under 10 minutes, yellow between 10 and 60 minutes, red above 60 minutes.
Configure the table layout by showing, hiding, or reordering the three columns: **New**, **Soon**, and **Bonded**.
You can also use **Filter Launchpad** in the top-right to filter tokens by their source launchpad, and the keyword search bar within each column to search by token name.
Socials filters include **No similar icon found** (tokens whose icon does not visually match another token's), minimum and maximum **handle reuse**, and an **Original Socials** preset for accounts with at most one observed handle.
Tokens displayed in AlphaScan are typically very new and carry elevated risk. Low liquidity, limited holder history, and active developer authorities are common. See [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations).
***
Browse tokens by category and apply filters.
Detailed data when you open a token.
Risks of trading newly launched tokens.
# Discover
Source: https://docs.jup.ag/user-docs/trade/spot/discover
How to discover and filter tokens on Jupiter Spot using tabs, screeners, filters, and Quick Buy.
Jupiter Spot provides several curated feeds to help you discover tokens based on different market signals. Each feed is a tab at the top of the **Discover** view.
Discover can also be opened as a panel from the bottom bar on desktop, alongside other Spot views (Watchlist, SmartMoney, AlphaScan) within a single sidebar that uses tabs.
There may be a slight price lag (under 1 second) between the sidebar and the main page. This is expected behaviour and does not affect trade execution.
## Discovery tabs
| Tab | What it shows |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Trending** | Tokens most purchased in the past 24 hours that also have a positive price change |
| **Stocks** | Tokenized stocks available to trade on Solana (see below) |
| **Popular** | Tokens reflecting recent interest across Jupiter |
| **Organic** | Tokens ranked by [Organic Score](#organic-score), with organic volume and fees paid |
| **Categories** | Tokens grouped by category and narrative (e.g. memes, AI, DeFi) for sector-level discovery |
| **Top Traded** | Tokens with the highest trading volume in the past 24 hours |
| **Launchpads** | Real-time analysis of tokens across major Solana launchpads with volume comparison. See [Launchpad Screener & Runners](/user-docs/trade/spot/launchpad-screener-and-runners) for details. |
| **Stablecoins** | Stablecoins Screener with aggregated metrics and performance data (see below) |
### Token table
The token-list tabs share a sortable table. Use the **timeframe selector** (5m, 1h, 6h, 24h) to set the period for the price and volume columns, and the **Filters** control to narrow results.
| Column | Description |
| ----------------- | --------------------------------------------------------------- |
| **Token / Age** | Token name, verification status, and time since launch |
| **Price / %Δ** | Current price and percentage change over the selected timeframe |
| **MC / FDV** | Market cap and fully-diluted valuation |
| **24h Vol / Net** | Trading volume and net (buy − sell) volume |
| **Liquidity** | Available liquidity |
| **Holders / %Δ** | Number of holders and percentage change |
| **Fees Paid** | Total fees paid in relation to the token |
| **Last 24h** | Price sparkline over the last 24 hours |
## Organic Score
Many tokens display an **Organic Score** — a metric that estimates how much of a token's activity (holders, volume, liquidity) comes from genuine users rather than bots or wash trading. Jupiter tracks activity from real user wallets in real time; a higher score indicates more organic activity.
The Organic Score is calculated by [Jupiter VRFD](/user-docs/launch/vrfd). For details on the methodology, see the VRFD documentation.
The Organic Score is a signal, not a guarantee. Statistics may be manipulated by sophisticated traders, and a high score does not mean a token is safe or a good investment. Always do your own research.
## Stablecoins Screener
The Stablecoins tab provides a dedicated screener for stablecoins available on Solana. It has two sub-views:
* **Stable** — standard stablecoins (pegged assets)
* **Yield** — yield-bearing stablecoins
The top of the screener displays aggregated metrics:
| Metric | Description |
| ------------------- | ------------------------------------------------------------------------ |
| **30d Volume** | Total trading volume across all listed stablecoins over the past 30 days |
| **Total Mkt Cap** | Combined market cap of all listed stablecoins |
| **Total Liquidity** | Combined liquidity of all listed stablecoins |
| **Tokens** | Number of stablecoins listed |
Below, a **Top Performers** table ranks stablecoins with the following columns:
| Column | Description |
| --------------------------- | --------------------------------------- |
| **Token** | Stablecoin name and verification status |
| **Price / %Δ** | Current price and percentage change |
| 30d VWAP | 30-day volume-weighted average price |
| **Market Cap** | Market cap of the stablecoin |
| **30d Vol / Net** | 30-day trading volume and net volume |
| **Liquidity** | Available liquidity |
## Stocks Screener
The Stocks tab displays tokenized stocks — onchain tokens that represent traditional equities. Jupiter curates the list of available tokenized stocks and routes trades through all available liquidity sources, optimizing for the best overall execution. There is no specific partnership or custom integration — routing works the same as for any other token.
The Stocks Screener title is a dropdown giving access to related screeners, including per-issuer pages. Issuer screener pages include a clearable token search (press Cmd/Ctrl+F to focus it) that keeps sorting and pagination while you search.
The top of the screener displays aggregated metrics:
| Metric | Description |
| ------------------- | ------------------------------------------------------------------------------ |
| **24h Volume** | Total trading volume across all listed tokenized stocks over the past 24 hours |
| **24h Traders** | Number of unique traders over the past 24 hours |
| **Total Liquidity** | Combined liquidity of all listed tokenized stocks |
| **Tokens** | Number of tokenized stocks listed |
Below, a **Top Performers** table ranks tokenized stocks with the following columns:
| Column | Description |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| **Token** | Tokenized stock name and verification status |
| **Price / %Δ** | Last traded price of the token on Solana, and percentage change |
| Discount / Mark | Discount percentage and mark price of the underlying asset |
| UMC / MC | Underlying Market Cap (real-world asset) and on-chain Market Cap (tokenized version) |
| **24h Vol / Net** | 24-hour trading volume and net volume |
| **Liquidity** | Available liquidity. Stocks fulfilled via Request-for-Quote display **RFQ** instead of a value (see below) |
| **Holders / %Δ** | Number of holders and percentage change |
| **Buy** | Quick Buy button to purchase the token directly from the screener |
### RFQ liquidity
Some tokenized stocks have their liquidity provided primarily through a **Request-for-Quote (RFQ)** mechanism, where market makers fulfill trades on demand rather than liquidity sitting in a standard pool. These tokens display **RFQ** in the Liquidity column instead of a USD value.
For RFQ-fulfilled tokens, always check the quote before executing a trade. Quotes may vary significantly depending on market conditions, and prices outside traditional market hours may be less favourable.
Tokenized stocks are onchain tokens issued by third parties — they are not the same as traditional stocks, and Jupiter does not issue, back, or guarantee any of them. Issuers differ in backing, redemption, trading hours, and eligibility. For how tokenized stocks work and issuer-specific conditions, see [Tokenized Stocks](/user-docs/trade/spot/tokenized-stocks). Understand the risks before trading — see [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations).
## Filters
Each tab supports filters that let you narrow results by specific criteria. Available filters include:
**Trading metrics**
* Market cap, trading volume, holder count, liquidity
**Audit information**
* Token age, developer holdings, authorities held (Mint / Freeze), Jupiter verification status
**Other**
* Keyword search
* Bonding curve percentage — how far a token is along its bonding curve before migration to a standard liquidity pool (see [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations) for an explanation of bonding curves)
Filters apply to the currently selected tab only. Switching tabs resets your filter configuration.
## Quick Buy
Quick Buy allows you to purchase a token directly from any discovery tab without opening the token page.
Near the top of the Spot interface, select a Quick Buy amount in either **SOL** or **USDC**.
Next to any token in the list, click the ⚡ icon to execute a buy at the specified amount.
Quick Buy uses your current trade execution settings (Ultra mode by default, or your manual Trade Presets if configured). See [Fees](/user-docs/trade/spot/fees) for details on execution modes.
Quick Buy executes immediately when you click the ⚡ icon. There is no confirmation step. Make sure your Quick Buy amount and execution settings are configured before using this feature.
***
Real-time feed of new token launches.
Detailed data when you open a token.
Cross-launchpad analysis and Runners.
# Jupiter Spot FAQ
Source: https://docs.jup.ag/user-docs/trade/spot/faq
Frequently asked questions about Jupiter Spot: trading and execution, token safety, features and tools, and limitations.
## General
Jupiter Spot is available on the Jupiter Mobile app:
* **Android**: [Google Play Store](https://play.google.com/store/apps/details?id=ag.jup.jupiter.android)
* **iOS**: [Apple App Store](https://apps.apple.com/us/app/jupiter-mobile/id6484069059)
This is usually caused by stale site data in the browser. Work through these steps in order:
In the wallet's in-app browser, close every jup.ag tab, then fully close the wallet app.
Open the app again and load jup.ag in a brand-new tab. Do not use the Reload button on an existing tab. If the in-app browser keeps failing, open jup.ag in your device's browser (Safari or Chrome) instead.
If it still fails, clear the browser's stored data for jup.ag:
* **iOS (Safari):** Settings → Apps → Safari → Advanced → Website Data, search for "jup.ag", then swipe left to delete it.
* **Android (Chrome):** tap the three-dot menu → Settings → Site settings → All sites, search for "jup.ag", then tap Clear & reset.
* **In-app wallet browsers:** most do not offer per-site clearing. Look for a "clear browser data" or "clear cache" option in the wallet's own settings.
Never clear a wallet app's storage or app data from your phone's system settings unless your recovery phrase is safely backed up. Clearing app data can remove wallets stored on the device.
As a reliable alternative on mobile, use the [Jupiter Mobile app](https://jup.ag/mobile) directly.
Classic mode (for all traders) is the classic Jupiter UX with a simple swap widget, using Ultra only. Trench mode (one-click trading) is a compact, information-dense pro layout with manual presets, designed for active trading on volatile tokens.
Both modes execute swaps identically — the difference is purely visual. You can switch between them in **Settings → Spot → Trading Mode** (gear icon in the top navigation bar).
See [What is Jupiter Spot?](/user-docs/trade/spot/index) for more details.
* **Quick Buy** lets you purchase a token directly from a discovery tab or AlphaScan without opening the token page. Set an amount in SOL or USDC, then click the ⚡ icon next to any token.
* **Quick Swap** is available on the right side of a token page. It lets you buy or sell that specific token without leaving the page.
Both use your current execution settings (Ultra mode by default, or your manual Trade Presets).
## Trading & Execution
Spot uses [Jupiter Ultra](/user-docs/trade/spot/ultra-mode) by default, which charges **0% to 0.5%** depending on the volatility of the token pair. More stable pairs tend toward the lower end, and more volatile pairs (e.g. newly launched tokens) tend toward the higher end.
If your wallet doesn't have enough SOL for gas, gasless trading activates automatically. A relayer covers the SOL cost on your behalf, and the gasless surcharge can bring total fees up to 10% maximum. The gasless fee is fixed (not proportional to trade size), so larger trades have a smaller percentage impact.
Both fees are included in the quote shown before you confirm. See [Fees](/user-docs/trade/spot/fees) for full details.
In Ultra Mode, slippage is calculated automatically by RTSE (Real-Time Slippage Estimator) based on:
* The token category (stable, major, volatile, new listing)
* Recent price volatility on that token
* Liquidity depth in the pools your trade routes through
* Current network conditions on Solana
Values like 0.73%, 1.2%, or higher are normal for non-stable pairs and reflect current market conditions. RTSE sets the lowest slippage that still allows your trade to land successfully.
If the slippage seems too high for your liking, you can switch to [Manual Mode](/user-docs/trade/spot/manual-mode) and set a fixed slippage yourself. Note that lowering slippage too much may cause your trade to fail. See [How RTSE Works](/user-docs/trade/spot/ultra-mode#how-rtse-works) for details.
Several factors can delay execution:
* **Network congestion** — Solana may be experiencing high activity.
* **Low liquidity** — If your trade needs to route through multiple pools, it may take longer.
* **Slippage settings too low** — If price movement exceeds your slippage tolerance, the trade may get stuck or revert.
If your transaction hasn't been processed in a long time, please reach out to the team at [support.jup.ag](https://support.jup.ag/).
If you are trying to buy a new token with high volatility, it may be difficult to land your trades. This is due to the price moving between the time you submit the swap and the time it executes. Jupiter's built-in slippage protection prevents you from buying tokens at unexpectedly high prices.
Usually, it should take no more than 3 tries to buy a volatile token. If you struggle for more than 3 times, please let the team know at [support.jup.ag](https://support.jup.ag/).
You will pay gas fees for failed trades. Jupiter may compensate users who lost gas on more than 3 consecutive failed attempts.
When you see "No routes found," it typically indicates one of these issues:
* Insufficient liquidity for the token pair you're trying to swap.
* The trade size is too large relative to available liquidity, or too small for Jupiter to reliably execute.
* The token may have trading restrictions that prevent routing.
When liquidity is insufficient for your full trade amount, Jupiter may suggest a reduced amount with a "Try reducing to \[amount]" message. This suggestion is a best-effort estimate based on available routes and is not a guaranteed maximum amount.
Possible reasons include:
* **Slippage** — The token price moved before execution.
* **Routing optimization** — The swap was split across multiple pools.
* **Liquidity depth** — If a token has low liquidity, the trade impact can be significant.
Always check the preview screen before confirming a swap to see the estimated final amount.
If the difference is significant, please let the team know by [submitting a ticket](https://support.jup.ag/hc/en-us).
If you got rekt while using Ultra Mode, you may be eligible for compensation in the following cases:
* A bad quote caused by bad routing, especially when a better route or market was available at the time of swap.
* More than 3 consecutive trades that failed to execute, leading to a loss in gas.
* Unreasonably high slippage (>20%) when unnecessary, leading to sandwich attacks.
Jupiter never compensates for potential PnL, and only compensates Ultra Mode users. Jupiter cannot guarantee zero MEV. Ultra Mode minimizes the risk of getting sandwiched but does not prevent it entirely.
Allow up to 3 days for refund requests to be processed. Open a [support ticket](https://support.jup.ag/hc/en-us/requests/new).
Wallets are flagged if they've interacted with sanctioned exchanges or addresses linked to suspected criminal activity such as phishing or social engineering attacks. Please open a ticket on [support.jup.ag](https://support.jup.ag/) so the team can look into your individual case.
Some users have reported higher platform fees than expected. This is typically caused by browser extensions that modify quote responses or inject additional referral fees.
Signs this may be happening:
* Higher-than-expected fees on your Jupiter swaps.
* Warnings in the app like: "Your platform fee is higher than expected due to an installed browser extension not affiliated with Jupiter."
**Known extensions observed to affect Jupiter swaps:**
* **Kerberus** — Injects a referral account and changes the platform fee to 0.95%.
* **Pocket Universe** — Also injects referral fees in Jupiter swaps.
These extensions operate independently of Jupiter and are not developed or maintained by the Jupiter team.
**How to fix:**
1. Double-check fees before approving any transaction.
2. Disable or remove extensions that charge extra fees.
3. Restart your browser and open a fresh window.
4. Swap again on [jup.ag](https://jup.ag/) — you should now see normal fees.
[Jupiter Wallet](/user-docs/manage/extension-wallet/security#transaction-protection) includes Transaction Protection, which filters transfers to known malicious addresses injected by such extensions.
Limit orders may fail to execute due to:
* Extreme market volatility
* Low token liquidity
* Token creators removing all liquidity (rug pull)
* Price movements too rapid for keepers to process
* The price moved before the order was settled
* Slippage failures during settlement
DCA suborders may fail due to:
* Insufficient liquidity
* Price movements beyond acceptable slippage (slippage on DCA orders is managed automatically per execution; it is not a setting you configure)
* Network congestion
* Technical issues with the specific tokens
* Price outside your set USD price range (V2 only — the suborder is marked as Out of Range and rescheduled to the next interval)
Failed suborders automatically retry at the next scheduled interval.
## Tokens & Safety
Spot displays several safety indicators on each token page:
* **Mint Authority** — can the developer create more tokens?
* **Freeze Authority** — can the developer freeze token accounts?
* **Top 10 Holders %** — how concentrated is the supply?
* **Dev Holding %** — how much does the developer hold?
* **DB / DS markers** — when did the developer buy or sell?
* **Snipers Holding %** — how much is held by wallets that bought within the first three blocks after launch?
* **Insiders Holding %** — how much is held by wallets that bought in the first block or received tokens from other insiders?
* **Pro Traders %** — what percentage of supply is held by professional trading platform users?
* **Dex Paid** — did the creator pay for a DEX listing?
* **Bonding Curve %** — has the token migrated to a liquidity pool?
These indicators are informational tools, not guarantees of safety. Always do your own research. See [Token Page](/user-docs/trade/spot/token-page) and [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations) for more.
Tokens on Solana are permissionless, which means anyone can create a token. Always verify that you are buying the right token by checking the contract address. Jupiter reduces this risk by ranking tokens based on activity, using a verification system for community-verified tokens, and filtering out fake tokens when possible.
Jupiter is generally unable to support or compensate for buying the wrong tokens. This applies to all platforms: Jupiter Mobile, jup.ag, and others.
Some tokens launch through a bonding curve mechanism. The percentage shown represents how much of the curve has been filled. Once it reaches 100%, the token typically migrates to a standard AMM liquidity pool.
Before migration, liquidity is limited and price impact per trade can be significantly higher. See [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations) for details.
**DB** (Dev Bought) and **DS** (Dev Sold) are markers on the token chart showing when the developer wallet bought or sold the token. The developer wallet is identified as the wallet that deployed the token contract.
The Organic Score estimates how much of a token's activity (holders, volume, liquidity) comes from genuine users rather than bots or wash trading. A higher score indicates more organic activity.
It is calculated by [Jupiter VRFD](/user-docs/launch/vrfd). The Organic Score is a signal, not a guarantee — a high score does not mean a token is safe.
Liquidity is calculated by aggregating the quote side of trading pairs with a curated set of established bluechip tokens (e.g. SOL, JUP, JLP, jitoSOL, TRUMP, USDC, USDT). This list is maintained by Jupiter and may change over time.
A token's own liquidity is only included if Jupiter considers it an established asset — typically tokens with high market cap and deep liquidity. This number may differ from other sources, since Jupiter excludes certain pools that could artificially inflate liquidity figures.
Stats on Jupiter token pages may differ from other platforms since Jupiter uses its own set of heuristics and calculations to protect traders, and also refers to data from sources like CoinGecko and Birdeye.
Currently, Jupiter does not support specialized features like aggregating liquidity across multiple chains or indexing token locks on other platforms, but the team is actively working on improving token pages. If you need assistance with your project's token page, please open a ticket on [support.jup.ag](https://support.jup.ag/).
Most tokenized stocks are tradeable 24/7. Tokenized stocks issued by **Ondo** were the exception on a **24/5** schedule, but Ondo has enabled 24/7 trading on its most-traded tokens; the rest remain on 24/5 (generally Sunday 8pm ET until Friday 8pm ET) with any additional trading pauses displayed in the UI. Ondo Stocks are currently only tradeable against USDC.
Ondo tokens use a RFQ mechanism, which means liquidity may be significantly lower outside of traditional U.S. market hours. See [Tokenized Stocks](/user-docs/trade/spot/tokenized-stocks) for more.
## Features & Tools
Chart pair comparison now lives on the token page: open the token's chart and use the quote selector to chart the token against its market pair, USD, SOL, or another token of your choice. See [Token Page](/user-docs/trade/spot/token-page).
You can find your average entry and exit prices in two places:
1. On any token page, open the **My Positions** tab to see your Bought / Avg and Sold / Avg for that token.
2. Go to the [Positions page](/user-docs/trade/spot/positions) to view all your positions across tokens with full PnL details.
The PnL Calendar is a monthly calendar view of your daily trading performance, displaying up to 2 months. It is accessible from the Positions page and from the trader modal on any token page (click on a trader's address in the tabs below the chart).
It shows your daily and monthly PnL, your longest and current win streaks, and lets you export daily or monthly PnL cards as shareable images. See [Positions](/user-docs/trade/spot/positions) for details.
Open the **SmartMoney** tab and use the **Wallet Tracker** to enter a wallet address. You can also find wallets to track from any token page by clicking on a trader's address in the Transactions table, or follow a trader directly from the SmartMoney leaderboards.
Once tracked, the wallet's trades appear in your live feed. You can configure sound alerts, chart markers, and feed visibility for each wallet. See [SmartMoney](/user-docs/trade/spot/smart-money) for full details.
[AlphaScan](https://jup.ag/spot/alphascan) provides a real-time feed organized in three columns: **New** (just launched), **Soon** (approaching bonding curve completion), and **Bonded** (recently migrated to a liquidity pool).
You can filter by keyword, launchpad, and various trading metrics. See [AlphaScan](/user-docs/trade/spot/alphascan) for full details.
Runners are tokens that meet all of the following criteria at the end of a 24-hour window from their launch:
* Market Cap ≥ \$1,000,000
* Liquidity ≥ \$100,000
* Holders ≥ 1,000
* Organic Score ≥ 75.0
Runner status does not mean a token is safe or will maintain its performance. See [Launchpad Screener & Runners](/user-docs/trade/spot/launchpad-screener-and-runners) for details.
Jupiter currently supports launchpads built on **Meteora DBC** (Dynamic Bonding Curves) out of the box. If your launchpad uses Meteora DBC, you can get routing through Jupiter and 100+ partners via the API, real-time indexing with individual token pages, and AlphaScan support plus a dedicated screener page.
The team has a large integration backlog and is not adding launchpads built on other technologies in the near term. If your launchpad uses Meteora DBC, contact the team at [support.jup.ag](https://support.jup.ag) to request listing. See [Launchpad Screener & Runners](/user-docs/trade/spot/launchpad-screener-and-runners) for details.
Your Jupiter watchlist is stored in your browser's cache. If the cache is cleared, your watchlist will reset. This can happen if:
* You manually clear browser data.
* Your device automatically clears cache.
* A browser extension interferes with storage.
* You use private/incognito mode.
* You open Jupiter on a different device or browser.
To keep your watchlist intact, use the same browser regularly and avoid clearing cache.
When you trade tokens on Solana, your wallet pays a small SOL deposit (rent) to keep each token account open. If you no longer hold a token, the account is empty but the rent stays locked.
Rent Reclaim is available at three places on jup.ag: the homepage (if you have 10 or more reclaimable accounts), the wallet side drawer, and the My Positions toolbar on token pages. Click Reclaim to close the empty accounts and get the SOL back.
If you dismissed the homepage notification, use the wallet side drawer or the My Positions toolbar instead. Note that Rent Reclaim is currently not compatible with Trust Wallet's in-app browser. See [What is Jupiter Spot?](/user-docs/trade/spot/index) for more details.
## Limitations
Jupiter does not currently offer a native export feature for swap or order history.
**For swaps (Ultra and Manual Mode):**
* Your swap activity is visible in the Portfolio drawer under the **Activity** tab.
* For a full transaction record, view your wallet on a block explorer like [Solana Explorer](https://explorer.solana.com/) or [Solscan](https://solscan.io/), where you can download transaction data.
**For Limit Orders and DCA orders:**
* Order history is visible on the dedicated pages ([jup.ag/limit](https://jup.ag/limit), [jup.ag/recurring](https://jup.ag/recurring)) and in the Portfolio drawer.
For a broader view of activity across multiple Solana protocols, you can use [Jupiter Portfolio](https://jup.ag/portfolio).
There is no dedicated volume checker on Jupiter at this time. You can use the PnL feature at [jup.ag/watch/positions](https://jup.ag/watch/positions) to review your trading activity.
Currently, you cannot set the exact amount of tokens you want to receive on Jupiter. The previous ExactOut option was removed because it often resulted in worse pricing compared to regular swaps.
No, Jupiter does not currently support pausing and resuming DCA orders. If you need to stop, you must cancel the order and create a new one when ready to continue.
# Jupiter Spot Fees
Source: https://docs.jup.ag/user-docs/trade/spot/fees
Fee structure for trading on Jupiter Spot — network fees, Jito tips, Jupiter commission, and gasless trading.
When trading on Jupiter Spot you may pay up to three types of fees, depending on the product and execution mode. By default, Spot uses [Jupiter Ultra](/user-docs/trade/spot/ultra-mode) to execute trades.
## Fee structure
### Solana network fees
Small fees required to submit and process your transaction on the Solana blockchain. These are not charged by Jupiter and are paid regardless of whether your trade succeeds. In Ultra Mode, Jupiter dynamically sets this fee for you.
### Jito tip
A fee paid to Jito validators when using MEV-protect or Jito-only transaction broadcasting. This applies in Manual Mode when Jito is selected as a broadcasting option. See [Manual Mode](/user-docs/trade/spot/manual-mode) for details.
### Jupiter commission
A fee charged by Jupiter on certain products. The rate depends on the product and, for Ultra Mode, on the token pair.
| Product | Fee | Details |
| ----------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Ultra Mode | 0–0.5% | Varies by pair and volatility. More stable pairs tend toward the lower end; more volatile pairs (e.g. newly launched tokens) toward the higher end. See [Ultra Mode — Fees](/user-docs/trade/spot/ultra-mode#fees). |
| Manual Mode (Market Swap) | 0% | No Jupiter commission on manual swaps. |
| Limit Orders (V1) | 0.1% flat | See [Limit Orders — Fees](/user-docs/trade/spot/limit-orders#limit-order-v1). |
| Limit Orders (V2) | 0.03–0.1% base + Ultra routing fee (0–0.5%) | See [Limit Orders — Fees](/user-docs/trade/spot/limit-orders#fees). |
| DCA orders (V1, formerly Recurring) | 0.1% flat | See [DCA Orders — Fees](/user-docs/trade/spot/recurring-orders#fees-2). |
| DCA orders (V2) | 0.03–0.1% base + Ultra routing fee (0–0.5%) | See [DCA Orders — Fees](/user-docs/trade/spot/recurring-orders#fees). |
Fees are included in the quote shown before you confirm. The swap form starts with a compact rate summary: expand it to see the fee breakdown, the network fee, and open the route dialog showing the full swap path and venue splits. Manual swaps do not incur any Jupiter commission — you only pay Solana network fees and, if applicable, Jito tips.
Swaps placed natively in the Jupiter Mobile app follow a separate Mobile fee schedule. See [Jupiter Mobile fees](/user-docs/global/mobile/fees).
## Gasless trading fees
Gasless trading is activated when your wallet does not have enough SOL to cover transaction fees (signature fees, priority fees, and rent). In this case, a relayer submits the transaction on your behalf and covers the SOL cost.
The gasless fee is calculated based on the USD value of the SOL the relayer pays on your behalf, converted into an equivalent amount in the token you are trading.
Key details:
* The gasless surcharge can bring total fees up to **10% maximum**
* The gasless fee is a **fixed cost**, not proportional to trade size. This means the percentage impact is smaller on larger trades and larger on smaller trades.
* There is a **minimum trade size** for gasless swaps. If the trade amount is too small, the gasless fee would exceed the 10% threshold and the transaction will not be eligible.
* Gasless fees are **separate from** the standard swap fee. When gasless is activated, both fees apply.
* This surcharge does not apply to swaps routed through [JupiterZ](/user-docs/trade/spot/ultra-mode#gasless-trading), where the market maker covers the gas at no additional cost to you.
Gasless trading is designed primarily for onboarding situations, for example when you create a new wallet and transfer USDC but don't yet hold SOL. For the best execution, using SOL for gas is recommended when possible.
## Ultra mode vs manual mode
Spot offers two execution modes:
| Setting | Ultra mode (default) | Manual mode (Trade Presets) |
| ------------------ | ----------------------- | --------------------------- |
| **Slippage** | Automatically optimized | Set by user |
| **Priority fee** | Automatically optimized | Set by user |
| **Tip** | Automatically optimized | Set by user |
| **MEV protection** | Enabled by default | Depends on configuration |
**Priority fee** — An additional fee (in SOL) paid to Solana validators. Higher priority fees increase the likelihood that your transaction is included in the next block, which matters during periods of network congestion.
**Tip** — An optional incentive (in SOL) paid to the transaction executor (a searcher or relayer) to prioritize your transaction's execution. Tips are separate from priority fees and are used to compete for faster inclusion when multiple transactions target similar opportunities.
In Ultra mode, both values are set automatically based on current network conditions. In manual mode, you control them directly.
Setting slippage tolerance too high in manual mode can result in unfavorable execution prices. Setting it too low can cause transactions to fail. If you are unsure, use Ultra mode — it adjusts these parameters automatically.
***
Understand the risks of trading on Spot.
All the data available when you open a token.
# What is Jupiter Spot?
Source: https://docs.jup.ag/user-docs/trade/spot/index
Jupiter Spot: instant token swaps on Solana with best-in-class execution, limit and DCA orders, token discovery, charts, and pro trading tools.
Jupiter Spot is Jupiter's spot trading product on Solana: exchange any token instantly with best-in-class execution, plus the data and tools to discover, analyze, and trade actively — all in one interface. It combines real-time token discovery feeds, detailed token pages, charting, wallet tracking, and configurable trade settings in a single workspace.
Spot is available at [jup.ag/spot](https://jup.ag/spot).
Step-by-step walkthrough on Jupiter Academy. Covers swap basics, modes, and best practices.
## How it works
Jupiter scans liquidity pools in real time (Meteora, Raydium, Humidifi, and >100 other liquidity sources), splits the transaction if necessary, and optimizes the route to achieve the best overall execution — balancing price, speed, and success rate. See [How tokens are listed and routed](/user-docs/trade/spot/token-page#how-tokens-are-listed-and-routed) for details on listing requirements and supported AMMs.
## Trading modes
Spot has two execution modes:
| | [Ultra Mode](/user-docs/trade/spot/ultra-mode) | [Manual Mode](/user-docs/trade/spot/manual-mode) |
| ------------------------------------- | ---------------------------------------------- | ------------------------------------------------ |
| **Slippage** | Auto (via RTSE) | Custom |
| **Transaction Broadcasting** | Automatic | Custom |
| MEV **Protection** | Best in class | None |
| **Priority Fees** | Auto (ensures high success without overpaying) | Custom |
| **Gasless Swaps** | Available for most tokens | None |
| AMM **Exclusion** | Auto | Custom |
Spot also supports automated order types:
Set a target price or market cap and let Jupiter execute your trade automatically when the condition is met.
Spread your purchases over time using dollar-cost averaging (DCA) with automated trades at regular intervals.
If you are unsure which settings to use, stick with Ultra mode — it handles slippage, priority fees, and MEV protection automatically based on current network conditions. See [Fees](/user-docs/trade/spot/fees) and [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations) for details.
## Interface modes
Spot offers two interface modes. Both execute swaps identically — the difference is purely in the layout. You can switch between them in **Settings → Spot → Trading Mode** (gear icon in the top navigation bar).
For all traders: the classic Jupiter UX with a simple swap widget. Cleaner layout, less information density, and a straightforward swap flow. Uses Ultra only. Suited for users who want a readable, uncluttered experience or who are new to Spot.
One-click trading: a pro UX with a compact trade widget, manual presets, and more real-time data visible at once. Designed for users who trade frequently — especially on volatile tokens — and need to adjust parameters quickly between transactions.
For one-click trading in Trench mode, use [Jupiter Wallet](/user-docs/manage/extension-wallet) and enable [Auto-Approve](/user-docs/manage/extension-wallet/settings#auto-approve).
## Settings
The Settings panel (gear icon in the top navigation bar) lets you configure how Spot behaves. It is organised into three tabs — **General**, **Spot**, and **Portfolio**:
* **Default Currency** — set the currency used to display values (e.g. SOL, USD)
* **Preferred Explorer** — choose the block explorer used for transaction links (e.g. Solscan)
* **Number Format** — switch between local format (e.g. 12,345.67) and abbreviated (e.g. 12.35k)
* **Show Top Token Bar** — toggle the top bar showing Watchlist, Positions, and Recent tokens
* **Show support bubble** — toggle the floating help and feedback button
* **RPC Endpoint** — choose between **Jupiter RPC** (marked Beta), **Triton RPC Pool 1** and **2**, **Helius RPC 1**, or a custom RPC. Latency is displayed for each option.
* **Trading Mode** — switch between Classic and Trench mode
* **Sound Alerts** — toggle the trading sound, set notification volume (default 50%), and choose the Buy and Sell sound effects
* **Currency** — currency used for portfolio values (USD or SOL)
* **Hide positions** — show or hide certain positions (e.g. dust, all)
* **Health mode** — display health-related metrics (e.g. Ratio)
* **Holdings PnL** — time range for PnL calculation (e.g. All time)
## Supported wallets
Jupiter works best with the [Jupiter Wallet](https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh), available on desktop as a [browser extension](/user-docs/manage/extension-wallet) and on [mobile](https://jup.ag/mobile).
Jupiter also supports all major Solana-native web extension wallets such as Phantom and Backpack, along with hardware wallets like Ledger and Trezor. The Jupiter Mobile app can be paired with the web interface via the **Magic Scan** feature.
### Quick Accounts
Jupiter Quick Accounts are embedded wallets powered by [Privy](https://www.privy.io/). They let you log in with social accounts (Discord, Google, email, etc.) or an existing crypto wallet, without needing a seed phrase. In the **Connect** menu on [jup.ag](https://jup.ag/), this option appears as **Jupiter ID** (Email or Social Login), alongside Jupiter Wallet, Jupiter Mobile (QR code), and the supported external wallets. Quick Accounts are:
* **Signless** — trades execute instantly without approving every transaction.
* **Non-custodial** — you retain full control. Your private key can be exported at any time.
Store your private key securely. Anyone with access to it has full control over your wallet and funds.
## Portfolio & Activity
The **Portfolio drawer** (top right on [jup.ag](https://jup.ag/)) displays your holdings and activity across Jupiter products (Spot, Perps, Lend, etc.).
* **PnL (Profit and Loss) Analysis** — available in [Jupiter Portfolio](https://jup.ag/portfolio) under the Spot tab, or on individual token pages under the token chart. See [Positions](/user-docs/trade/spot/positions).
* **Swap history** — available in the Portfolio drawer under the **Activity** tab.
For a broader view of your positions across multiple Solana protocols, use [Jupiter Portfolio](https://jup.ag/portfolio).
## After-swap suggestions
After you complete a swap on the [jup.ag](https://jup.ag/) homepage or the swap page, the confirmation toast may show up to two suggested tokens related to the token you received (suggestions do not appear for swaps made from token pages). They are based on co-trading patterns — tokens that wallets holding your output token tend to trade next — weighted toward recent activity and updated daily. Only verified tokens are eligible, a blocklist filters out problematic tokens, and suggestions are global (the same for all users, not based on your wallet or history). Clicking a suggestion opens that token's page.
Suggestions are statistical patterns, not endorsements or financial advice. Always do your own research before trading a suggested token.
## Rent Reclaim
When you interact with tokens on Solana, your wallet pays **rent** — a small SOL deposit required to keep token accounts open onchain. Over time, unused token accounts (e.g. from tokens you no longer hold) can accumulate, locking small amounts of SOL.
Rent Reclaim lets you close these empty accounts and recover the locked SOL. It is available at three locations on jup.ag:
* **Homepage** — below the portfolio widget, visible only if you have 10 or more reclaimable accounts
* **Wallet side drawer** — accessible from your wallet panel
* **My Positions toolbar** — on token pages
**Known limitations:**
* If you dismiss the Rent Reclaim notification on the homepage, the prompt will no longer appear there. You can still access Rent Reclaim from the wallet side drawer or the My Positions toolbar on token pages.
* Rent Reclaim is currently not compatible with Trust Wallet's in-app browser. If you use Trust Wallet, try accessing jup.ag through a different browser instead.
## Changelog
All product updates are published at [jup.ag/updates](https://jup.ag/updates).
***
## Explore Spot
At-a-glance market overview — news, movers, and category dominance.
Browse tokens by category using curated feeds and filters.
Real-time feed of new token launches across Solana.
Follow wallets and see what notable traders are buying.
Save tokens and track them with market data and curated news.
Cross-launchpad analysis and Runner criteria.
Market data, safety indicators, charts, and trading tools for any token.
Your portfolio performance, PnL, and trading history.
Trade onchain tokenized equities, with issuer and risk details.
# Launchpad Screener & Runners
Source: https://docs.jup.ag/user-docs/trade/spot/launchpad-screener-and-runners
How the Launchpad Screener works on Jupiter Spot, including Runner criteria and launchpad listing.
The [Launchpad Screener](https://jup.ag/spot/launchpads) provides real-time analysis of tokens launched across major Solana launchpads. It aggregates data from multiple launchpads into a single view, with trading volume comparison and an overview of top-performing tokens.
## What the screener shows
The Launchpad Screener displays tokens from supported launchpads with:
* Token name, age, and launchpad of origin
* Trading volume and volume comparison across launchpads
* Market cap, liquidity, and holder count
* Bonding curve status (pre-migration vs migrated)
You can use the same filters available in other Discover tabs (market cap, volume, holders, liquidity, token age, etc.) to narrow results.
## Launchpad Runners
[Runners](https://jup.ag/spot/launchpads?view=runners) are tokens that meet specific performance criteria within 24 hours of their launch. The Runner designation highlights tokens that have gained traction quickly based on measurable onchain metrics.
### Runner criteria
To be classified as a Runner, a token must meet **all** of the following thresholds **at the end of a 24-hour window starting from its launch**:
| Metric | Threshold |
| ------------- | ------------- |
| Market Cap | ≥ \$1,000,000 |
| Liquidity | ≥ \$100,000 |
| Holders | ≥ 1,000 |
| Organic Score | ≥ 75.0 |
All criteria are evaluated at the end of the 24-hour window. If any metric is below its threshold at that point, the token does not qualify as a Runner.
The Organic Score estimates how much of a token's activity (holders, trading volume, liquidity) comes from genuine users rather than bots or artificial activity. It is calculated by [Jupiter VRFD](/user-docs/launch/vrfd).
An Organic Score of 75.0 or above is the threshold for Runner classification. For more details on how the score is computed, see the VRFD documentation.
Runner status indicates that a token met specific metric thresholds shortly after launch. It does not mean the token is safe, legitimate, or likely to maintain its performance. Tokens can meet Runner criteria and still lose value rapidly. See [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations).
## Listing a launchpad on the screener
The Launchpad Screener covers major Solana launchpads. Jupiter is expanding coverage over time, but is not currently adding custom launchpads in the near term due to a large integration backlog.
### Supported launchpad technology
Currently, Jupiter provides out-of-the-box support for launchpads built on **Meteora DBC** (Dynamic Bonding Curves). If your launchpad uses Meteora DBC, Jupiter can offer:
* Routing through Jupiter and access via 100+ partners using Jupiter's API
* Real-time indexing with individual token pages
* AlphaScan support and a dedicated screener page
### How to request listing
If you have launched a launchpad built on Meteora DBC, contact the Jupiter team at [support.jup.ag](https://support.jup.ag) to request listing.
Launchpads not built on Meteora DBC are not currently supported for integration. This may change in the future.
***
Browse tokens by category and apply filters.
Real-time feed of new token launches.
# Jupiter Limit Orders
Source: https://docs.jup.ag/user-docs/trade/spot/limit-orders
Set the exact price to buy or sell any Solana token with Jupiter Limit Orders: how they work, how they differ from a CLOB, and Limit Order V2 vs V1.
Jupiter Limit Orders let you choose the price at which you want to buy or sell a token. Instead of executing at the current market price (like a market swap), a limit order waits until your specified price level is reached before executing.
* **Market price** is the current trading price of the token.
* **Limit price** is your specified target for order execution.
If your limit price is significantly higher than the current market price, a regular market swap may be more appropriate.
Jupiter Limit Orders differ from a traditional Central Limit Order Book (CLOB). CLOBs match buyers and sellers directly and require dedicated market makers. Jupiter Limit Orders instead execute against onchain liquidity from multiple decentralised exchanges (DEXes), offering broader token coverage but with different execution behaviour.
Jupiter currently offers two versions: **Limit Order V2** (the current version) and **Limit Order V1** (legacy, being sunset).
**Limit Order V1 is being sunset.** New V1 orders can no longer be created. Use [Limit Order V2](#limit-order-v2) for all new orders.
## V1 vs V2
| | Limit Order V1 | Limit Order V2 |
| ----------------------------- | --------------------------------- | ------------------------------------------------------------ |
| **Trigger type** | Pool rate between the two tokens | Token's USD price or market cap |
| **Output amount** | Guaranteed (follows pool pricing) | Not guaranteed (prioritises execution with minimal slippage) |
| **Orders below market price** | Not supported | Supported (Buy Below) |
| **Take Profit / Stop Loss** | Not supported | Supported (including both on the same position) |
| **Trailing Stop Loss** | Not supported | Supported |
| **Edit an order** | Must cancel and create a new one | Can edit in place |
| **Partial fills** | Supported | Supported |
| **Fees** | 0.1% flat | 0.03–0.1% base + Ultra routing fee (0–0.5%) |
## Limit Order V2
The sections below describe Limit Order V2, the current version. For the legacy version, see [Limit Order V1](#limit-order-v1) at the end of this page.
### How it works
In Limit V2, orders are triggered based on the token's USD price or market cap. When the desired price level is reached, the order is executed using available liquidity.
When you place an order, your selling tokens are moved into an intermediate vault (a secure program-owned account that holds your tokens while the order is active).
While an order is active, those tokens are held by the vault address rather than by your wallet, and the vault is program-owned, so there is no private key for it. Anything that reads wallet balances directly, such as a third-party airdrop snapshot, may therefore not count them. Each project sets its own snapshot rules, so take this into account before leaving an order open.
Jupiter continuously monitors market prices to check if your trigger condition has been met. Once the trigger is reached, a keeper (an automated bot that monitors and executes orders on your behalf) executes the trade through [Jupiter Ultra](/user-docs/trade/spot/ultra-mode), which searches for the best available route across supported liquidity sources.
Because execution happens at the moment the trigger is reached, the final amount you receive may differ from the estimate shown during order creation. The exact output amount is not guaranteed: V2 prioritises executing the order with minimal slippage when the price trigger is hit.
V2 triggers track a token's **USD price**, not the exchange rate between the two tokens in your order. Because of this, the amount of the other token you spend or receive can move with that token's own price between order creation and execution. For example, if you place a USD-price trigger to sell a token for SOL and SOL's price changes before the trigger is hit, the amount of SOL you receive can differ from the estimate shown when you created the order.
### Order types
Limit V2 groups several order types under one form. Pick one from the **Order Type** dropdown at the top of the form; the **Switch order types** control moves between them without losing your inputs.
Buy or sell at a fixed target price.
Two sell orders at different prices; the first to trigger cancels the other.
Buy in, then automatically arm a Take Profit and Stop Loss on the filled position.
Sell when the price falls a set percentage below its peak.
Buy Below and Buy Above triggers are described under [Trigger types](#trigger-types). OCO and OTOCO are covered under [Take Profit and Stop Loss](#take-profit-and-stop-loss); Trailing Stop Loss has its [own section](#trailing-stop-loss) below.
### Trigger types
* **Buy Below**: triggers when the token price or market cap goes below your set level.
* **Buy Above**: triggers when the token price or market cap goes above your set level.
Triggers can be based on either the token's USD price or its market cap.
### Slippage
Slippage tolerance controls how much the execution price can move from your trigger price during execution. Limit Orders are executed using Jupiter Ultra, which applies a small amount of slippage by default to improve execution success. This can be adjusted manually, or set to 0% to execute only at the exact trigger price.
### Order expiry
Each Limit V2 order has an expiry, chosen when you place the order: **1 hour, 1 day, 1 week (the default), 30 days, or a custom date**. (In [Jupiter Wallet](/user-docs/manage/extension-wallet/swapping#limit-and-recurring-orders), the presets range from 10 minutes to 30 days.) If the trigger condition is not reached before expiry, the order is cancelled automatically and the locked tokens are returned to your wallet.
### Partial fills
Orders may execute partially depending on available liquidity. If an order executes partially, the filled portion is settled immediately. The remaining amount stays active and continues waiting for execution until it is fully filled, cancelled, or expires.
### Managing orders
Open and past orders can be viewed from the Limit page on [jup.ag/limit](https://jup.ag/limit) or from the Portfolio sidebar under the **Limit** tab. Orders can be edited or cancelled from either location.
A cancelled order can enter a **Pending Withdraw** state instead of returning funds automatically (seen mostly when cancelling from the mobile app). Open the Limit page on the web app ([jup.ag/limit](https://jup.ag/limit)) and withdraw the funds manually from there. If nothing shows as pending and the funds are still missing, contact [support](https://support.jup.ag/).
### Take Profit and Stop Loss
Take Profit and Stop Loss let you automate exits from a position based on price levels. On Limit V2, these are set using the same trigger system as regular Limit orders.
* **Take Profit**: a sell order that triggers when the price rises above your target.
* **Stop Loss**: a sell order that triggers when the price falls below your stop level.
The Take Profit and Stop Loss described here are fixed-price triggers: the level stays where you set it. Stop Loss can also be set as a [Trailing Stop Loss](#trailing-stop-loss), where the trigger follows the price up. Trailing Take Profit is not supported.
**Stop Loss is not guaranteed to execute.** When the trigger price is hit, the order is submitted for execution with your slippage tolerance applied. If the price moves past your Stop Loss trigger faster than the order can execute, or if liquidity is insufficient to fill the order within your slippage tolerance, the order will not fill. This is especially common with low-liquidity tokens such as new memecoins or tokens that have been rugged.
**How they work**
When you set a Take Profit or Stop Loss, the exit condition is attached to the entry order. If the entry order triggers and executes:
The bought tokens are automatically used to create the exit order.
These tokens remain in the vault instead of being sent to your wallet.
The exit order stays active until it triggers, is cancelled, or expires.
Because of this, you may not see the bought tokens in your wallet immediately after the entry executes. If you cancel the order while the exit condition is still active, the locked tokens are returned to your wallet.
**On tokens you already hold (OCO)**
If you already hold a token, you can place a One Cancels Other (OCO): a Take Profit sell above the market and a Stop Loss sell below it, submitted as a single pair. Whichever price is hit first executes and automatically cancels the other. This is the exit pair on its own, with no entry order.
**Using both together (OTOCO)**
You can set both a Take Profit and a Stop Loss on the same entry order. This creates a two-leg structure:
1. **First leg (entry)**: your entry order (e.g. buy SOL below \$X). This cannot be an OCO itself.
2. **Second leg (OCO exit)**: once the entry is fully filled, the bought tokens are used to create both exit orders (Take Profit and Stop Loss). These form an OCO pair: whichever exit condition triggers first cancels the other automatically. An OCO may partially fill a Take Profit if there isn't enough liquidity.
This full flow is known as OTOCO (One Triggers the Other, One Cancels the Other): the entry order triggers the OCO exit pair.
OTOCO is the full flow: entry triggers exit. OCO is just the exit pair (Take Profit + Stop Loss). The first leg of an OTOCO cannot be an OCO itself.
### Trailing Stop Loss
A Trailing Stop Loss is a Stop Loss whose trigger moves on its own. A fixed Stop Loss stays wherever you last set it. A trailing Stop Loss follows the price up as the market climbs and holds its level when the price falls, so it only ever moves in your favour.
You do not set a stop price. You set a **stop distance** as a percentage. Jupiter tracks the highest price the token reaches after the order is activated (its peak) and keeps the trigger that distance below the peak. Each new high lifts the peak, and the trigger rises with it. When the price pulls back, the trigger stays where it is. The initial trigger is placed relative to the market price at the moment you create the order.
**Fixed vs trailing**
Consider a position entered at \$80 with a 10% stop, where the price climbs to \$120 before reversing:
| | Fixed Stop Loss | Trailing Stop Loss (10%) |
| ------------------------ | --------------- | ------------------------ |
| Set at \$80 | Trigger at \$72 | Trigger at \$72 |
| Price climbs to \$120 | Still \$72 | Trails up to \$108 |
| Price reverses, you exit | Sell at \$72 | Sell at \$108 |
| Result | -10% | +35% |
A trailing stop does not capture the exact top: you give back the trail distance by design (here, \$120 less 10% leaves \$108). It turns a stop from pure loss protection into a way to hold on to gains on a move that would otherwise round-trip.
**Setting the trail distance**
The trail distance is the main lever. It is set with a slider, from **0.5% to 90%**, defaulting to **10%**.
* A **tighter** trail (closer to 0.5%) locks in nearer the high, but ordinary volatility can knock it out early.
* A **wider** trail (up to 90%) rides through short-term noise, but concedes more when the price reverses.
There is no single correct value. It depends on how much movement you are willing to sit through before the order acts.
**Slippage on a trailing stop**
Slippage is a second lever, paired with the trail. It sets a lower bound beneath the trigger for execution:
* Too tight, and a fast drop can outrun it, leaving the order unfilled.
* Too wide, and the order may fill well below where the trail meant to sell.
Triggering is not the same as executing. When the stop fires, the order still runs through the usual price and slippage checks before it fills, exactly like any other Limit V2 order, so the exact fill price can differ from the trigger. The order may not fill at all if the price moves faster than execution or if liquidity is insufficient within your slippage tolerance. This is especially common on low-liquidity tokens.
In the form, a trailing stop appears as **Trailing Sell when \[token]**: you allocate the token to sell, choose the token to receive, and the trail follows the price of the token you are selling. That token cannot be a stablecoin, because a pegged price has no meaningful peak to trail; choosing one shows a **Trigger mint is not supported** message. You can open a trailing stop directly at [jup.ag/?tab=limit\&type=tsl](https://jup.ag/?tab=limit\&type=tsl), and the trail can track the token's USD price or its market cap.
### Fees
Limit V2 orders apply the following fees during execution:
| Fee type | Rate |
| --------------------------------- | ------------------------------------------------------- |
| Base fee (stable or pegged pairs) | 0.03% |
| Base fee (all other pairs) | 0.1% |
| Ultra routing fee | 0–0.5%, depending on token pair and execution mechanism |
Fees are deducted automatically when the order executes.
### Privacy and MEV protection
Jupiter implements several protections to reduce the risk of MEV (Maximal Extractable Value) and frontrunning on Limit V2 orders. While MEV cannot be fully eliminated on any blockchain, these measures make attacks harder and less profitable:
* **Price checks before execution**: if the price is unfavourable at execution, your order will not be filled. It remains active and attempts to execute again when the price matches your trigger.
* **Ultra routing**: includes built-in MEV protection.
* **Order privacy**: pending orders are not visible via watch-only wallets. Order details are not directly tied to the user's primary wallet onchain, making them harder to target by bots.
### Limitations
Token-2022 standard tokens with transfer tax features are not supported on Limit Orders V2. This limitation exists because these token types allow creators to modify transfer tax rates at their discretion, which could lead to unexpected execution results and cause users to receive fewer tokens than expected.
## Limit Order V1
**Limit Order V1 is being sunset.** New V1 orders can no longer be created. Use [Limit Order V2](#limit-order-v2) instead, which supports USD price and market cap triggers, Take Profit and Stop Loss, OCO bundles, and Trailing Stop Loss.
Existing V1 orders remain viewable on web at [jup.ag/limit](https://jup.ag/limit) (with **Show History** toggled to see Open and Past Orders) and in Jupiter Mobile.
**How it works**
In Limit V1, the trigger price is based on the pool rate between the two tokens you are trading (not the token's USD price or market cap).
When you place an order, your selling tokens are locked until the order is executed or cancelled. Jupiter continuously monitors market prices. When the trigger price is reached, a keeper executes the trade on your behalf, and the bought tokens (minus fees) are sent to your wallet.
On Limit V1, the output amount is guaranteed because it follows pool pricing directly. However, the order may not execute if the market moves too quickly. Limit V1 supports partial fills.
**Parameters**
| Parameter | Description |
| --------------- | ------------------------------------------------------------- |
| **Token pair** | Sell side and buy side tokens |
| **Amount** | Amount of tokens to sell |
| **Limit price** | Target price based on pool rate between the two tokens |
| **Expiry time** | How long the order stays active before automatic cancellation |
On Limit V1, you cannot set orders below the current market price. Take Profit and Stop Loss are not available; both are supported on Limit V2.
**Managing orders**
Open and past orders can be viewed from the Limit page on [jup.ag/limit](https://jup.ag/limit) (under the **Open Orders** or **Past Orders** tabs) or from the Portfolio sidebar under **Limit → V1**. To modify an order on V1, you must cancel it and create a new one; in-place editing is only available on V2.
**Fees**
A flat **0.1% fee** applies to all Limit V1 orders. This fee is charged only when the order is successfully executed.
**MEV protection**
Limit Orders V1 include protections to reduce the risk of MEV frontrunning: price checks before execution ensure the order is still valid and fair at execution time, and automatic cancellation removes the order if the price moves beyond the acceptable range. While MEV cannot be fully eliminated on any blockchain, these measures make frontrunning more difficult and less profitable.
**Limitations**
Token-2022 standard tokens with transfer tax features are not supported on Limit Orders V1.
# Manual Mode
Source: https://docs.jup.ag/user-docs/trade/spot/manual-mode
Full control over slippage, transaction fees, and routing on Jupiter.
## Overview
Manual Mode gives you full control over your trade settings on Jupiter. Unlike Ultra Mode, which handles everything automatically, Manual Mode lets you configure slippage, transaction fees, and routing yourself.
To switch, open the swap settings (gear icon on the swap panel) and select **Manual** in the Swap Settings dialog (the toggle shows **Ultra V3** and **Manual**).
Manual Mode does not charge any Jupiter commission. You only pay Solana network fees and, if applicable, Jito tips. Pricing is aggregated through **JupiterZ** and **Metis** for the best rates.
Manual Mode does not include MEV (Maximal Extractable Value) protection. Transactions executed in Manual Mode fall outside Jupiter's supported execution model: as the interface warns when you switch, Manual Mode has **no refunds and no support**, and its transactions **do not count toward incentive campaigns**. If MEV protection is important to you, use [Ultra Mode](/user-docs/trade/spot/ultra-mode).
## Settings
### Max Slippage
Set the maximum slippage tolerance for your swaps: pick a preset (**0.5%** or **1%**) or enter a custom percentage. Slippage in Manual Mode is always the fixed value you set; automatic slippage estimation (RTSE) is an [Ultra Mode](/user-docs/trade/spot/ultra-mode) feature.
### Transaction Landing
Transaction Landing controls the fees attached to your transaction to get it included in a block. Two fee modes are available:
* **Max Cap** — A dynamically estimated maximum fee based on your trade size.
* **Exact Fee** — Specify an exact fee amount for your transaction.
Below the fee mode, two independent toggles choose how the transaction is sent, each with its own SOL amount:
* **Priority Fee** — Sends via a standard RPC with a Priority Fee to speed up block inclusion.
* **Jito Tip** — Sends via a Jito RPC with a Jito tip. Both toggles can be enabled at the same time to send via both methods.
If your transaction is processed through a standard RPC, only the Priority Fee is paid. If processed through Jito validators, both the Priority Fee and the Jito tip are paid.
### Routing
* **Use wSOL** — Wrapped SOL (wSOL) makes frequent SOL trades faster by avoiding the need to wrap/unwrap tokens manually.
* **Routers** — Enable or disable Jupiter's routers, **Metis** and **JupiterZ** (see below). At least one router must remain enabled.
* **AMM sources** — Enable or disable individual AMMs (Automated Market Makers) as routing sources, out of the 100+ supported.
## JupiterZ
JupiterZ is an RFQ (Request For Quote) system that enables market makers to provide competitive quotes for top token pairs. It allows users to receive the best possible execution price available from both onchain and off-chain liquidity at the moment they wish to trade.
JupiterZ is used as a liquidity source in both Ultra Mode and Manual Mode.
## Metis
Metis is a DEX aggregation engine originally built by Jupiter and launched in 2023. It is a sophisticated onchain liquidity aggregator designed to find the most efficient trade route for any token pair by factoring in price, slippage, and the difference between quoted and executed prices across multiple DEXes (Decentralized Exchanges).
In 2025, Jupiter released **Metis v1.6**, which introduced more advanced route splitting and expanded support for a wider range of intermediate tokens.
Metis is now a standalone, open-source project. For more details, see the [Metis documentation](https://metis.builders/).
# Positions
Source: https://docs.jup.ag/user-docs/trade/spot/positions
Track your portfolio performance, PnL, and trading history on Jupiter Spot.
The Positions view gives you a complete overview of your Spot trading performance across all tokens. It now lives in [Jupiter Portfolio](/user-docs/manage/portfolio), under the **Spot** tab: open **Portfolio**, select your wallet, then **Spot**. The former Positions tab in the Spot interface and the old `jup.ag/watch/positions` address both point there now.
At the top, the page displays your connected wallet's address, SOL and USDC balances, and total number of tokens held. You can filter all data by time period: **1d**, **7d**, **30d**, or **All**.
## Dashboard
* **Holdings** — Total current USD value of all tokens you hold
* **Unrealised PnL** — Profit or loss on tokens you still hold
* **Win Rate** — Percentage of trades that were profitable
* **Realised PnL** — Profit or loss from tokens already sold
* **Total PnL** — Combined unrealised and realised profit or loss
A **Share** button lets you export your summary as a shareable image.
A line chart showing the trend of your realised PnL over the selected time period.
The PnL Calendar is a monthly calendar view of your daily trading performance, displaying up to 2 months. It shows your profit or loss for each day (green for profit, red for loss), total monthly PnL with a visual win/loss bar, and your longest and current win streaks.
The PnL Calendar is accessible from two places:
* The **Portfolio Spot tab** (via the PnL Calendar button in the Realised PnL panel)
* The **trader modal** on any token page (click on a trader's address in the tabs below the chart). The modal opens on a compact PnL overview: PnL, holdings, win rate, volume, and top trades.
You can navigate between months and toggle between USD and SOL denomination. Daily and monthly PnL cards can be exported as shareable images via the **Share** button.
Visual breakdown of your positions by PnL performance: > 500%, 200%–500%, 50%–200%, 0%–50%, and \< -50%. Each range shows the count and rate (percentage of your total positions). A color-coded bar shows the overall distribution at a glance.
Compare your Win Rate with the Distribution panel to understand your trading patterns. A high win rate with most positions in the 0%–50% range and a few large losses in the \< -50% range tells a different story than a low win rate with concentrated gains above 200%.
## Positions table
Below the dashboard, a detailed table lists your individual token positions. The table has four sub-tabs:
| Sub-tab | What it shows |
| -------------- | ---------------------------------------------------------- |
| **Recent** | Tokens you traded most recently, sorted by last trade date |
| **Holdings** | Tokens you currently hold (non-zero balance) |
| **Profitable** | Tokens sorted by highest total PnL |
| **Activity** | Full transaction history |
Each row in the table displays:
| Field | Description |
| ---------------- | -------------------------------------------------------------------- |
| **Last Traded** | Token name and time since your last trade |
| **Unrealised** | Unrealised PnL in USD and percentage |
| **Realised** | Realised PnL in USD and percentage, or "Holding" / "Sold all" status |
| **Total PnL** | Combined PnL in USD and percentage |
| **Holding** | Current token balance and its USD value |
| **Bought / Avg** | Total amount spent and average buy price |
| **Sold / Avg** | Total amount received and average sell price |
| **Position %** | Percentage of your original position still held |
You can toggle between **Price** and **USD** denomination using the controls in the top-right of the table.
The Positions view reflects onchain data for the selected wallet. Data updates periodically — the last update time is displayed at the top of the page.
You can also view your position for a specific token directly from its [token page](/user-docs/trade/spot/token-page), under the My Positions tab.
***
View position details for a specific token.
Save tokens and track them with curated news.
# Pulse
Source: https://docs.jup.ag/user-docs/trade/spot/pulse
Pulse is Jupiter Spot's at-a-glance market overview — a macro market summary, spotlight tokens, featured token lists, and category dominance.
Pulse is in **Beta**. Its layout and data are still evolving, so the interface may change.
Pulse is the at-a-glance market overview in Jupiter Spot. It surfaces what's moving right now — a short macro summary, spotlight tokens, popular and trending tokens, what notable wallets are buying, and how different sectors are performing — so you can scan the market before diving into a token.
## Market Pulse
Market Pulse is an AI-generated snapshot of the market: a short macro summary with its timestamp, followed by **Spotlight**, a row of notable tokens with their price change.
Market Pulse is AI-generated and may contain inaccuracies. It is not financial advice — always do your own research.
## Popular
Below Market Pulse, Pulse surfaces the **Popular** list — tokens reflecting recent interest across Jupiter — with a **View all** link to the full [Popular tab in Discover](/user-docs/trade/spot/discover#discovery-tabs).
## Featured token lists
Pulse also highlights tokens across a few curated cards:
| Card | What it shows |
| ------------------- | ------------------------------------------------------------------------------------------------- |
| **Trending** | Tokens most bought in the past 24 hours with positive momentum |
| **Stocks** | Tokenized stocks, filterable (e.g. All), with price and change |
| **SmartMoney Buys** | Tokens that tracked smart-money wallets are buying, with the number of traders and total buy size |
Each card links through to the relevant [Discover](/user-docs/trade/spot/discover) tab or to [SmartMoney](/user-docs/trade/spot/smart-money) for the full list.
## Market Dominance
The Market Dominance treemap shows how value and performance are distributed across token categories — such as **Stocks**, **Memes**, **DeFi**, and **Infra**. Each tile represents a token within its category, sized by relative weight and colour-coded by price change (red for negative, green for positive), with a timestamp for the snapshot.
***
Curated feeds, screeners, and filters to find tokens.
See what notable and profitable wallets are trading.
# DCA Orders
Source: https://docs.jup.ag/user-docs/trade/spot/recurring-orders
Automatically spread your purchases over time using dollar-cost averaging.
DCA (Dollar-Cost Averaging) orders let you automatically spread your purchases over time. Instead of buying a token all at once, you split a total amount into multiple smaller trades (suborders) that execute at regular intervals.
This feature was previously labelled **Recurring** on the web interface; it now appears as **DCA** across the swap form, token pages, orders, and Activity. Jupiter Mobile still labels it **Recurring**.
Your selling tokens are held in a program-owned vault (a secure onchain account that holds your tokens while the order is active), and suborders execute according to your specifications. Purchased tokens are automatically sent to your wallet after each successful suborder.
Jupiter currently offers two versions: **DCA V1** (formerly Recurring V1) and **DCA V2**.
**DCA V1 (formerly Recurring V1) is being sunset.** New V1 orders can no longer be created. We recommend using [DCA V2](#dca-v2) for all new orders.
## V1 vs V2
| | DCA V1 | DCA V2 |
| ------------------------ | ------------------------------------------------ | ---------------------------------------------------------------------------- |
| **Execution mode** | Time-based only | Time-based or price conditional |
| **Price range** | Not supported | Optional USD price range on trigger token |
| **Fees** | 0.1% flat | Ultra routing fee (0–0.5%) + base fee (0.03–0.1% depending on pair category) |
| **Vault authentication** | Not required | Wallet signature required to place or view orders |
| **Order history** | Limited | Full history with status updates per suborder |
| **Expiry** | Runs until all suborders are filled or cancelled | Runs until all suborders are filled or cancelled (no expiry) |
## DCA V2
### How It Works
Sign a message or transaction to authorize your DCA vault. This is a one-time step per wallet address, required before placing or viewing orders: your authorisation is remembered across wallet switches, page refreshes, and browser tabs, until you disconnect your wallet. If the wallet's signature prompt stalls, the form shows a timeout message and offers signing by transaction instead.
Your selling tokens (e.g. USDC) are transferred to the vault.
Your first suborder executes immediately.
Remaining suborders follow at your selected frequency. Each suborder executes with a random variance of ±30 seconds to reduce MEV (Maximal Extractable Value) exposure.
Purchased tokens are automatically sent to your wallet after each successful suborder.
**Example:** *If you allocate 900 USDC into SOL over 3 suborders with a daily frequency, 300 USDC suborders execute on Day 1 (immediately), Day 2 (\~24h later), and Day 3.*
#### Pricing
The price for each suborder is calculated at the time of execution based on current market conditions. Slippage is managed automatically per execution: Jupiter sets an acceptable slippage for each suborder from live market conditions, so you receive a minimum acceptable amount of tokens. There is no per-order slippage setting to configure. If the price moves beyond the acceptable slippage, the suborder is reverted to protect your funds and retried at the next interval.
#### Automatic retry
If a suborder fails (due to insufficient liquidity, network congestion, or other reasons), the program automatically retries at the next scheduled interval.
#### Token delivery
After each successful suborder, purchased tokens are automatically transferred to your wallet. This requires you to have the correct ATA (Associated Token Account) for that token.
If you manually close your token's ATA during an active DCA order, new tokens will remain in the vault instead of transferring to your wallet. All accumulated tokens will be sent as a lump sum when the order completes.
### Parameters
When setting up a DCA order on V2, you can specify:
* **Token pair** — Token to allocate (sell side) and token to purchase (buy side)
* **Amount** — Total amount to allocate
* **Frequency** — Interval between suborders (e.g. every minute, hour, day, week)
* **Total suborders** — Number of suborders to split the allocation into
The minimum is $10 USD per suborder. The total minimum allocation scales with the number of suborders (e.g. 2 suborders = $20 minimum, 5 suborders = \$50 minimum).
#### USD Price Range (Optional)
You can optionally set a USD price range on a trigger token. When a price range is set, suborders only execute when the trigger token's price is within your specified min and max. If the price is outside the range at the scheduled time, the suborder is marked as **Out of Range** and rescheduled to the next interval.
Rescheduling continues indefinitely until the price enters the range and the suborder fills successfully. The next suborder is then queued one interval after the successful fill.
Price range is not available for stable-to-stable pairs. For non-stable to stable pairs, the price range is automatically set on the non-stable token.
### Earn Yield While You DCA
DCA V2 orders funded with a supported stablecoin can opt in to earn Jupiter Lend yield on the capital waiting to be filled.
* **Supported input tokens**: USDC, USDT, and JupUSD. The Earn option is hidden for other input tokens.
* **Time-based orders only**: the option is disabled when a USD price range is set on the order.
* **Variable rate**: the form shows the current estimated APY (Annual Percentage Yield) for the selected token. The rate updates automatically with market conditions and is not guaranteed.
When Earn is enabled, your deposit is converted into the token's JL equivalent (the Jupiter Lend receipt token, e.g. jlUSDC) and held in the order vault, where it accrues lending yield. Before each scheduled fill, one instalment is converted back into the stablecoin and used for the swap. Accrued yield is returned to you when the order completes or is cancelled; if the remaining yield is very small, it is folded into the final fill. Conversions between the stablecoin and its JL equivalent carry no fee.
Orders with Earn enabled show a **Yield Earned** (USD) row. For short-lived orders the amount is typically very small: the feature is most relevant for orders spread over longer periods.
While the order is active, the idle capital is held as a Jupiter Lend position rather than the stablecoin itself. This carries the additional risks of the lending protocol on top of the stablecoin's own risks. Yield is variable and not guaranteed.
### Fees
DCA V2 applies the same fee structure as Limit Order V2:
**Base fee:**
* 0.03% for stable or pegged pairs
* 0.1% for all other pairs
**Ultra routing fee:**
* 0–0.5%, depending on the token pair and execution mechanism used
Fees are deducted automatically when each suborder executes.
### Managing Orders
Active and past DCA orders can be viewed from the DCA page on [jup.ag/recurring](https://jup.ag/recurring) or from the Portfolio drawer under **Activity → DCA**. The drawer only shows V2 orders.
Orders can be cancelled from either location. When cancelling, remaining funds are returned to your wallet.
Pausing and resuming DCA orders is not currently supported. To stop, you must cancel the order and create a new one.
### MEV Protection
MEV (Maximal Extractable Value) refers to strategies like frontrunning and sandwich attacks where bots exploit pending transactions. Jupiter has built-in protections against MEV on DCA orders:
* **Randomized timing** — Suborders execute with ±30 second random variance from their scheduled time.
* **Pre-execution price checks** — Ensures fair pricing before completion.
* **Automatic cancellation for unfavorable prices** — Protects you from bad trades.
* **Natural protection through dollar-cost averaging** — Smaller trades over time reduce manipulation risk.
These protections reduce the risk of MEV but do not eliminate it entirely. MEV cannot be fully prevented on any blockchain.
### Limitations
**Token-2022 not supported**\
Token-2022 standard tokens and tokens with transfer tax features are not supported. These token types allow creators to modify transfer tax rates at their discretion, which could lead to unexpected execution results.
**No pause/resume**\
You cannot pause a DCA order. To stop, cancel and create a new one.
## DCA V1 (Legacy)
**DCA V1 (formerly Recurring V1) is being sunset.** New V1 orders can no longer be created. Use [DCA V2](#dca-v2) instead, which supports advanced features including optional USD price ranges, dynamic fees, and full order history.
Existing V1 orders remain viewable on the web at [jup.ag/recurring](https://jup.ag/recurring) via the **Legacy** toggle, and in Jupiter Mobile.
### How It Works
Your selling tokens (e.g. USDC) are transferred to a secure vault.
Your first suborder executes immediately.
Remaining suborders follow at your selected intervals. Each suborder executes with a random variance of ±30 seconds to reduce MEV exposure.
Purchased tokens are automatically sent to your wallet after each successful suborder.
#### Pricing
The price for each suborder is calculated at the time of execution based on current market conditions. Slippage is managed automatically per execution; there is no per-order slippage setting. If the price moves beyond the acceptable slippage, the transaction is reverted.
#### Automatic retry
If a suborder fails, the program automatically retries at the next scheduled interval.
#### Token delivery
After each successful suborder, purchased tokens are automatically transferred to your wallet. This requires you to have the correct ATA (Associated Token Account) for that token.
If you manually close your token's ATA during an active DCA order, new tokens will remain in the vault instead of transferring to your wallet. All accumulated tokens will be sent as a lump sum when the order completes.
### Parameters
When setting up a DCA order on V1, you can customize:
* **Token pair** — Token to allocate (sell side) and token to purchase (buy side)
* **Amount** — Total amount to allocate
* **Frequency** — Interval between suborders (e.g. daily, weekly) and duration
The minimum order amount on V1 is $100, spread over at least 2 suborders ($50 per suborder).
### Order Lifecycle
When your DCA order completes:
* If your token's ATA is open, all remaining tokens are transferred to your wallet.
* If you closed your ATA mid-cycle, the program will use part of the rent to reopen your token account so tokens can be transferred.
* By default, 2/3 of the rent from your DCA account is returned to you. The remaining 1/3 is recoverable if you later close your ATA.
Never close your ATA before withdrawing or swapping your tokens, as this could result in token loss. This is a standard limitation of Solana tokens.
### Fees
Jupiter charges a **flat 0.1% fee** on all DCA V1 orders.
### Managing Orders
V1 orders are viewable on the web at [jup.ag/recurring](https://jup.ag/recurring) via the **Legacy** toggle next to the Limit and DCA selector. They no longer appear in the Portfolio drawer, which only shows V2 orders.
Orders can be cancelled from either location. When cancelling, remaining funds are returned to your wallet.
Pausing and resuming DCA orders is not currently supported. To stop, you must cancel the order and create a new one.
### MEV Protection
* **Randomized timing** — Suborders execute with ±30 second random variance.
* **Pre-execution price checks** — Ensures fair pricing before completion.
* **Automatic cancellation for unfavorable prices** — Protects you from bad trades.
* **Natural protection through dollar-cost averaging** — Smaller trades over time reduce manipulation risk.
These protections reduce the risk of MEV but do not eliminate it entirely. MEV cannot be fully prevented on any blockchain.
### Limitations
* **Token-2022 not supported** — Token-2022 standard tokens and tokens with transfer tax features are not supported.
* **No pause/resume** — You cannot pause a DCA order. To stop, cancel and create a new one.
* **Minimum amount** — \$100 minimum, spread over at least 2 suborders.
* **Price-based orders discontinued** — As of August 31st 2025, price-based orders (formerly known as VA) have been phased out. Active orders at the time of discontinuation were automatically cancelled and all funds returned to wallets.
# Risks and Limitations
Source: https://docs.jup.ag/user-docs/trade/spot/risks-and-limitations
Key risks and limitations to understand when trading on Jupiter Spot.
Jupiter Spot surfaces a wide range of tokens and market data, and lets you trade them directly. This page describes the risks involved. Read it carefully before trading.
## Trading risks
Slippage is the difference between the price you expect and the price you actually get when the trade executes, because market conditions can change between submitting a trade and it landing onchain. In [Ultra Mode](/user-docs/trade/spot/ultra-mode), slippage is managed automatically via RTSE (Real-Time Slippage Estimator). In [Manual Mode](/user-docs/trade/spot/manual-mode), you set your own tolerance — too low increases the chance of failed trades, too high exposes you to worse prices.
Price impact occurs when your trade size is large relative to the available liquidity in a pool — the larger your trade compared to the pool, the more the price moves against you. Jupiter displays the estimated price impact before you confirm; routing across multiple pools helps reduce it. The displayed price impact includes Ultra fees and, for gasless trades, the gasless surcharge.
MEV refers to strategies like front-running and sandwich attacks where bots exploit pending transactions. [Ultra Mode](/user-docs/trade/spot/ultra-mode) includes built-in MEV protection through private transaction submission, which significantly reduces the risk but does not eliminate it — MEV cannot be fully prevented on any blockchain. [Manual Mode](/user-docs/trade/spot/manual-mode) does not include MEV protection.
When using [Ultra Gasless Support](/user-docs/trade/spot/ultra-mode#gasless-trading), Jupiter pays the gas on your behalf, but the cost is deducted from your trade as a surcharge of up to 10%. Gasless is a last-resort mechanism for users who cannot pay gas themselves; paying your own gas generally results in better execution. The surcharge does not apply to swaps routed through JupiterZ, where the market maker covers the gas.
## Token risks
Spot displays tokens as soon as they are tradeable onchain, including tokens that are:
* **Newly launched** — very short history, limited liquidity, and unpredictable price behavior
* **Unverified** — not reviewed through [Jupiter's verification process](/user-docs/launch/vrfd). Unverified does not necessarily mean malicious, but no review has been performed.
* **On a bonding curve** — not yet migrated to a standard liquidity pool (see below); limited liquidity and high price impact per trade.
Because token creation on Solana is permissionless, anyone can create a token with any name or ticker — including fake tokens designed to impersonate legitimate projects. **Always verify the contract address before trading.** Jupiter reduces this risk through verification, activity-based ranking, and filtering of known fake tokens, but these protections do not eliminate it.
Spot indicators — such as holder count, liquidity, organic score, and verification status — are **informational tools, not guarantees of safety**. A token can display favorable metrics and still carry significant risk. Always conduct your own research before trading.
Some tokens launch through a bonding curve mechanism (used by launchpads like Pump.fun and others). In this model, the token's price is determined by a mathematical curve rather than by a traditional liquidity pool.
The **bonding curve percentage** shown on Spot represents how much of the curve has been filled. Once the curve reaches 100%, the token typically migrates to a standard AMM liquidity pool (e.g., on Raydium or Meteora).
Before migration, liquidity is limited to what the bonding curve provides, and price impact on trades can be significantly higher than on established pools.
### Developer authority risks
Some tokens have active developer controls that allow the token creator to take actions that affect all holders:
* **Mint Authority** — if enabled, the developer can create additional tokens at any time, potentially diluting existing holders
* **Freeze Authority** — if enabled, the developer can freeze any token account, preventing the holder from transferring or selling
Spot displays these indicators on token pages. Check them before trading.
### Liquidity removal (rug pulls)
Token creators can remove all liquidity from a pool at any time, making the token untradable and effectively worthless — commonly called a "rug pull." If liquidity falls below Jupiter's minimum requirements, the market is delisted from routing (see [How tokens are listed and routed](/user-docs/trade/spot/token-page#how-tokens-are-listed-and-routed)).
### Jupiter Shield
Jupiter Shield flags potential risks in the trade widget when detected. Examples of warnings include:
| Warning | Meaning |
| ------------------------ | ------------------------------------------------------------------ |
| **Not Verified** | The token is not verified — check the mint address before trading. |
| **Low Organic Activity** | The token has low natural trading activity. |
| **New Listing** | The token was recently listed. |
| **Has Freeze Authority** | The authority owner can freeze your token account. |
| **Has Mint Authority** | The authority owner can mint additional tokens. |
Jupiter continuously improves this system to increase accuracy and add new risk indicators over time.
## Liquidity and price impact
Tokens displayed on Spot vary widely in liquidity. Low-liquidity tokens carry additional risks:
* **High price impact** — your trade itself can move the price significantly
* **Slippage** — the difference between the quoted price and the executed price may be large
* **Difficulty exiting** — selling a large position may not be possible at the expected price, or at all, if liquidity is insufficient
## Wallet tracking and copy trading risks
[SmartMoney](/user-docs/trade/spot/smart-money) lets you follow other wallets and monitor their trades in real time. If you use this information to replicate another wallet's trades:
* **Past performance of any wallet does not predict future results**
* You are executing trades from your own wallet, at your own price — market conditions may have changed between the tracked wallet's trade and yours
* Tracked wallets may have different risk tolerance, time horizons, or information than you
* There is no guarantee that a wallet showing profitable trades is not engaged in manipulative behavior
Following a wallet and replicating its trades is entirely at your own risk. Jupiter does not endorse, verify, or audit any wallet shown in SmartMoney.
## Product-specific risks
### Limit Orders
When the trigger is reached, the order is submitted for execution with your slippage tolerance applied. If the price drops past your Stop Loss trigger by more than your set slippage tolerance, the order will not execute. See [Take Profit and Stop Loss](/user-docs/trade/spot/limit-orders#take-profit-and-stop-loss).
Limit Order V2 prioritizes execution with minimal slippage when the trigger is hit, but the exact output amount may differ from the estimate shown at order creation.
Orders may execute partially if liquidity is insufficient. The remaining amount stays active until fully filled, cancelled, or expired.
Tokens using the Token-2022 standard with transfer tax features are not supported on Limit Orders V1 or V2.
### DCA Orders (Recurring)
Individual suborders can fail due to insufficient liquidity, excessive slippage, or network congestion. Failed suborders automatically retry at the next scheduled interval.
If you manually close your token's Associated Token Account (ATA) during an active DCA order, purchased tokens will remain in the vault instead of being transferred to your wallet. Never close your ATA before withdrawing or swapping your tokens.
Same limitation as Limit Orders — tokens with transfer tax features are not supported.
You cannot pause a DCA order. To stop, you must cancel and create a new one.
## Environment risks
Some browser extensions modify Jupiter's quote responses or inject additional referral fees, resulting in higher-than-expected fees on your trades. These extensions operate independently of Jupiter. If you notice unexpected fees, disable third-party extensions and restart your browser. See the [FAQ](/user-docs/trade/spot/faq#why-am-i-paying-more-fees-on-jupiter-than-expected) for known extensions and detailed steps. [Jupiter Wallet](/user-docs/manage/extension-wallet/security#transaction-protection) filters transfers to known malicious addresses injected this way.
## General limitations
* Spot displays data from onchain sources. This data can be delayed, incomplete, or manipulated.
* Token metadata (name, symbol, description, social links) is provided by the token creator and is not verified by Jupiter unless the token has been through the [verification process](/user-docs/launch/vrfd).
* AI-generated insights (powered by Chain Insights) are automated summaries. They may contain inaccuracies and should not be treated as financial advice.
* Jupiter does not provide financial advice. Nothing displayed on Spot constitutes a recommendation to buy, sell, or hold any token.
***
Understand the fee structure on Spot.
Safety indicators and token data explained.
# SmartMoney
Source: https://docs.jup.ag/user-docs/trade/spot/smart-money
See what notable and profitable wallets are trading on Jupiter Spot — leaderboards, a live trade feed, and followed wallets.
SmartMoney surfaces what notable and profitable wallets are doing on Solana. It is accessible from the **SmartMoney** tab in the Spot interface, and brings together three things: a live feed of notable trades, leaderboards of top traders, and a **Wallet Tracker** for following specific addresses.
## Live Trades
A real-time strip at the top of SmartMoney shows notable trades as they happen. Each entry shows whether it was a **Buy** or **Sell**, the token traded, how many tracked traders were involved, the total size in USD, and how long ago it executed.
## Leaderboards
The main SmartMoney view ranks traders into four categories. Use the **1d / 7d / 30d** selector to change the ranking period. The ⓘ icon next to the category tabs shows these definitions in the app.
| Category | Who it ranks |
| --------------- | ------------------------------------------------------------------------------------ |
| **Influencers** | Wallets associated with well-known crypto personalities on X (rows show the @handle) |
| **Smart** | Wallets with a strong track record of consistent, profitable trading ("smart money") |
| **Top PnL** | Wallets with the highest recent PnL over the selected period |
| **Whales** | Wallets that regularly make large trades |
Each row shows:
| Column | Description |
| ------------ | ------------------------------------------------------------------------------- |
| **#** | Rank within the leaderboard |
| **Trader** | Avatar, name, and linked @handle where available |
| **PnL** | Profit and loss over the selected period |
| **Win Rate** | Percentage of the wallet's trades that were profitable over the selected period |
| **Volume** | Trading volume over the selected period |
| **Active** | How recently the wallet last traded |
| **Actions** | Follow the wallet (heart icon) to add it to your Wallet Tracker |
## Wallet Tracker
The **Wallet Tracker** (open it with the **Wallet Tracker ↗** button) lets you follow specific wallets and monitor their trading activity in real time.
If you are not following any wallets yet, the Tracker suggests top wallets to follow (top influencer wallets by daily PnL, with win rate and volume): follow one directly from the suggestion cards or open the leaderboard. The suggestions stay visible below your list after you start following wallets.
### Adding a wallet
In the Wallet Tracker, enter a wallet address manually or import a list of wallets.
Alternatively, navigate to any [token page](/user-docs/trade/spot/token-page) and open the **Transactions** table. Click on a trader's address to view their PnL analysis. From there, you can choose to follow that wallet. You can also follow any wallet directly from the leaderboards using the heart icon.
Click the **Follow** action. Once followed, the wallet's future trades appear in your live feed and as markers on token charts.
You can also give the wallet a label. Labels are independent from following: labeling a wallet identifies it across the interface, but does not follow it and does not by itself add trades, markers, or notifications.
### Labels, emojis, and avatars
Each wallet has an avatar you can personalise with an emoji. Labels and emojis are edited together in a single **wallet details** dialog, opened from the Tracker, the trader modal, or the trader drawer on a token page; the dialog also shows the full wallet address with a copy action. Labels are kept when you unfollow a wallet, and emojis are kept when you remove a label. The avatar identifies the wallet across the Tracker, the live feed, and chart trade markers.
### Removing a wallet
To unfollow a wallet, click **Follow** again — there is no separate remove action.
### Alerts
Following a wallet includes its trade feed and its trade markers on charts — there are no separate toggles for those. On token charts, repeated trades from the same wallet are grouped by side and candle, with a count badge and aggregated details. **Sound alerts** (audio notifications when a followed wallet trades) remain a separate per-wallet control.
The followed-wallet feed also includes a Quick Buy button, allowing you to buy the same token directly from the feed.
SmartMoney is an observation tool. Following a wallet and replicating its trades is entirely at your own risk. Past activity of a followed wallet does not predict future results. Jupiter does not endorse, verify, or audit any wallet shown. See [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations).
***
Find wallets to follow from the Transactions table.
Your full portfolio and PnL dashboard.
# Token Pages on Jupiter
Source: https://docs.jup.ag/user-docs/trade/spot/token-page
Every tradeable Solana token has a Jupiter token page: live market data, charts, safety indicators, community metrics, and trading tools in one place.
Every tradeable token on Jupiter Spot has a dedicated token page. This page aggregates market data, safety indicators, charts, community metrics, and trading tools in one place.
You can access a token page by clicking on any token in a [discovery tab](/user-docs/trade/spot/discover), or by navigating directly to `jup.ag/tokens/`.
## Page Layouts
Desktop token pages come in two layouts, switched with the chevron on the left edge of the chart:
* **Standard view** (default) — market data in a bar across the top, with the chart taking the main area.
* **Three-column view** — a dedicated left column for market data, stats, and token info, with the chart in the middle.
In both layouts, Quick Swap sits on the right side of the page. A separate control, the screen icon in the token header, switches between the **Normal chart view** and the **Wide chart view**: the wide view hides the trading panel so the chart spans the full width of the page. Your choices are saved for your next visit; new visitors start in Standard view with the normal chart.
## Market data
Each token page displays the following market data:
| Field | Description |
| ---------------------- | --------------------------------------------------------------------------------- |
| **Price** | Current token price, with 24-hour change |
| MC | Total value of all circulating tokens (price × circulating supply) |
| FDV | Theoretical value if all tokens (including non-circulating) were in circulation |
| **Liquidity** | Available liquidity for this token (see Liquidity section below) |
| **Holders** | Number of unique wallets currently holding the token |
| **Fees Paid** | Total fees paid in relation to this token |
| **Org Score** | Organic Score — see [Organic Score](/user-docs/trade/spot/discover#organic-score) |
| **Price Performance** | Price change over 5-minute, 1-hour, 6-hour, and 24-hour periods |
### Growth metrics
Below the price performance, the token page displays percentage changes over recent periods for three key metrics:
* **Vol %Δ** — volume change
* **Liquidity %Δ** — liquidity change
* **Holders %Δ** — holder count change
These help identify whether a token's activity is growing or declining.
## Trading activity
| Field | Description |
| ----------------- | ---------------------------------------------------------- |
| **24h Volume** | Total trading volume in the last 24 hours |
| **Net Volume** | Buy volume minus sell volume over 24 hours |
| **Buy/Sell %** | Proportion of buy vs sell trades over 24 hours |
| **24h Traders** | Number of unique wallets that traded the token in 24 hours |
| **Net Buyers** | Number of buyers minus number of sellers over 24 hours |
| **Net Buy Trend** | Directional trend of net buying activity over 24 hours |
## Token information
| Field | Description |
| -------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Token Name & CA** | Token name and its onchain contract address |
| **DA (Developer Address)** | The wallet address that deployed the token contract |
| **Token Age** | Time since the token was created onchain |
| **Social Links** | Website, X (Twitter), Telegram, and other links if provided by the token creator |
| **Verification Status** | Whether the token has been verified through [Jupiter's verification process](/user-docs/launch/vrfd) |
Social links and token descriptions are provided by the token creator. Jupiter does not verify this information unless the token has been through the VRFD process.
## Liquidity
The liquidity value displayed on a token page is calculated by aggregating liquidity from the **quote side** of trading pairs with a curated set of established bluechip tokens (e.g. SOL, JUP, JLP, jitoSOL, TRUMP, USDC, USDT).
This list is maintained by Jupiter and may change over time.
A token's own liquidity is only included in the calculation if Jupiter considers it an established asset — typically tokens with high market cap and deep liquidity.
## Safety indicators
Token pages display several indicators that help evaluate the token's risk profile. These are informational — they do not guarantee safety.
| Indicator | What it means |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Mint Authority** | Whether the token creator can mint (create) additional tokens. If enabled, supply can increase at any time. |
| **Freeze Authority** | Whether the token creator can freeze token accounts. If enabled, a holder's tokens can be made non-transferable. |
| **Top 10 Holders %** | Percentage of total supply held by the top 10 wallets. High concentration may indicate risk. |
| **Dev Holding %** | Percentage of supply held by the developer wallet. |
| **Dev Bought / Dev Sold (DB / DS)** | Markers on the chart showing when the developer wallet bought or sold the token. The developer wallet is identified as the wallet that deployed the token contract. |
| **Snipers Holding %** | Percentage of supply held by snipers — wallets that bought the token early, within the first three blocks after launch. |
| **Insiders Holding %** | Percentage of supply held by insiders — wallets that bought within the first block after launch, or received the token from another insider. Insider status propagates through transfers: if a first-block buyer sends tokens to another wallet, that recipient also becomes an insider. A green check is shown if insiders hold less than 5%. |
| **Pro Traders %** | Percentage of the token supply held by pro traders. Pro traders are wallets identified as users of professional trading platforms (e.g. Axiom, GMGN, and similar tools). |
| **Dex Paid** | Whether the token creator has paid for a DEX listing or promotion. This is an informational flag — it does not indicate quality or legitimacy. |
| **Bonding Curve %** | How far the token is along its bonding curve before migration. See [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations) for details. |
These indicators help assess a token but do not guarantee it is safe. A token can have no mint authority, no freeze authority, and a distributed holder base and still lose value or be part of a manipulative scheme. Always do your own research.
If a token is flagged as impersonating another token, its token page shows a persistent warning banner with a link to the legitimate asset.
A weaker caution exists for token icons: when another token uses a visually similar icon, the icon carries a small caution badge with a tooltip. This is informational only. It does not indicate which token used the icon first, and it is not a scam verdict. Verified tokens are not flagged, nor are recognised issuer-backed assets (for example tokenized stocks that legitimately share the underlying company's branding); the caution badge only appears on unverified tokens reusing an icon.
## About section
Below the trading activity data, the token page includes an **About** section with:
* **Token description** — provided by the token creator
* **Token Summary** — an AI-generated summary of the token project, powered by Chain Insights. The summary includes the date of its last update and a link to flag inaccuracies on VRFD.
* **Latest News** — an AI-generated summary of recent news for the token, shown separately from the token description, with its age displayed as relative time and a **More** link opening the full news feed (see [Token News](#token-news))
The token description is provided by the token creator and is not verified by Jupiter. The Token Summary is AI-generated and may contain inaccuracies. Neither constitutes financial advice.
## Community metrics
| Field | Description |
| --------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **CT Likes** | Total number of verified X (formerly Twitter) users who have liked the token on Jupiter. "CT" stands for Crypto Twitter. |
| **Smart Likes** | Likes from a curated whitelist of relevant, active Crypto Twitter accounts. |
## Charts
Token pages include interactive charts powered by TradingView.
Available chart controls:
* **Price or Market Cap** display toggle
* **Chart quote** — chart the token against the active **Market pair**, or independently against **USD**, **SOL**, or **another token** of your choice. Chart drawings are saved per base/quote pair.
* **Technical indicators** — volume, spread, moving averages, and others
Market Cap view is always denominated in USD, and the chart shown for Limit and DCA orders stays in USD so order lines remain on the correct scale. Candles for arbitrary token pairs refresh about every 60 seconds and support intervals of 1 minute and above. Charts open on an **Auto** range and interval that adapts to the token's age; once you pick a range or interval manually, your choice is kept for later visits.
### Token News
Token news is built directly into the chart — posts are sourced from X (Twitter) accounts verified by Jupiter.
* **News markers on the chart** — verified posts appear as markers on the chart, next to the price action at the time they were published. Click a marker to read the post (author, timestamp, content, and engagement metrics).
* **Price impact** — each post includes a measured price move since publication (e.g. "+0.8% within \~1h, no unusual move"), so you can see how the market reacted to the news.
* **News drawer** — the **News** button above the chart (or **View token news** on any marker) opens a dedicated drawer with the token's full news feed.
* **News summary** — an AI-generated Latest News summary is displayed in the [About section](#about-section).
Verified posts are sourced from accounts verified by Jupiter. The news summary is AI-generated and may contain inaccuracies. Neither constitutes financial advice.
### Display Options
The **Display Options** menu lets you toggle overlays on the chart:
**Markers**
* **Your Trades** — markers showing your own buy and sell transactions
* **Dev Trades** — DB (Dev Bought) and DS (Dev Sold) markers
* **Tracked Wallet Trades** — trades from wallets you follow via [SmartMoney](/user-docs/trade/spot/smart-money)
* **Migration Marker** — marks when a token migrated from a bonding curve to a liquidity pool
**Lines**
* **Avg Entry / Avg Exit** — your personal average entry and exit price lines
* **Trigger Buy / Trigger Sell** — price levels where your limit orders would trigger
**Top 100 Holder Lines**
* **Avg Entry / Avg Exit** — average entry and exit price lines for the top 100 holders of the token
The Top 100 holder averages are also displayed in a summary bar below the chart, showing the average entry price, average exit price, and the percentage difference from the current price for each.
## Quick Swap
Quick Swap is available on the right side of the token page. It allows you to buy or sell the token without leaving the page.
Choose between **Market**, **Limit**, or **DCA**. See [Limit Orders](/user-docs/trade/spot/limit-orders) and [Recurring Orders](/user-docs/trade/spot/recurring-orders) for how those order types work.
Enter the amount you want to buy or sell.
Click the swap button to execute. Quick Swap uses your current execution settings (Ultra mode by default, or your manual Trade Presets).
In **Trench mode** on desktop, the Quick Swap panel includes configurable preset buttons with predefined amounts for quick buy and sell actions. You can customise these preset amounts directly in the Quick Swap window.
Below the swap panel, a **Token Info** section displays a compact summary of the token's safety indicators (Top 10 Holders %, Dev Holding %, Snipers Holding %, Freeze/Mint Authority, Dex Paid, Pro Traders %, Insiders Holding %, CA, and DA).
## Tabs below the chart
Below the chart, several tabs provide detailed data about the token's activity and your own interaction with it.
### Transactions
The Transactions tab shows a live feed of all trades for this token. Each row displays the trade date/age, type (Buy/Sell), price, token amount, volume in USD, and the trader's wallet address.
You can filter transactions using four sub-tabs:
| Sub-tab | What it shows |
| ----------- | ---------------------------------------------------------------------------------------- |
| **All** | All transactions for this token |
| **You** | Only your own transactions |
| **Dev** | Transactions from the developer wallet |
| **Tracked** | Transactions from wallets you follow via [SmartMoney](/user-docs/trade/spot/smart-money) |
You can follow a wallet directly from this table by clicking on a trader's address. For full details, see the [SmartMoney page](/user-docs/trade/spot/smart-money).
For launchpad tokens, you can additionally filter the table by **Sniper**, **Insider**, and **Bundler** to isolate these wallet types. This filter is currently available for launchpad tokens only.
* **Sniper** — a wallet that bought the token early, within the first three blocks after launch.
* **Insider** — a wallet that bought within the first block after launch, or received the token from another insider. Insider status propagates through transfers: if a first-block buyer sends tokens to another wallet, that recipient also becomes an insider.
* **Bundler** — a wallet that took part in a bundle: a coordinated cluster of transactions in a single block, all trading the same token.
### My Positions
Shows your current position and PnL for this specific token, including Average Entry and Average Exit, Bought value, Unrealised PnL, Realised PnL, Total PnL, Balance, and Position %. For a full overview of all your positions across tokens, see the [Positions page](/user-docs/trade/spot/positions).
### My Orders
Shows your open and past orders for this specific token (Limit and DCA, with a Legacy toggle for V1 orders). You can view and manage your orders directly from the token page.
### Holders
Displays the token's holder list with the total number of holders and the Top 10 holders percentage. Each row shows detailed data per holder:
| Column | Description |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Address** | Wallet address (truncated) |
| **Remaining** | Percentage of the total supply still held, with USD value |
| **Bought** | Total USD value bought, number of tokens bought, and number of buy transactions |
| **Sold** | Total USD value sold, number of tokens sold, and number of sell transactions |
| **Avg Entry / Avg Exit** | The trader's average entry and exit on this token, in price or market cap terms following your Price/MC preference |
| **Unrealized** | Unrealized PnL in USD |
| **PnL** | Total PnL (unrealized + realized) in USD |
| **SOL Balance / Last Active** | Current SOL balance of the wallet, and the time of its last position trade on this token. Selling tokens that were transferred in (without an active position) does not count as activity. |
| **Funding / Amount** | Funding source wallet and amount |
You can filter holders using three sub-tabs: **All**, **Dev** (developer wallet only), and **Tracked** (wallets you follow via [SmartMoney](/user-docs/trade/spot/smart-money)).
For launchpad tokens, you can additionally filter holders by **Sniper**, **Insider**, and **Bundler** (see the wallet type definitions under the Transactions section). This filter is currently available for launchpad tokens only.
### Top Traders
Displays the top traders for this token. The column layout is the same as the Holders tab, except that the **Unrealized** column is replaced by **Realized** (realized PnL in USD); **PnL** remains the total. Like Holders, this tab supports the same **All**, **Dev**, and **Tracked** sub-tabs, and may not display data if the number of top traders exceeds the display threshold.
### Dev Tokens
Shows all other tokens launched by the same developer wallet, with the total count displayed in the tab header. This can help you evaluate the developer's track record — for example, whether they have launched and abandoned multiple tokens.
## How tokens are listed and routed
Jupiter is permissionless — there is no manual listing process. Any Solana token with a valid liquidity pool on a [supported AMM](https://lite-api.jup.ag/swap/v1/program-id-to-label) is automatically available to trade. Because anyone can create a token, always verify the contract address before trading. Jupiter reduces the risk of trading the wrong token by ranking tokens by activity when you search, distinguishing community-verified tokens from unverified ones, and filtering airdropped fake tokens where possible.
### Liquidity requirements
For a token to be routable, its market must meet minimum liquidity requirements. There are two types of listing:
New markets on certain DEXes are listed automatically and receive a grace period during which liquidity is not checked. After the grace period, standard requirements apply. Bonding curves that don't meet requirements after the grace period are removed until they graduate to a new market.
The default for all markets: each market's liquidity is checked every 30 minutes, and markets that fall below requirements are removed.
A market must meet at least one of these criteria:
* \*\*Less than 30% price difference on $500** — buying $500 of the token and immediately selling it back should lose less than 30%. Calculated as ($500 − final USD value) / $500.
* **Less than 20% price impact on market** — if the first test fails, Jupiter compares the token price when buying $1,000 worth versus $500 worth; if the difference exceeds 20%, the market is considered too illiquid.
Jupiter Ultra can revive and route through delisted markets based on demand, which helps when previously inactive tokens regain organic attention.
### Supported AMMs
Jupiter routes through nearly all major AMMs on Solana — including Meteora DLMM, Raydium, SolFi, and many others — and adds new integrations over time. View the full list of [integrated AMMs](https://lite-api.jup.ag/swap/v1/program-id-to-label).
To integrate your AMM with Jupiter, see the [DEX Integration Guide](https://dev.jup.ag/docs/routing/dex-integration#market-liquidity-requirements).
***
Follow wallets and monitor their trades.
Your full portfolio and PnL dashboard.
Save tokens and track them with curated news.
# Tokenized Stocks
Source: https://docs.jup.ag/user-docs/trade/spot/tokenized-stocks
Trading tokenized equities on Jupiter Spot — how they work, issuers, trading hours, and risks.
Tokenized stocks are onchain tokens that represent traditional equities (e.g. TSLAx, SPYx). You can buy and sell them on Jupiter Spot like any other Solana token. Browse the full list on the [Stocks screener](https://jup.ag/spot/stocks) or the **Stocks** tab in [Discover](/user-docs/trade/spot/discover#stocks-screener).
## How tokenized stocks work
Tokenized stocks are issued by **third parties**, not by Jupiter. Jupiter curates the list of available tokenized stocks and routes trades through all available liquidity sources for best execution — there is no special partnership or custom integration; routing works the same as for any other token.
Jupiter does not issue, back, or guarantee any tokenized stock. What the token represents — its backing, redemption rights, and structure — **varies by issuer**. Review the issuer's terms before trading. See [Redemption rights](#redemption-rights) and [Risks and Limitations](/user-docs/trade/spot/risks-and-limitations).
## Issuers and availability
Tokenized stocks on Jupiter come from several issuers. By trading volume, the largest are typically **Backpack** and **xStocks**, followed by **Ondo** and **PreStocks**, with additional issuers such as **Superstate**.
| Issuer | Notes |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| [**Backpack**](https://learn.backpack.exchange/articles/access-us-securities-onchain) | Among the highest-volume issuers. Tokens backed 1:1 by shares held at Backpack Securities. |
| [**xStocks**](https://docs.xstocks.fi/) | Among the highest-volume issuers. Issued by Backed Assets (JE) Limited. |
| [**Ondo**](https://ondo.finance/ondo-stocks) | 24/7 on some tokens, 24/5 on the rest, with RFQ liquidity (see below). |
| [**PreStocks**](https://prestocks.com/) | Tokenized exposure to pre-IPO companies, backed by SPV exposure to the underlying shares. |
| [**Superstate**](https://superstate.com/) | Official registered shares tokenized (Opening Bell). Requires KYC. |
The issuer list and relative volumes change over time.
## Redemption rights
Redeeming means converting the token back into the value of the underlying stock. Whether and how that is possible depends entirely on the issuer, not on Jupiter.
In practice:
* **Selling on the market is the usual exit.** You can sell a tokenized stock on Jupiter at any time there is liquidity, like any other token. This is how most holders realize value.
* **Direct redemption goes through the issuer.** Each issuer runs its own primary process, typically requiring an account or KYC onboarding with the issuer, jurisdiction-based eligibility, and minimum amounts or settlement delays. Some products (for example pre-IPO exposure tokens) may not offer redemption into the underlying shares at all.
The official and current redemption terms are the issuer's, and only theirs:
| Issuer | Official terms |
| ---------- | ---------------------------------------------------------------------------------------------------------- |
| Backpack | [Accessing U.S. securities onchain](https://learn.backpack.exchange/articles/access-us-securities-onchain) |
| xStocks | [xStocks documentation](https://docs.xstocks.fi/) |
| Ondo | [Ondo Stocks](https://ondo.finance/ondo-stocks) |
| PreStocks | [prestocks.com](https://prestocks.com/) |
| Superstate | [superstate.com](https://superstate.com/) |
Redemption rights are contractual rights against the issuer, not against Jupiter. If an issuer's process is unavailable to you (jurisdiction, KYC, minimums), selling on the market is your only exit.
## Trading hours
Most tokenized stocks are tradeable **24/7**. Some issuers differ:
* **Ondo (Ondo Stocks)** — some tokens now trade **24/7**: Ondo enabled around-the-clock minting and redemption for its most-traded assets (initially SPYon, QQQon, NVDAon, TSLAon, GOOGLon, and CRCLon, with more to follow). The remaining Ondo tokens stay on a **24/5** schedule, generally available from Sunday 8pm ET until Friday 8pm ET, and may have additional trading pauses, shown in the UI. The Ondo Stocks secondary market is powered by a just-in-time (JIT) liquidity mechanism: liquidity is provided on demand through a **Request-for-Quote (RFQ)** mechanism rather than sitting in a standard AMM pool, so liquidity may be significantly lower outside traditional U.S. market hours, leading to wider spreads and higher price impact. Ondo Stocks are currently only tradeable against **USDC**: switch the Buy/Sell side to USDC to trade them.
## KYC and eligibility
Some issuers require identity verification (KYC) or restrict eligibility by jurisdiction.
* **Superstate** — requires KYC.
## Risks
* Tokenized stocks are **not** the same as traditional stocks. They are onchain tokens issued by third parties.
* Check the regulations in your jurisdiction around investing in stocks.
* Tokenized stocks often trade at a **premium** compared to their traditional counterparts.
* Unlike traditional stocks, tokenized stocks generally do **not** pay dividends.
* Backing, redemption rights, and structure vary by issuer — review the issuer's terms.
* Do your own research before investing.
***
Browse and filter all available tokenized stocks.
Understand the risks before trading.
# Ultra Mode
Source: https://docs.jup.ag/user-docs/trade/spot/ultra-mode
Jupiter's default trading mode with optimized routing, MEV protection, and gasless support.
## Overview
Jupiter Ultra is the default trading mode on [jup.ag](https://jup.ag/), shown as **Ultra V3** in the Swap Settings dialog. It is designed to optimize every swap for transaction success rate and execution price, while handling trade settings automatically.
Ultra Mode combines multiple systems to achieve this:
* **Juno Liquidity Engine** — Aggregates across all leading AMMs (Automated Market Makers) on Solana, as well as third-party liquidity sources like DFlow, Hashflow, and OKX, in addition to Jupiter's own routers: Metis and JupiterZ. Juno includes self-learning capabilities that detect and sideline low-quality liquidity sources over time.
* **Smart Transaction Landing (Beam)** — Fine-tunes every transaction in real time for faster and more reliable confirmations, while offering private, MEV-resistant (Maximal Extractable Value) execution.
* **Real-Time Slippage Estimation (RTSE)** — Automatically calculates optimal slippage tolerance by analyzing current market conditions, monitoring price impact and volatility, and adjusting settings to balance trade success and price protection. See [How RTSE works](#how-rtse-works) below.
* **Gasless support** — Automatically offers gasless trades for qualifying transactions. See [Gasless Trading](#gasless-trading) below.
## Key Features
Aggregates across leading AMMs and third-party liquidity sources (Metis, JupiterZ, DFlow, Hashflow, OKX, and others) to find the optimal route and execution price.
Forecasts potential slippage and prioritizes the most reliable routes for the best real-world results.
Ultra's in-house transaction landing engine provides faster confirmations and built-in MEV protection.
Allows Prop AMMs to quote tighter spreads (up to 50% better) for non-toxic flow, improving pricing for Ultra users.
Automatically adjusts slippage settings based on current volatility and liquidity conditions.
0–0.5% depending on pair volatility.
## Pricing
Jupiter Ultra finds the best price by checking all available liquidity pools across leading AMMs and aggregators on Solana. Prices update every second to keep quotes fresh and accurate.
## How RTSE Works
RTSE (Real-Time Slippage Estimator) sets your slippage tolerance automatically for each swap. The goal is to find the lowest slippage that still allows your trade to land successfully.
The calculated slippage depends on several factors:
* **Token category** — Stable pairs and major tokens use lower slippage. Newly listed or volatile tokens use higher slippage.
* **Recent volatility** — If a token's price has moved significantly in the last few minutes, RTSE applies a larger buffer.
* **Liquidity depth** — Trades that touch shallow liquidity pools require more slippage to execute reliably.
* **Network conditions** — During congestion, RTSE accounts for the extra time between quote and execution.
This means slippage values can vary between swaps on the same pair. A value like 0.73% is normal for most non-stable swaps and reflects current market conditions, not a problem with the trade.
RTSE is designed to maximize success while protecting you from bad executions. If you want to set slippage manually, use [Manual Mode](/user-docs/trade/spot/manual-mode).
## Fees
Ultra Mode fees depend on the token pair and market conditions:
| Pair Type | Fee |
| ----------------------------------------------------- | ----- |
| SOL / Stable → JUP / JLP / jupSOL | 0% |
| LST ↔ LST or Stable ↔ Stable | 0% |
| SOL ↔ Stable | 0.02% |
| LST ↔ Stable | 0.05% |
| All other swaps | 0.1% |
| Buying / Selling new tokens (within 24h of token age) | 0.5% |
**Fees are different on Jupiter Mobile.** Swaps placed natively in the Jupiter Mobile app follow a separate Mobile fee schedule, not the Ultra fees above. See [Jupiter Mobile fees](/user-docs/global/mobile/fees).
LST stands for Liquid Staking Token (e.g. jupSOL, jitoSOL). These are tokens that represent staked SOL while remaining tradable.
Gasless trades via Ultra Gasless Support incur a surcharge of up to 10%, deducted from the swap amount to cover gas costs. See [Gasless Trading](#gasless-trading) below.
## Gasless Trading
Jupiter Ultra offers two gasless mechanisms that allow users to swap without holding SOL for transaction fees.
Gasless is invoked as a last resort when you cannot fulfill gas requirements on your own. It activates automatically when all of the following conditions are met:
* You have less than 0.01 SOL in your wallet.
* Your total trade size meets the minimum threshold (approximately \$10, may vary).
* The token on the sell side of the trade is verified by Jupiter.
When activated, Jupiter pays the gas on your behalf (signature fees, priority fees, rent). The USD value of the SOL spent is calculated and deducted from your swap amount as an equivalent in the fee token. This gasless surcharge can be up to 10% maximum. Since the surcharge is based on a fixed SOL cost and not on trade size, larger trades result in a lower percentage fee.
Gasless is designed primarily for onboarding (e.g. creating a new wallet and swapping USDC without needing to acquire SOL first). Standard swaps where you pay your own gas will generally result in better execution.
JupiterZ is Jupiter's RFQ (Request For Quote) engine. When a swap is routed through JupiterZ, the market maker pays the network fee and priority fee. This is gasless by default for all JupiterZ-routed swaps, with no minimum trade size and no additional cost to the user.
However, JupiterZ does not cover Associated Token Account (ATA) rent. If you don't have the required ATA and don't have enough SOL to cover the rent, JupiterZ will not be routed.
### Supported tokens
All major verified tokens with high liquidity (such as USDC, Fartcoin, Bonk, and other popular tokens) are supported for gasless trades. Not all tokens qualify, but support is actively expanding.
### Wrapped SOL (wSOL)
You can use Jupiter to swap wrapped SOL (wSOL) into other tokens. However, wSOL and native SOL are treated as separate tokens in the Solana ecosystem. wSOL can be traded like any other token, but it cannot be used directly to pay for transaction fees.
Ultra Mode handles all trade settings (slippage, fees, routing) automatically. If you want full control over these settings, use [Manual Mode](/user-docs/trade/spot/manual-mode).
# Watchlist
Source: https://docs.jup.ag/user-docs/trade/spot/watchlist
Monitor your favorite tokens with market data and curated news on Jupiter Spot.
The Watchlist lets you save tokens you want to monitor and view their key metrics at a glance. It is accessible from the **Watchlist** tab in the Spot interface.
You can keep multiple watchlists. A **Default** list is created for you; click **Add list** to create additional named lists and switch between them.
Watchlists are stored locally in your browser. Clearing your browser cache, using a different browser, or switching device will reset your watchlist. There is currently no server-side sync. See the [FAQ](/user-docs/trade/spot/faq#why-is-my-watchlist-getting-reset) for details.
## Token list
Your watchlisted tokens are displayed in a table with the following columns:
| Field | Description |
| --------------------------- | --------------------------------------------------------------------------------------------- |
| **Token** | Token name, age, verification status, and quick-access icons (explorer, search, social links) |
| **Price / %Δ** | Current price and percentage change |
| MC / FDV | Market cap and fully diluted valuation |
| **24h Vol / Net** | 24-hour trading volume and net volume (buy volume minus sell volume) |
| **Liquidity** | Available liquidity |
| **Holders / %Δ** | Number of holders and percentage change |
| **Buy** | Quick Buy button to purchase the token directly from the watchlist |
You can filter the time period for percentage changes: **5m**, **1h**, **6h**, or **24h**.
### Managing your watchlist
Click **+ Add** in the top-right of the Watchlist, or click the ☆ icon on any token throughout Spot.
Click **Edit** to reorder or remove individual tokens from your list.
Click **Clear** to remove all tokens from your watchlist at once.
Quick Buy is available directly from the watchlist. Set your Quick Buy amount in the top-right, then click the ⚡ icon next to any token.
### Settings
You can customize how the watchlist displays tokens:
* **Metric to display** — Price or Market Cap
* **Sorting order** — Date added or Custom order
* **Preferences** — show token icon, show price change %
## Verified Tweets
The right panel of the Watchlist page displays **Verified Tweets** — a curated feed of posts from verified accounts on X (formerly Twitter) related to your watchlisted tokens and the broader Solana ecosystem.
The panel includes:
* **News Summary** — an AI-generated summary of recent news relevant to your watchlisted tokens, with the date of the last update
* **Tweet feed** — individual posts from verified accounts, showing the author, timestamp, content, and engagement metrics (replies, likes)
Verified Tweets are sourced from accounts verified by Jupiter. The News Summary is AI-generated and may contain inaccuracies. Neither constitutes financial advice.
***
Full data and analysis for any token.
Your full portfolio and PnL dashboard.