Slippage is the difference between the price you expect when you submit a trade and the price you actually get. If a swap quotes 1,000 tokens and delivers 985, the missing 15 are slippage. It affects every kind of market, but it is most visible in crypto on decentralized exchanges (DEXs).
Why Slippage Happens
Two things cause it.
The first is your own order. Every market has limited liquidity at each price. A large order uses up the best prices and continues into worse ones. This part is called price impact, and it can be estimated before you trade.
The second is time. Between the moment you submit a trade and the moment it executes, other trades change the price. On a blockchain this gap can be several seconds or longer, and your pending transaction is often visible to others while it waits.
Slippage on Centralized Exchanges
A centralized exchange matches orders through an order book. A market order buys from the cheapest sell orders first and then moves up the book. If the best price only covers part of your order, the remainder fills at higher prices and your average cost rises.
A limit order avoids this. It sets the worst price you will accept, so it cannot slip. The cost is that it may fill only partly or not at all.
Slippage on DEXs
Most DEXs use liquidity pools instead of order books. A pool holds two tokens, and a formula sets the price from the ratio between them. The Uniswap documentation on swaps explains how each trade shifts that ratio.
A simple pool keeps the product of its two balances constant. Here is a made-up example that ignores fees. A pool holds 100 ETH and 200,000 USDC, so the price is 2,000 USDC per ETH.
- Swap 2,000 USDC for ETH: you receive about 0.99 ETH, not 1. Price impact is about 1%.
- Swap 20,000 USDC for ETH: you receive about 9.09 ETH, not 10. Price impact is about 9%.
The same trades against a pool ten times larger would lose roughly a tenth as much. Pool size relative to trade size is what matters. The Uniswap pricing guide walks through the math.
Types of Slippage
- Negative slippage: you get a worse price than quoted. This is the usual case.
- Positive slippage: you get a better price than quoted because the market moved in your favor while the order was pending.
- Price impact: the part caused by your own trade size.
- Execution slippage: the part caused by other trades landing before yours.
Slippage Tolerance
DEX interfaces let you set a slippage tolerance. It is the maximum percentage by which the final price may be worse than the quote. If the price moves past that limit, the transaction reverts and no swap happens. The interface turns your tolerance into a minimum amount received, which the contract enforces.
General guidelines:
- Large, liquid pairs usually work at 0.5% or less.
- Stablecoin to stablecoin swaps can go lower.
- Thinly traded tokens may fail unless tolerance is set to several percent. That is a warning about the pool, not a reason to raise the setting without thinking.
- Some tokens charge a tax on every transfer and only trade with a high tolerance. Treat these with extra caution.
If tolerance is too low, the swap fails, and on most networks you still pay the transaction fee for the failed attempt. If it is too high, you give others room to take the difference.
Sandwich Attacks
On public blockchains, pending transactions can be seen before they are confirmed. Bots watch for swaps with generous slippage settings. A bot buys the token just before your trade, which pushes the price up, lets your trade execute at the worse price, and then sells right after. Your trade is sandwiched between the bot's two trades, and you receive close to the minimum your tolerance allowed.
This is one form of maximal extractable value, which ethereum.org covers in its MEV documentation. A tight tolerance limits how much can be taken. Some wallets and services also send transactions through private channels so they are not visible while pending.
Practical Ways to Reduce Slippage
- Check pool liquidity before swapping, not only the token price.
- Read the price impact figure in the swap screen. If it is more than a percent or two, reduce the trade size or find a deeper pool.
- Split a large trade into several smaller ones over time. Each one pays its own network fee, so this works best where fees are low.
- Use a DEX aggregator, which can route one order across several pools for a better average price.
- Use limit orders where they are available.
- Keep tolerance as low as the pair allows, and reset it after trading an illiquid token.
Common Mistakes
- Leaving tolerance at a high value after one difficult swap, then using it on every later trade.
- Confusing slippage with fees. The pool fee and network fee are separate costs, charged on top.
- Judging a token by its price chart without looking at how much liquidity sits behind it.
- Raising tolerance again and again to force a failing swap through. Repeated failures can mean the token is restricted or built to trap buyers.
- Ignoring slippage on the way out. Selling an illiquid token has the same problem as buying it, often worse in a falling market.
Nothing in this article is financial advice.
Track on CoinMarketGuy
The DEX page lists active liquidity pools with their volume and liquidity, which is the first thing to check before a swap. For trading on order books, the exchanges page lists centralized venues.