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 price | Shares offered | Shares bought | Cost |
|---|---|---|---|
| $42.00, the best ask | 400 | 400 | $16,800 |
| $42.02 | 600 | 600 | $25,212 |
| $42.05 | 1,000 | 1,000 | $42,050 |
| $42.10 | 2,000 | 500 | $21,050 |
| Total | 2,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 paid | ETH received | Average price | Above starting price | Pool price afterward |
|---|---|---|---|---|
| $10,000 | 4.3501 | $2,298.80 | 0.40% | $2,294.26 |
| $100,000 | 43.1034 | $2,320.00 | 1.33% | $2,336.85 |
| $1,000,000 | 394.9317 | $2,532.08 | 10.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.
| Term | What it measures | Set or caused by |
|---|---|---|
| Slippage | Expected price versus the average fill | Order size and market moves before execution |
| Price impact | How far the order's own size moves the price | Depth of the order book or pool |
| Bid-ask spread | Gap between the best buy and sell quotes before trading | Market makers and liquidity providers |
| Swap or trading fee | A set charge on the trade | The pool's fee tier or the exchange's schedule |
| Network fee (gas) | The cost of getting a transaction into a block | Demand for block space, paid even when a swap reverts |
| Sandwich loss | Extra slippage forced by a front-runner | A 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.
