DeFiNotebook
DeFi Basics

What Is Slippage in Crypto? Price Impact and Slippage Tolerance Explained

By DeFi Notebook Editorial Team Published

Important Disclaimer

This is not financial advice. DeFi involves significant risks. Never invest more than you can afford to lose, and always do your own research (DYOR). Read our full disclaimer.

On this page

When you swap tokens on a decentralised exchange, the amount you receive is often a little less than the quote you saw. That gap has two separate causes, and swap screens show both of them: price impact and slippage. People often treat them as one thing. They are different, and knowing which is which explains most of the "why did I get less?" questions beginners have.

This page explains the mechanism. It does not tell you what or when to trade.

Risk warning: Token swaps are irreversible and prices can move sharply. Nothing here is financial advice. Read our Common DeFi Scams guide before swapping anything you do not recognise.

The short version

  • Price impact is how far your own trade moves the price. It is known before you click swap, because it comes from the pool's maths.
  • Slippage is how far the price moves between you submitting the trade and the network processing it, because of other people's trades.
  • Slippage tolerance is a limit you set. It tells the exchange "if I would receive less than this, cancel the trade".

Why your own trade moves the price

Most decentralised exchanges, including Uniswap, have no order book. You trade against a liquidity pool: a smart contract holding two tokens, priced by a formula.

The classic formula is x × y = k. The pool holds amount x of one token and y of the other, and their product k must stay the same after every trade (fees aside). When you add one token, the pool must give back enough of the other to keep the product constant.

A worked example

Imagine a pool holding 100 ETH and 200,000 USDC. The ratio puts ETH at 2,000 USDC, so k = 20,000,000.

A small trade: 1,000 USDC for ETH. The pool now holds 201,000 USDC, so it can only keep 20,000,000 ÷ 201,000 = 99.502 ETH. You receive 0.4975 ETH. At the headline price of 2,000 you might have expected 0.5. The shortfall is about 0.5%.

A larger trade: 10,000 USDC for ETH. The pool now holds 210,000 USDC and keeps 95.238 ETH. You receive 4.762 ETH instead of the 5 the headline price suggests, a shortfall of about 4.8%.

Ten times the trade cost almost ten times as much in percentage terms. Each unit you buy makes the next one dearer, because the pool's ratio shifts with every unit taken out. That shortfall is price impact, and it depends on how big your trade is relative to the pool. The same trade in a pool ten times deeper would barely register.

This is why a high price impact on a small trade is a warning sign. It means the pool is tiny, which is common with newly launched tokens and with scam tokens.

Why the price moves after you click

A swap is not instant. Your wallet signs a transaction, broadcasts it, and it waits to be included in a block. On busy networks that can take seconds or longer, and other trades in the same pool can be processed before yours.

If someone else buys the same token just before you, the pool's ratio has already shifted by the time your trade runs, and you receive less than the quote showed. That difference is slippage. It can also go in your favour if the price moves the other way, but swap interfaces are built around protecting you from the downside.

Slippage tends to be larger when:

  • the token is volatile, so its price is moving quickly anyway
  • the pool is shallow, so other people's trades move it a lot
  • the network is congested, so your transaction waits longer

What slippage tolerance actually does

The slippage tolerance setting does not reduce slippage. It sets the worst outcome you will accept.

When you submit a swap with a 0.5% tolerance, the transaction carries a minimum amount out: the quote minus 0.5%. If, when your trade is processed, the pool would give you less than that minimum, the whole transaction reverts and you keep your original tokens.

Two consequences follow:

  1. A failed swap still costs gas. The network did the work of running and rejecting your transaction, so the network fee is spent even though nothing was swapped. This is the most common reason beginners see a fee with no trade.
  2. A very high tolerance is an open door. If you set 10% or more, you have told the network that receiving 10% less is acceptable, and someone can arrange for exactly that to happen.

Sandwich attacks: how a loose tolerance gets exploited

Pending transactions are visible to anyone watching the network before they are confirmed. Automated bots scan them for swaps with generous slippage tolerances.

When a bot spots one, it:

  1. buys first, paying more gas so its trade runs just before yours and pushes the price up
  2. lets your trade run at the worse price, up to your tolerance limit
  3. sells straight after, at the higher price your own trade created

Your trade sits between the bot's two trades, hence "sandwich". You did not do anything wrong except leave room in the tolerance, and the bot took that room as profit. This is one form of what is called MEV (maximal extractable value).

The defence is mechanical: keep tolerance as low as the trade will tolerate, trade in deep pools, and be wary of any interface or token that tells you to raise tolerance a long way "for the trade to go through". Some tokens charge a hidden transfer tax that only clears at a high tolerance, which is a red flag in itself.

Reading the swap screen

Before confirming, a typical swap interface shows:

Field What it tells you
Rate Tokens received per token spent, at the current pool state
Price impact How much your trade moves the pool, from the formula above
Max slippage / slippage tolerance The extra movement you will accept before the trade cancels
Minimum received The quote minus your tolerance. You will get at least this, or nothing
Network fee Gas, paid whether the swap succeeds or fails

Minimum received is the most honest number on the screen. If you would not be happy receiving exactly that amount, do not confirm.

Our How to Use Uniswap guide walks through this screen step by step.

Frequently asked questions

Is slippage a fee? No. Nobody charges it. It is the price moving, either because of your own trade (price impact) or because of other trades landing first (slippage). The swap fee and the network fee are separate charges.

What is a normal slippage tolerance? Many interfaces default to around 0.5% for liquid pairs, and some set it automatically. A default that keeps rising, or a token that only trades at a very high setting, deserves suspicion rather than a bigger number.

Why did my swap fail with "insufficient output amount" or a similar message? The price moved beyond your tolerance before the trade ran, so the minimum-received check failed and the transaction reverted. You keep your tokens but lose the gas.

Does slippage happen on centralised exchanges too? Yes. A large market order on an order book fills against progressively worse prices, which is the same idea. The x × y = k formula is specific to automated market makers, but "bigger trades in thinner markets get worse prices" is universal.

Can I avoid slippage entirely? Not entirely. You can make it small by trading in deep pools, keeping trade sizes modest relative to the pool, and trading when the network is quiet.

Related reading

DeFi Notebook Editorial Team

Written and reviewed by DeFi practitioners with hands-on experience using protocols like Uniswap, Aave, Lido, and Curve. We test the wallets, bridges and yield strategies we cover so our guides reflect real on-chain workflows, not just whitepaper summaries. This is educational content, not financial advice.