Slippage is the difference between the expected price of a trade and the actual execution price. It occurs because market conditions can change between when you submit a trade and when it executes (on DEXs: price impact from your trade size against available liquidity, plus front-running; on CEXs: order book movement between quote and fill).

What Is Slippage?

3 min read

The short version

Slippage is the gap between the price you see when you click "swap" and the price you actually get. On a DEX, it mostly comes from your trade being large relative to the pool (price impact) or from bots front-running you. On a CEX, it comes from the order book moving before your order fills. Either way, you end up with slightly less than expected.

How It Works

Two types: (1) Price impact (predictable), caused by your trade size moving the price along the AMM curve. Larger trades in smaller pools = more impact. This is calculable before trading. (2) Market slippage (unpredictable), caused by other trades executing between when you submitted and when your transaction is processed. On DEXs: block time delays mean other trades can change the pool state before yours executes. MEV bots exploit this via sandwich attacks. Slippage tolerance: the maximum deviation you accept. If you set 0.5% slippage tolerance and the final price moves more than 0.5% from your expected price, the transaction reverts (protecting you from extreme outcomes). Setting too low = frequent failed transactions. Setting too high = vulnerable to sandwich attacks.

How 1% slippage tolerance works in practice

You swap 10,000 USDC for ETH on Uniswap. Expected output: 3.333 ETH (at $3,000/ETH). You set 1% slippage tolerance, meaning you accept a minimum of 3.300 ETH. Scenario A: The pool state is unchanged when your transaction executes. You receive 3.330 ETH (slight price impact from your trade size). Slippage: 0.09%. Transaction succeeds. Scenario B: Between your submission and execution, another large buy hits the pool first. Your trade now would only yield 3.280 ETH (1.6% worse than expected). This exceeds your 1% tolerance, so the transaction reverts. You keep your 10,000 USDC. You can retry at the new price. Scenario C: A sandwich bot front-runs you, pushing the price to exactly your tolerance boundary. You receive 3.300 ETH (the minimum). The bot profits ~$30 from the price difference.

What People Get Wrong

  • Slippage is always the DEX ripping you off

    Slippage is a market mechanics issue, not a fee. It results from finite liquidity, trade timing, and competing participants. The DEX protocol takes only its stated fee, slippage is the cost of executing in a live market.

  • Setting slippage to 0% prevents all losses

    Setting 0% means your transaction will fail if the price moves even slightly (which it almost always does between blocks). In practice, 0.1%-0.5% is needed for standard trades; volatile tokens may need 1-3%. Too-low settings just cause repeated failures.

  • Slippage only happens on decentralized exchanges

    CEXs have slippage too, market orders on thin order books fill at progressively worse prices. The difference: CEX slippage is from order book depth; DEX slippage is from AMM curve math plus timing. Both are real.

Sources & Further Reading

Questions People Also Ask

What slippage tolerance should I use?
For major pairs (ETH/USDC, BTC/ETH): 0.1%-0.5%. For small-cap or volatile tokens: 1%-3%. For tokens with transfer taxes (fee-on-transfer): set to tax % + 0.5%. If transactions keep reverting, increase slightly. If you suspect sandwich attacks, try private transaction services.
How do I reduce slippage?
Use DEX aggregators (1inch, Paraswap) to split across pools. Trade during low-activity periods. Break large swaps into smaller ones. Use limit orders instead of market swaps. Use MEV-protected RPCs (Flashbots Protect, MEV Blocker). On CEXs: use limit orders instead of market orders.
What does "price impact too high" mean?
The DEX is warning that your trade is large relative to the pool, causing significant price movement (often >5-10%). Solutions: find a pool with deeper liquidity, use an aggregator to split the trade across multiple pools, or reduce trade size.

More in Exchanges, Liquidity & Trading

See all →
Was this page helpful?

Page last checked