Mcap -- BTC -- ETH -- SOL -- BNB -- XRP -- F&G -- View Market
Loading prices…

Slippage

The difference between the price you expected on a trade and the price you actually got. The main cost of trading anything illiquid.

Trading 5 min read

Slippage is the difference between the price you thought you would get on a trade and the price the trade actually executed at. On a DEX like Uniswap, slippage is usually a consequence of the trade itself moving the pool’s price β€” your buy order consumes tokens from one side of the pool and adds to the other, shifting the ratio, and the price worsens as the trade progresses through the curve. On a centralised exchange order book, slippage comes from filling deeper into the book as your order exhausts the liquidity at each level and has to pay progressively worse prices for the remainder. Either way, the cause is the same: you are paying for the fact that prices are not fixed; they depend on what everyone else is doing in the market, and a large enough trade moves the price against itself.

For small trades in liquid markets, slippage is negligible. A $100 swap of USDC to ETH on Uniswap V3 typically has slippage well under 0.1 percent. For large trades or illiquid markets, slippage can be the dominant cost of the transaction, far exceeding the trading fees and gas costs. A $100,000 trade into a small-cap token with $500,000 of liquidity on one side might produce 10 percent or more slippage, meaning you pay $110,000 worth of value for what you would expect based on the quoted price to be $100,000.

Slippage Tolerance

Most DEX frontends let you set a “slippage tolerance” β€” the maximum slippage you are willing to accept. If the actual slippage at execution time exceeds your tolerance, the transaction reverts and your gas is spent for nothing but the trade does not happen. Default slippage tolerance on Uniswap is around 0.5 percent, which is appropriate for most trades in liquid pairs. For thinner pairs or more volatile conditions, you may need to raise the tolerance β€” or not, depending on whether you prefer a failed transaction to a bad fill.

Setting slippage too high is a common way to get sandwiched. An MEV bot watching the mempool can see your transaction with a slippage tolerance of, say, 5 percent, and the bot knows you will accept a fill anywhere up to 5 percent worse than the current price. The bot can front-run you with a trade that moves the price close to your slippage limit, let your trade execute at the bad price, and then reverse its trade to lock in the profit. The bigger the slippage tolerance you set, the more room you are giving the attacker to extract value. The rule is to set slippage tolerance just high enough to account for real market movement and no higher β€” default settings are usually fine for normal conditions, and you should only crank it up when you genuinely need to for a specific reason.

Where Slippage Comes From on AMMs

For a constant-product AMM like Uniswap V2, slippage is a direct mathematical consequence of the x * y = k invariant. If a pool has 100 ETH and 300,000 USDC, the current spot price is $3,000 per ETH. If you swap 1 ETH in, the pool now has 101 ETH, so to preserve k the USDC side has to drop to (100 * 300,000) / 101 = 297,029 USDC, meaning you receive 2,970 USDC for your 1 ETH β€” about 0.99 percent worse than the spot price. That gap is the slippage. The slippage grows non-linearly with trade size: a 10 ETH trade in the same pool produces about 9 percent slippage, and a 50 ETH trade would consume so much of the pool that the price impact becomes catastrophic.

Uniswap V3’s concentrated liquidity can produce tighter slippage for trades that stay within the concentrated range, because all the liquidity is packed into a small price interval. But trades that push outside the range suddenly become much worse because they are effectively trading against whatever liquidity is posted at the next tick, which may be far thinner. V3 slippage is therefore more bimodal β€” very small for small trades, potentially very large for trades that cross range boundaries.

Curve’s stableswap pools use a different invariant optimised for assets that should trade near 1:1, and they produce much lower slippage for stable-stable trades than constant-product pools do. A $1 million USDC-to-USDT swap on Curve might produce near-zero slippage, whereas the same trade on a V2 USDC/USDT pool would have meaningful slippage despite the assets being nominally the same value.

How to Minimise Slippage

The tactical answers are:

Use aggregators. 1inch, Matcha, KyberSwap, Odos, and similar aggregators split your trade across multiple pools and venues to minimise total price impact. For anything larger than a trivial trade, an aggregator almost always produces a better fill than going directly to a single DEX.

Size your trades. If you need to move a lot of capital, breaking it up into smaller pieces over time reduces slippage at the cost of duration risk. This is the same principle institutional traders use on centralised venues with TWAP and VWAP execution algorithms.

Trade liquid pairs. If you have a choice of which token to sell and which to buy, picking the most liquid pair in your direction reduces slippage. Trading BTC/ETH directly is usually better than going BTC→USDC→ETH if both pools exist, because the intermediate stop costs you slippage on both legs.

Use limit orders where available. CEXes and some DEXes support limit orders that only execute at a specific price or better. Limit orders eliminate the slippage-acceptance problem by letting you specify the worst price you will accept and simply not executing if the market cannot meet it.

Trade at quiet times. Slippage tends to spike during periods of high volatility when liquidity thins out and spreads widen. If you have flexibility on timing, trading into a calm market produces better fills than trading into chaos.

Slippage is one of the genuine costs of decentralised trading, and it is more severe for DEX users than for CEX traders because most CEXes have deeper order books. Managing it well is one of the main skills that separates careful DEX users from careless ones, and the difference in execution quality can easily be several percent on non-trivial trades.