Jupiter swap

Jupiter swap is Solana liquidity routing for price and speed

Jupiter swap is a Solana trade service that searches liquidity - the tokens available to trade - and builds a route, meaning the path through markets. It powers the instant-exchange side of Jupiter Spot, comparing pool routes and market-maker quotes before the wallet signs. The quoted output reflects the chosen path, while available depth, price impact, network fees, landing conditions, and the selected Ultra or Manual mode determine what reaches the destination token account.

Published:

What's inside
Bottom line: A trade's size relative to available pool depth decides whether routing improves output or merely exposes price impact.

Thin liquidity sets the limit before routing begins

Available liquidity determines whether a trade executes close to its displayed market price. Jupiter searches across sources, yet aggregation cannot create reserves that are absent. A large order against shallow pools moves their prices, producing price impact before changing market conditions introduce slippage. The interface expresses estimated price impact as a percentage, so the meaningful comparison is the expected output for the full trade rather than a token's displayed reference price.

Token controls create a second boundary. Solana permits anyone to create a mint with a chosen name and ticker, making the mint address the precise token identity. Active mint authority permits additional supply, while active freeze authority permits token accounts to be frozen. Jupiter Shield, verification status, organic activity, and liquidity data expose useful facts, but each indicator describes one property. Routing quality never changes the rules encoded by the selected mint or its market.

Start with the wallet, pair, and execution mode

Jupiter Spot presents two interface layouts and two execution modes, which are separate choices. Classic offers the straightforward swap widget and uses Ultra, while Trench places denser market information and rapid controls beside the trade. Ultra manages execution settings; Manual exposes them. A first Jupiter swap therefore starts with the simpler decision: choose the layout that makes the quote legible, then decide who should set slippage and transaction delivery.

Connect Jupiter Wallet, Phantom, Backpack, or another compatible Solana wallet, select the input and output mints, and enter the amount to sell. Jupiter ID Quick Accounts, powered by Privy, provide an embedded-wallet route through email or social login. The quote should identify both token mints, the expected output, price impact, fee fields, and execution mode before signing. Keep a small native SOL balance when the destination associated token account still needs to be created.

How Jupiter assembles a route across Solana venues

The Juno Liquidity Engine compares automated market makers, proprietary routing engines, and request-for-quote liquidity. Its source set includes established Solana venues such as Raydium, Meteora, and Humidifi, alongside DFlow, Hashflow, and OKX liquidity. Metis searches onchain paths and splits, while JupiterZ requests firm quotes from market makers. At the managed order layer, four routers - Metis, JupiterZ, DFlow, and OKX - compete to supply the selected order.

A route can use one pool, several pools in parallel, or an intermediate token when that path improves expected execution. Manual Mode's Direct Route Only setting restricts the trade to one pool, reducing route complexity while also narrowing the available liquidity. Solana's transaction envelope imposes hard engineering boundaries: a transaction is capped at 1,232 bytes and currently references at most 64 accounts. Version 0 address lookup tables hold up to 256 public keys and replace each 32-byte key with a 1-byte index, saving 31 bytes per resolved account. Those limits explain why route construction optimizes transaction fit as well as price.

Ultra and Manual assign control differently

Ultra Mode makes Jupiter responsible for slippage estimation, route selection, priority strategy, and transaction landing. Real-Time Slippage Estimation reads liquidity depth, recent volatility, token category, and network conditions. Beam handles submission and confirmation, while private execution reduces exposure to adverse transaction ordering before settlement. Ultra also invokes gasless support when the trade satisfies its eligibility rules.

Manual Mode moves those decisions into the interface. It offers dynamic or fixed slippage, three broadcast choices - Priority Fee, Jito Only, or Both - and three speed presets named Fast, Turbo, and Ultra. A Jito-only path includes a Jito tip, whereas standard RPC delivery uses a priority fee. Manual also permits AMM exclusion, direct routing, and persistent wrapped SOL use. These controls suit a defined execution policy; Ultra suits a trader who wants Jupiter to adjust the policy for each order.

Three cost layers behind the displayed output

A Jupiter swap displays up to three cost categories: Solana network fees, an optional Jito tip, and Jupiter commission. One basis point equals 0.01%, while 100 basis points equal 1%. Ultra's defined commission schedule includes 0% for stable-to-stable and liquid-staking-token pairs, 0.02% for SOL-to-stable pairs, 0.05% for liquid-staking-token-to-stable pairs, and 0.1% for other established pairs. Tokens within the first 24 hours of token age carry a 0.5% Ultra rate. Manual market swaps carry 0% Jupiter commission.

A Solana transaction carries a base fee of 5,000 lamports per signature, before any optional priority fee. The priority component changes with the requested compute-unit price and limit, while pool trading fees remain embedded in the route's economics. Gasless support pays SOL-denominated network costs through a relayer and deducts an equivalent amount from the trade; its surcharge is capped at 10%. JupiterZ routes differ because the responding market maker covers network delivery, although an uncreated destination token account still requires rent.

Landing speed is part of execution quality

Execution quality combines quoted output with the probability that the signed transaction lands before its assumptions become stale. Jupiter's managed execution compares predicted outcomes rather than selecting a displayed quote in isolation. A slightly different route that confirms against available liquidity can deliver more tokens than an attractive quote that expires or no longer matches the pool state.

Solana gives a recent blockhash a validity window of 150 slots, and each signer contributes a 64-byte Ed25519 signature. Complex routes also work within a maximum of 1.4 million compute units per transaction; a non-builtin instruction receives a 200,000-unit default when no explicit compute limit replaces it. Beam, priority settings, and confirmation polling address these constraints. Speed therefore matters because the pool state continues changing between quote creation, wallet approval, leader scheduling, and onchain execution.

SPL Token accounts shape what arrives

SPL Token accounting determines where Jupiter sends the purchased asset. Solana has two principal token-program families: the original Token Program and Token-2022. Each mint stores its own decimal precision and authorities, while a wallet normally receives that mint through a derived associated token account. Creating a missing account adds a rent deposit and another instruction to the transaction.

Native SOL uses 9 decimal places, so 1 SOL contains 1 billion lamports. Wrapped SOL uses the token-account model and the same precision, but it cannot directly pay Solana network fees. Both JUP and native Solana USDC use 6 decimal places. Jupiter builds amounts from these smallest units, avoiding display-rounding ambiguity. Token-2022 extensions belong to the mint itself; a transfer-fee extension, for example, changes the net balance independently of an automated market maker's pool price.

Immediate conversions are the core use case

Immediate token conversion is the clearest Jupiter use case: exchanging SOL for USDC, acquiring JUP from an existing Solana balance, or returning a token position to a more liquid asset. Aggregation matters most when the pair appears across Raydium, Meteora, and other venues with different reserve depths. Splitting the order lets separate pools contribute without requiring the user to compare each interface manually.

Once that is set, Jupiter swap also serves movement between liquid staking tokens such as jitoSOL and jupSOL. These assets represent staked SOL while remaining transferable, and their exchange rates reflect their respective pool mechanics rather than a fixed one-for-one token count. An instant swap is appropriate when immediate settlement matters. Jupiter Spot's Limit Orders and Recurring Orders handle different timing objectives by waiting for a trigger or dividing activity across scheduled intervals.

A five-condition pre-signing decision check

The pre-signing decision should confirm identity, execution terms, and transaction funding. Five concrete conditions keep that review focused on the trade Jupiter is actually proposing:

  • Match the input and output mint addresses whenever several tokens share a symbol.
  • Read expected output, estimated price impact, and fee fields as one execution package.
  • Retain native SOL for fees and account rent unless gasless eligibility is clearly shown.
  • Choose Ultra for managed execution; select Manual only when explicit controls serve a defined policy.
  • Reduce the order or wait for deeper liquidity when its size materially moves the quoted market.

Wallet simulation remains part of the decision. The displayed instructions should correspond to the intended token pair, amount, and associated accounts. If the quote refreshes before signing, review the new output rather than assuming the earlier route survived unchanged.

Raydium, Orca, and wallet swaps change the dependency

Raydium and Orca provide direct decentralized-exchange workflows on Solana. Raydium exposes its own pools and trading products, while Orca centers its swap experience on Orca liquidity, including Whirlpools. A direct venue makes the pool dependency explicit and works well when the trader already wants that venue's liquidity. It does not compare the same breadth of routes assembled by Jupiter.

Phantom and Solflare place swaps inside the wallet, reducing navigation and keeping portfolio context nearby. Their embedded route may rely on aggregation infrastructure, so the visible brand does not necessarily identify the underlying liquidity engine. Compare the final output, execution settings, and fee disclosure rather than treating an embedded wallet swap as a distinct market.

A centralized exchange such as Coinbase changes the custody and withdrawal workflow entirely. The trade occurs inside an exchange account, and a separate Solana withdrawal moves tokens onchain. That route removes wallet signing from the trade itself but adds account access, asset-listing, and withdrawal dependencies. Jupiter keeps settlement in the connected Solana wallet and depends on available onchain or quoted liquidity.

Jupiter graphic reads Trade Any Token On Solana with trade button

Who benefits most from route competition

Route competition provides the strongest fit when a token pair trades across several Solana venues or when order size makes pool depth consequential. Jupiter Ultra is also well matched to occasional swaps because automated slippage, priority strategy, and landing remove several settings from the immediate decision. Frequent traders gain a different benefit from Manual Mode: repeatable control over broadcasting, fees, wrapped SOL, and venue exclusions.

A known, highly liquid pool can make a direct Raydium or Orca transaction entirely adequate. Wallet-native swaps prioritize convenience, while centralized exchanges prioritize account-based execution. Jupiter's distinguishing function is continuous route comparison followed by construction of one atomic Solana transaction. The service is most useful when that broader search produces a better executable path after price impact, fees, account requirements, and landing conditions are included.

Questions we hear about Jupiter swap

Do I need a Jupiter account to make a swap?

No Jupiter account is required to trade through the standard Spot interface. Connect a supported Solana wallet such as Phantom, Backpack, or Jupiter Wallet, then authorize the assembled transaction. Jupiter ID Quick Accounts, powered by Privy, provide an optional embedded-wallet path for email or social login; they are an alternative connection method, not a prerequisite for using the aggregator.

Is Jupiter swap available outside Solana?

The core Jupiter swap executes on Solana, not directly on Ethereum, Base, or other chains. Assets originating elsewhere must first reach Solana through an appropriate bridge or issuer mechanism, such as Circle's Cross-Chain Transfer Protocol for supported USDC transfers. Once on Solana, the asset must exist as a supported SPL Token or Token-2022 mint before Spot can route it.

Does Jupiter take custody of tokens during a spot swap?

Jupiter does not take custody of tokens during a standard wallet-signed spot swap. The connected wallet authorizes a Solana transaction, and the referenced token and liquidity programs settle its instructions atomically. A JupiterZ route obtains a quote from a market maker, but the exchange still settles through the assembled Solana transaction rather than through a custodial Jupiter balance.

Which hardware wallets work with Jupiter Spot?

Jupiter Spot supports established Solana hardware-wallet connections including Ledger and Trezor. The Jupiter Wallet extension also lists Keystone support. The hardware device remains responsible for authorizing the transaction, while Jupiter supplies the quote and assembled instructions. Review the token amounts and account changes shown by the wallet before approving, especially when a route contains several program interactions.

Are completed Jupiter swaps private on Solana?

Completed Jupiter swaps are public Solana transactions. Ultra's private submission keeps the pending delivery path out of normal public broadcasting during landing, but it does not make settlement confidential. After confirmation, wallet addresses, token accounts, program instructions, transferred amounts, fees, and the transaction signature remain inspectable through a Solana block explorer such as Solscan.

Can a completed Jupiter swap be reversed?

A confirmed Jupiter swap cannot be reversed through Jupiter because the committed Solana transaction has already changed the relevant token accounts. Solana executes the transaction atomically: all included instructions commit together, or their state changes revert together. If a transaction fails, the intended token exchange does not settle, although the network fee for processing the signed transaction remains charged.

Why does Solana not request a separate ERC-20-style approval for every Jupiter trade?

Solana does not use Ethereum's standing ERC-20 allowance pattern for a normal Jupiter swap. The wallet signs one assembled transaction containing the token-program and routing instructions needed for that trade. Those instructions authorize and execute the specific state change atomically. A wallet may display several instructions inside the transaction, yet the user supplies one transaction signature unless the selected workflow explicitly requires another action.