Slippage vs Price Impact: Why They Are Different (With Math)
Slippage and price impact get conflated constantly. They are different concepts that combine in your final fill price. Here is the math and the practical implication.
Walk into any crypto swap interface and you will see two numbers: 'price impact' and 'slippage tolerance'. Most users assume they are the same metric. They are not. Confusing them costs money. Here is the precise distinction, with the math that makes it concrete.
Price Impact
Price impact is the change in the marginal price of an asset caused by your own order. On a constant-product AMM (Uniswap V2 style), the formula is: Price impact ≈ (input amount) / (pool depth). A $10,000 swap into a pool with $1,000,000 of liquidity has a price impact of approximately 1%. The key property: price impact is deterministic from the moment you click — it depends only on your size and the pool's depth at that instant.
Slippage
Slippage is the difference between the price you were quoted and the price your transaction actually filled at. It exists because the market moves between when you sign the transaction and when it confirms. On a fast chain (Solana, sub-second finality), slippage is usually a fraction of a basis point. On Ethereum mainnet during congestion (12-30 second confirmation), slippage on volatile pairs can hit 50bps before any MEV is involved.
How They Combine
- Quoted output (no impact): 16.500 ETH for $50,000 USDC — this is the spot price extrapolated
- After price impact: 16.469 ETH — your $50k moved the marginal price down 18bps
- After slippage: 16.451 ETH — by the time tx confirmed, the spot price had drifted another 11bps
- Slippage tolerance setting (e.g., 0.5%) is your protection: if the actual fill would be worse than your tolerance vs the quoted output, the transaction reverts
The MEV Wedge
Sandwich attackers exploit the slippage tolerance you set: if you allow 1% slippage, an attacker can extract up to 1% of your trade size by buying ahead of you, letting you push price into your slippage zone, then selling. Setting tighter slippage (0.30% or below) caps this attack vector. The trade-off is that tight slippage causes more transactions to revert during volatile markets.
The Practical Settings
- Stablecoin-to-stablecoin swaps: 0.05% — the price should not move
- Major pairs (BTC, ETH, SOL) on deep pools: 0.30%
- Mid-cap altcoins on AMM venues: 0.50% to 1.00%
- Long-tail tokens with shallow liquidity: 1.00% to 3.00% — but reduce trade size first
- Anything above 3% — split the order or use a different venue; you are paying for a market manipulator
How Steyble Sets Defaults
Steyble defaults to 0.30% slippage on major pairs and 0.05% on stable-to-stable swaps, with explicit warnings if a pool's depth means your trade will exceed 1% price impact at the requested size. The MEV-protected mempool further reduces slippage exposure. The combined effect is that the typical Steyble swap fills within 5bps of the quoted price — closer to professional execution than retail UI typically achieves.