Jupiter swap

Jupiter swap routes Solana token exchanges for wallet approval

Jupiter swap compares available liquidity routes to exchange Solana tokens through transactions you approve with your wallet. A route describes how the exchange reaches the selected output token. Availability depends on the tokens, trade amount and usable liquidity. Before signing, review the token identities, expected output and charges. After submission, the transaction status and token balance changes establish what happened. A displayed quote alone doesn't establish a completed exchange.

Updated on

Route suitability and the exchange record

A suitable route must support the selected tokens and amount, with output terms you're prepared to accept. Changing the amount can change which routes are available. A token appearing in search doesn't establish that sufficient liquidity exists for the proposed trade.

The execution record serves a different purpose from the quote. It identifies the submitted transaction and its outcome. A signature can exist for a failed transaction, so read the status alongside the recorded transfers. Successful completion means the exchange credited the intended output token to the intended account, with the input debit and charges accounted for.

Wallet access and token identity

The connected wallet must be able to authorize the exchange and cover the required input. Any costs the wallet must pay also need funding before execution.

Wallet access and token identity: The connected wallet must be able to authorize the exchange and cover the required input.; Any costs the wallet must pay also need funding before execution.

View full-size image

Mint addresses

A mint address identifies a particular Solana token. Names and symbols don't provide the same identification. Confirm the selected input and output mints before approving the transaction, especially when search results contain similar names. Receiving a different mint from the one intended is a different purchase, even when the displayed symbol matches.

Token accounts record balances for a particular mint and owner. Your wallet can own several token accounts, so the relevant balance belongs to the selected mint. This distinction matters when reconciling an exchange record with a wallet's token display.

Signing authority

Wallet signing authorizes the transaction's instructions. Review the proposed asset movements before approval. Rejecting an unsigned request leaves that proposed exchange unexecuted. Once a signed transaction reaches the submission service, treat it as capable of execution. Closing the page doesn't provide a reliable cancellation mechanism.

Liquidity routes and output estimates

Jupiter's routing can combine exchanges through intermediate tokens or split a trade across liquidity sources. Its managed swap service also accepts competing market-maker quotes. These mechanisms offer different ways to obtain the requested output, subject to the available liquidity and execution conditions.

Trade size affects the output a route can provide. Price impact describes the effect of the trade on available pricing; slippage describes the difference between quoted and executed output. A slippage bound limits acceptable deterioration during execution. Automatic estimation doesn't eliminate that limit or make the displayed output certain.

Charges within and around the swap

The cost of an exchange can include trading charges, network fees and funding for new accounts. These costs don't necessarily appear as a single debit in the input token.

Trading charges

Jupiter's managed swap service can collect a platform fee, while an integrating application can apply referral charges. Read the quoted fee amount and the token used to collect it. A fee collected from the output reduces the amount reaching the wallet. Comparing gross route output with a net wallet credit without accounting for that fee creates an apparent discrepancy.

Network fees and account funding

Solana transaction fees include a base fee and, when specified, a priority fee. The priority fee influences transaction scheduling. Creating a required token account also needs a storage balance, commonly called rent. That account funding is separate from the exchange price and can explain an additional SOL requirement when receiving a token for the first time.

Gasless eligibility

Eligible gasless routes arrange for another payer to cover some or all network-related costs. Coverage depends on the route and fee configuration, including whether a new output account needs funding. Automatic sponsorship can recover its costs through an increased swap fee and lower token output. A gasless label therefore doesn't mean every cost disappears. The quote's payer and fee details determine what applies to that exchange.

Why can a quoted swap fail?

A quoted swap can fail when prices move beyond its accepted bounds, transaction validity expires or the wallet lacks required funds. A quote may also exist without a transaction the service can build and execute. Separately, a missing route can reflect insufficient liquidity, an unsuitable amount or token trading restrictions.

Solana reverts a transaction's instruction changes if any instruction in that transaction fails. Network fees can still apply to an executed failure. A pending or unknown status needs a different response: establish what happened before authorizing another exchange. Repeated submissions with newly signed transactions can create separate trades if more than one succeeds.

A quoted exchange reconciled with wallet balances

All amounts and execution observations in this example are hypothetical. The wallet holds 47.6 input tokens, and the proposed exchange uses that balance. Its quote shows 118.4 output tokens with a minimum acceptable receipt of 117.1.

The selected mints match the intended tokens, and the wallet has separate funding for applicable network costs. No additional token charge sits outside the quoted amounts in this example. Before signing, the reader can change the amount or reject the proposal without executing the exchange.

The reader approves the transaction and submits it. The resulting record shows successful execution, a debit of 47.6 input tokens and a credit of 117.6 output tokens. Signing authorizes this exchange; closing the interface afterward isn't a reliable way to prevent execution.

The wallet's corresponding token accounts show the same changes. The output exceeds the accepted minimum by 0.5 tokens, so the recorded exchange meets the selected output condition. Network costs reconcile separately against the fee payer's SOL balance. A different credited mint or an unresolved transaction status would leave the exchange unverified.

A quoted exchange reconciled with wallet balances: The reader approves the transaction and submits it. The resulting record shows successful execution, a debit of 47.6 input tokens and a credit of 117.6 output tokens.; Signing authorizes this exchange; closing the interface afterward isn't a reliable way to prevent execution.
A quoted exchange reconciled with wallet balances.

View full-size image

Application access and custom integrations

Jupiter's swap functionality is available through its interface and application integrations. Developers can request an assembled transaction with managed submission, or obtain swap instructions for a custom transaction. The custom route offers more control over transaction construction, but its routing coverage and execution responsibilities differ. An application's fee settings and transaction controls can also affect the experience, so shared routing infrastructure doesn't make every integration identical.

Immediate swaps and conditional orders

An immediate swap attempts an exchange against available pricing. A limit order expresses a price condition, while a recurring order schedules repeated exchanges. These are different trading tasks: an accepted order doesn't establish that the associated token exchange has already occurred. Liquidity, price movement and execution conditions still affect whether an order fills.

Immediate swaps and conditional orders: An immediate swap attempts an exchange against available pricing. A limit order expresses a price condition, while a recurring order schedules repeated exchanges.; These are different trading tasks: an accepted order doesn't establish that the associated token exchange has already occurred. Liquidity, price movement and execution conditions still affect whether an order fills.

View full-size image

A direct exchange interface provides another way to access that venue's liquidity. Aggregation broadens the sources considered for a swap, while custom routing settings can narrow them. Neither approach creates liquidity where none exists. Once an exchange completes, obtaining the original token again requires another trade under the conditions available at that time.

Helpful answers about Jupiter swap

Can I choose an exact output amount in Jupiter's regular swap interface?

Jupiter's regular swap interface takes an input amount and estimates the output, rather than guaranteeing a chosen output quantity. Its former exact-output option is no longer available in that interface. The output estimate and applicable minimum receipt serve different purposes: one describes expected execution, while the other limits acceptable deterioration.

How are token amounts represented in Jupiter API requests?

Jupiter API requests express the input amount in the token's smallest units. The mint's decimal precision determines the conversion from a displayed token quantity. An integration must apply that precision before requesting a quote; sending the displayed quantity as a raw integer can request a substantially different amount.

Why might browser extensions increase swap charges?

Some browser extensions can inject additional referral charges into Jupiter swaps. Those charges are separate from the fees a reader expects from the trading service itself. Review the transaction's fee details and active extensions when an unexpected charge appears; a matching token pair doesn't establish that two transaction requests carry identical fees.

What does a token's freeze authority mean for an exchange?

A token's freeze authority can freeze its token accounts, preventing transfers or burns from those accounts. A frozen input account can therefore prevent an exchange even when a price is available. This authority belongs to the token's configuration; finding a route through an aggregator doesn't remove the restriction.