Jupiter swap slippage - tolerance limits and blocked swaps

Jupiter swap slippage measures the difference between quoted and executed output, while tolerance limits the acceptable reduction in output. For a fixed-input swap, execution must meet the transaction's minimum received amount. A tighter tolerance leaves less room for adverse movement and can cause failure. Widening it permits a worse fill; it does not improve liquidity or reverse price impact already reflected in the quote. The useful setting depends on the acceptable output and execution conditions.

Quoted output and the amount execution delivers

A swap quote connects a specified input amount with an estimated output under the available trading conditions. The transaction carries an execution constraint derived from its slippage settings. Execution then produces either a successful exchange or a failure when an applicable check rejects it. These amounts have different jobs: quoted output describes the proposed exchange, minimum received defines its lower boundary, and executed output records the completed exchange.

Jupiter's managed execution response includes status and output amounts. Those fields help distinguish a completed exchange from an estimate still displayed in an interface. Compare amounts for the same token and transaction, keeping their units consistent.


Minimum received defines the rejection boundary

For a fixed-input swap, the minimum received amount determines how far output can fall below the quote before the slippage check rejects execution.

Let Q represent quoted output and s represent tolerance expressed as a fraction. The conceptual minimum is Q × (1 − s). Token amounts use integer units, so rounding can affect the exact threshold. The transaction's actual constraint matters when a rounded display obscures the boundary.

Jupiter's quote fields distinguish outAmount from otherAmountThreshold. In an ExactIn quote, the latter represents minimum acceptable output after applying tolerance.

Holding Q constant makes the tradeoff explicit. Increasing s lowers the minimum; decreasing s raises it. Neither adjustment creates a better quote. A different Q changes the calculation even when the tolerance percentage stays identical.

For a positive quoted amount, adverse realized slippage can be calculated as (Q − R) ÷ Q × 100%, where R is executed output. Use comparable amounts with the same fee treatment. A failed swap has no completed output to substitute for R; treating failure as zero output would misdescribe the outcome.

Liquidity determines price impact before execution

Price impact describes how the trade's size affects execution pricing relative to available liquidity. A quote can already include substantial impact before any later market movement occurs. Slippage tolerance then governs deviation from that quoted output. Consequently, a swap can meet a tight tolerance while accepting an unfavorable starting quote. Inspect the quoted exchange rate and price impact before deciding how much further deterioration to allow.

Liquidity determines price impact before execution: Price impact describes how the trade's size affects execution pricing relative to available liquidity. A quote can already include substantial impact before any later market movement occurs. Slippage tolerance then governs deviation from that quoted output. Consequently, a swap can meet a tight tolerance while accepting an unfavorable starting quote. Inspect the quoted exchange rate and price impact before deciding how much further deterioration to allow.

Open full-size image


Time between quoting and execution changes the exposure

Other trades and liquidity changes can alter available output while a transaction awaits authorization or inclusion. A fresh quote reduces reliance on an older market state, but does not reserve that state. Submission delays can therefore turn an acceptable quote into a slippage failure. Transaction delivery and priority settings affect landing conditions; they do not change the minimum-output rule or guarantee an acceptable fill.

Time between quoting and execution changes the exposure: Other trades and liquidity changes can alter available output while a transaction awaits authorization or inclusion.; A fresh quote reduces reliance on an older market state, but does not reserve that state.; Submission delays can therefore turn an acceptable quote into a slippage failure.; Transaction delivery and priority settings affect landing conditions; they do not change the minimum-output rule or guarantee an acceptable fill.

Open full-size image


Fixed settings and automatic estimates choose tolerance differently

A fixed tolerance expresses a selected limit directly. An automatic estimate chooses a tolerance using information about market conditions. Both approaches still produce a transaction with execution constraints.

A fixed tolerance preserves a chosen limit

Manual settings suit a requirement to keep a specific tolerance rather than accept an automatically estimated value. The relevant question is whether the resulting minimum output remains acceptable. A percentage copied from another trade does not account for different liquidity, volatility, or timing.

RTSE estimates tolerance when the order is built

Jupiter's Real-Time Slippage Estimator, or RTSE, uses market data and failure monitoring to estimate tolerance. In Swap API V2, managed orders apply RTSE automatically unless a fixed value overrides it. The Router build path supports RTSE as an explicit option.

The estimate becomes part of the transaction at order or build time. It does not continuously rewrite a signed transaction as conditions change. Market conditions can change between estimation and execution.

Wider tolerance changes the permitted outcome

Increasing tolerance can allow a swap to pass a slippage check which a tighter setting would reject. The cost of that flexibility is a lower acceptable output for the same quote. The entire allowance need not become an actual loss: tolerance defines permission, while execution determines the fill.

A tolerance percentage also cannot establish an acceptable total loss against an external market price. Its starting point is the quote. If that starting quote already falls below the exchange rate you require, widening tolerance moves the minimum farther away from your requirement.


Changing the input amount changes the quote itself

Reducing an input amount changes the liquidity the trade needs and can improve its quoted exchange rate. This addresses trade size relative to available liquidity, whereas changing tolerance adjusts the permitted deviation around a quote. Compare output per unit of input when evaluating different sizes; total output alone cannot show whether pricing improved.

Smaller trades do not guarantee a better combined result. Separate transactions encounter changing market conditions and can incur separate transaction charges. The new quote must justify the change on its own terms. Treat an amount adjustment as a different exchange request, with a new output estimate and minimum received amount.

The failure location determines the correction

A failed attempt needs an error diagnosis before a tolerance adjustment. Slippage rejection, unavailable routing, and insufficient funds describe different constraints. Raising tolerance addresses only the relevant pricing boundary.

Execution errors identify a failed check

Jupiter slippage rejection

The Jupiter Swap Program error 6001, SlippageToleranceExceeded, identifies a slippage failure. A fresh quote can establish whether the same input still produces acceptable terms. The error does not, by itself, establish that increasing tolerance is the appropriate response.

The failure location determines the correction: A failed attempt needs an error diagnosis before a tolerance adjustment.; Slippage rejection, unavailable routing, and insufficient funds describe different constraints.; Raising tolerance addresses only the relevant pricing boundary.

Open full-size image

Errors from a routed trading program

A program used along the route can return its own error. Some involve liquidity moving outside the required range; others concern accounts or unsupported operations. Interpret the error in the context of the program which emitted it.

Submission uncertainty requires a status check

A stalled interface or timeout does not establish slippage rejection. Resolve the original transaction's status before authorizing a replacement. A failed Solana transaction reverts its instruction state changes. A processed failure can still incur a network fee.

A retry checklist for an unacceptable output

Before repeating a swap, establish what happened to the previous attempt. Then compare changes to the quote and minimum received amount, rather than changing tolerance simply because execution failed.

A smaller input and a wider tolerance change different terms. The first changes the requested trade and its quote. The second changes how far execution may deteriorate from that quote. Preserve that distinction when deciding whether the replacement is acceptable.


A refreshed quote can change the minimum received

A new quote can move the minimum received amount even when the tolerance remains unchanged. Repeatedly refreshing until a transaction passes therefore does not preserve the original exchange terms. Compare the replacement's absolute minimum with the output you require.

If the new minimum remains unacceptable, the next choice concerns the amount or whether to proceed. Successful execution alone does not establish that the replacement preserved the value of the original quote.

Questions and answers about Jupiter swap slippage

Can a Jupiter swap deliver more tokens than its quote?

An executed swap can deliver more output than its quote when execution conditions improve. A minimum-output constraint sets a lower boundary; it does not require the fill to equal that boundary. Compare the executed amount with the quote attached to that transaction, using the same token units and fee treatment. A newer quote displayed after submission provides a different comparison point.

Does zero slippage tolerance guarantee the quoted output?

Zero tolerance removes the allowance for adverse output movement; it does not guarantee execution. A transaction can fail when available output falls below its required threshold. Account errors, unavailable liquidity, and submission problems also remain possible. Zero tolerance therefore expresses a strict acceptance condition, rather than a reservation of the quoted market state.

Will changing slippage settings update a swap I already signed?

Changing an interface setting does not rewrite the slippage constraint in an already signed transaction. The constraint belongs to the transaction you authorized. Applying different terms requires a transaction built with those terms and the necessary authorization. Resolve any existing submission before treating a rebuilt transaction as a replacement, since changing a setting does not cancel the earlier attempt.

How does tolerance differ for an exact-output swap?

In an integration supporting ExactOut, tolerance applies to the input amount needed for the requested output. ExactIn instead fixes the input and applies tolerance to output. Do not assume an interface or route supports both modes, or interpret an exact-output limit as minimum received. Jupiter's legacy quote interface documents this distinction and limits ExactOut support by trading mechanism.

Could restricting Jupiter to a direct route reduce slippage?

A direct-route restriction does not guarantee lower slippage or better pricing. In Metis routing, it limits the quote to a single market. If that market has insufficient depth, its quote can be worse than another available route; if no direct route exists, no quote is available. Judge the resulting output and liquidity conditions rather than assuming fewer routing steps improve execution.

Does slippage tolerance protect tokens against a price fall after the swap?

Slippage tolerance governs the exchange's execution constraint and does not protect the received tokens against subsequent market movements. Once the swap succeeds, later changes in their market value concern the resulting holding. A later price decline does not mean the completed transaction violated its minimum-output condition. Assess that condition using the transaction's executed token amount and applicable threshold.

· last updated