What is slippage?

Slippage is the difference between the price expected when an order is placed and the average price it fills at. It comes from the order's own size moving the price and from the market moving before execution, and limit orders and slippage tolerances cap it.

By Sonic Wallet Editorial Team· Updated · 7 min read

Key takeaways

  • Slippage is the gap between the price expected when an order is sent and the average price it actually fills at. It has two causes: the order's own size eating through the liquidity on offer, called price impact, and the market moving while the order travels to an exchange or waits for a block.
  • In the Uniswap v2 USDC-ETH pool on November 2, 2026, a $10,000 purchase paid 0.40% above the starting price, fee included, a $100,000 purchase paid 1.33% and a $1,000,000 purchase paid 10.6%.
  • In a constant-product pool, price impact is roughly the trade divided by the pool's reserve of the token being paid in, and the pool's own price moves about twice as far.
  • A slippage tolerance becomes a minimum output. If the price moves past it before the swap lands, the transaction reverts and the gas is still spent; Uniswap's app sets it automatically between 0.5% and 5%.
  • On stocks and crypto exchanges, a limit order caps slippage at the limit price, but part or all of the order may go unfilled.

Slippage is the difference between the price expected when an order is placed and the average price at which it actually fills. A buyer who sees ETH at $2,289.55 and pays an average of $2,320.00 has slipped 1.33%. Any market with limited depth produces it, from a stock exchange's order book to the pools behind a decentralized exchange in crypto.

Traders use the word in two ways. In most markets it means the whole gap. Uniswap's developer documentation splits it in two, calling the effect of the order's own size price impact and keeping slippage for price changes while a transaction is pending. This page uses slippage for the whole gap and names the parts where it matters.

How do you calculate slippage?

Compare the average price an order actually received with the price expected when it was sent, and divide the gap by the expected price.

Slippage (%) = (average fill price − expected price) ÷ expected price × 100

For a sale, subtract the average fill from the expected price instead, so a worse result is always a positive number. Most traders take the expected price from the quote they saw, the ask for a buy and the bid for a sale, which leaves the bid-ask spread out of the figure; measuring from the midpoint adds half the spread to every trade.

What does slippage look like on a stock order?

A market order larger than the shares offered at the best price keeps buying at the next prices up, so its average lands above the quote.

Worked example: A 2,500-share market order walks up the book

The quote and order book are illustrative. The stock shows $41.98 bid and $42.00 ask, with these offers waiting to sell:

Offer priceShares offeredShares boughtCost
$42.00, the best ask400400$16,800
$42.02600600$25,212
$42.051,0001,000$42,050
$42.102,000500$21,050
Total2,500$105,112
  • Average price: $105,112 ÷ 2,500 = $42.0448.
  • Slippage against the $42.00 ask: (42.0448 − 42.00) ÷ 42.00 × 100 = 0.11%, or $112 more than 2,500 shares at the quote.
  • With a buy limit at $42.05: the order takes the first 2,000 shares at an average of $42.031, $62 above the quote, and the other 500 wait as a bid at $42.05.

Speed adds the second cause. FINRA warns that a market order might not get the price that was seen or quoted, especially in fast-moving markets, because quotes may be delayed and trades take time to execute. If news lifted the best offer to $42.40 before the order arrived, the same market order would slip at least 0.95%, while the $42.05 limit would simply not fill. The guide to stock order types compares the alternatives.

How does price impact work in a DEX pool?

A constant-product pool keeps no list of offers; it prices each swap from its two reserves, so every unit bought leaves the next one more expensive.

Uniswap's pools follow x × y = k, where x and y are the pool's two token reserves and k must not fall after a trade. Larger trades relative to the pool's depth move the price more, which is the price impact. For the original v2 pools, the router's code library gives the exact output after the 0.3% fee:

Tokens out = (0.997 × tokens in × output reserve) ÷ (input reserve + 0.997 × tokens in)

Worked example: Buying ETH from the Uniswap v2 USDC-ETH pool on November 2, 2026

At 06:26 UTC, in Ethereum block 26,325,293, the pool held 9,716,112 USDC and 4,243.68 wrapped ether (WETH), a starting price of $2,289.55 per ETH. The outputs below match the v2 router's own on-chain quote at that block.

USDC paidETH receivedAverage priceAbove starting pricePool price afterward
$10,0004.3501$2,298.800.40%$2,294.26
$100,00043.1034$2,320.001.33%$2,336.85
$1,000,000394.9317$2,532.0810.59%$2,784.31
  • The fee is $30, $300 and $3,000. The rest of each gap is price impact, worth about $10, $1,013 and $92,784 at the starting price, because the impact percentage grows roughly in step with the trade.
  • The shortcut: impact is close to the trade divided by the pool's USDC reserve. $100,000 is 1.03% of 9.72 million, and that purchase paid 1.33% above the starting price, about 0.30% of it the fee.
  • The pool's own price moves about twice as far, 2.07% after the $100,000 trade, because the average fill sits between the starting and ending prices. Arbitrage traders then sell ETH into the pool until it lines up with other markets.

Real swaps rarely use one pool. Swap interfaces typically add routing, and pools that concentrate liquidity near the current price can be far deeper, so the $1,000,000 row shows the shape of the curve rather than a realistic quote; CEX vs DEX prices a $200,000 purchase from a 0.05% pool at about 0.2% in price impact. Splitting a large trade helps mainly when the pieces reach different pools or are spaced out long enough for arbitrage to pull the price back: cut into ten back-to-back pieces in the same v2 pool, the $100,000 purchase receives the same ETH to within 0.002%.

What does a slippage tolerance do?

A slippage tolerance is the largest move beyond the quote a swap will accept, and the app turns it into a minimum number of tokens the transaction must deliver.

On Ethereum a swap waits in the public mempool until a block includes it, and other swaps can move the pool in the meantime. Uniswap's documentation describes the tolerance as a margin beyond price impact: if the execution price lands outside it, the transaction fails and the swap does not happen. Uniswap's app also sets a 30-minute deadline, after which a pending swap fails rather than fill in a stale market.

Minimum received ≈ quoted output × (1 − slippage tolerance)

On the $100,000 purchase above, a 0.5% tolerance sets the floor near 42.89 ETH, about 0.21 ETH, or roughly $490, below the 43.10 ETH quote.

That buffer cuts both ways. A searcher watching the mempool can buy just before a large swap and sell straight after it, the sandwich trade ethereum.org describes, and the victim's tolerance sets how far the price can be pushed before the swap reverts. Set too tight, the tolerance turns ordinary price moves into failed swaps that still pay the network fee, as gas fees explained shows. Uniswap's web app sets the tolerance automatically, between 0.5% and 5% depending on network cost and swap size, and warns that a 25% setting could deliver 25% fewer tokens than the preview.

How do limit orders cap slippage?

A limit order sets the worst price the trader will accept, so slippage can never exceed the gap between the quote and the limit.

FINRA puts it precisely: a buy limit can execute only at or below the limit price and a sell limit only at or above it. The price of that protection is execution risk. In the stock example, the $42.05 limit bought 2,000 of the 2,500 shares wanted, and in a fast market it might buy none. A stop-limit order applies the same cap to a stop, triggering a limit order instead of a market order.

Crypto exchanges with order books work the same way, and Uniswap's guide says its app supports limit orders for selected pairs. For an ordinary pool swap, the slippage tolerance is the nearest equivalent: a worst acceptable price for one transaction that either fills in full or reverts.

Where do you see slippage?

Slippage shows up wherever a quote and a fill can differ: swap screens, broker order tickets and price pages that show a recent price.

  • Swap screens. A DEX quote typically shows the price impact, the maximum slippage and the smallest amount the swap can deliver, and Uniswap's app warns when price impact is unusually high. Tokens that take a fee on every transfer need a higher tolerance to go through.
  • Order tickets. Brokers typically enter an order as a market order unless the customer picks another type, according to FINRA, so the default is the order type that can slip. The average price on the confirmation, set against the quote when the order was sent, is the measured slippage.
  • Price pages. The ETH price page shows a recent market price, a fair benchmark for the expected price but not a quote for any particular size.

How is slippage different from price impact, spreads and fees?

Price impact and delay cause slippage; the bid-ask spread and fees are separate costs that apply whether a trade slips or not.

TermWhat it measuresSet or caused by
SlippageExpected price versus the average fillOrder size and market moves before execution
Price impactHow far the order's own size moves the priceDepth of the order book or pool
Bid-ask spreadGap between the best buy and sell quotes before tradingMarket makers and liquidity providers
Swap or trading feeA set charge on the tradeThe pool's fee tier or the exchange's schedule
Network fee (gas)The cost of getting a transaction into a blockDemand for block space, paid even when a swap reverts
Sandwich lossExtra slippage forced by a front-runnerA visible pending swap and a loose tolerance

On a DEX the pool fee is built into the quote, so the average price paid includes it, as in the v2 example. Liquidity, the depth of orders or reserves near the current price, is what keeps both the spread and price impact small.

Which slippage mistakes cost the most?

Most slippage losses come from treating a quote as if it held for any size, any speed and any tolerance.

  • Reusing a small quote for a big trade. The v2 pool charged 0.40% on $10,000 and 10.6% on $1,000,000, so check the price impact at the actual size.
  • Raising the tolerance until a swap goes through. A loose setting invites sandwich trades. A swap that keeps failing is often too big for the pool, or the token charges a transfer fee.
  • Market orders outside regular hours. FINRA notes that news can move the price before the market opens again; a limit order caps the damage.
  • Expecting a stop order to fill at the stop. FINRA describes a triggered stop as a market order at the current price, which can be well past the stop after a gap.
  • Reading maximum slippage as the total cost. The tolerance comes on top of price impact, so a swap with 1% impact and a 0.5% tolerance can end up about 1.5% worse than the starting price.

Frequently asked questions

What is a good slippage tolerance?+

It depends on the pool and the trade. Uniswap's app picks 0.5% to 5% automatically from network cost and swap size, and its own examples suggest about 0.05% for a large stablecoin swap in a deep pool and 1% or more for a new token in a shallow one. Tighter settings fail more often, and each failed attempt still costs gas.

Can slippage work in the trader's favor?+

Yes. If the price moves the other way before execution, a market order or swap fills better than expected. On a DEX the tolerance sets only a minimum output, so a swap that lands after a favorable move simply delivers more tokens than the quote showed.

Why does a swap fail with a slippage error?+

The output at execution fell below the minimum set by the tolerance, usually because other trades moved the pool while the transaction waited; Uniswap's v2 router reports this as INSUFFICIENT_OUTPUT_AMOUNT. Tokens that charge a fee on every transfer can trip the limit too, and a swap still pending after the app's 30-minute deadline fails as expired.

Does a limit order stop slippage completely?+

It stops the price from getting worse than the limit: FINRA describes a limit order as getting the limit price or better if it executes. The cost is certainty, because the order may fill only partly, or not at all if the market never reaches the limit.

Is slippage a fee?+

No one bills it. It shows up as a worse average price than the quote. On a DEX, a large purchase leaves the pool's price above the wider market, and arbitrage traders profit by selling back into the pool until the two line up again.

Sources

  1. Order Types, FINRA
  2. Understanding Swaps on Uniswap, Uniswap Labs
  3. Uniswap v2 Pricing, Uniswap Labs
  4. How Uniswap Works, Uniswap Labs
  5. UniswapV2Library.sol, getAmountOut, Uniswap (GitHub)
  6. How to change slippage on the Uniswap Web app, Uniswap Labs
  7. Why did my transaction fail?, Uniswap Labs
  8. How to Minimize Slippage on Your Swaps (October 25, 2025), Uniswap Labs
  9. Maximal extractable value (MEV), ethereum.org
  10. Uniswap V2: USDC pair contract, 0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc, Etherscan

Related guides