What is slippage in crypto trading?
Answer
Slippage is the difference between the price you expected when you submitted an order and the price it actually executed at. It happens because a market order takes whatever liquidity is there when it lands, and that liquidity moves in between: on an order book, other trades hit the same levels first; in an automated market maker, your own trade moves the pool price, which is price impact, and other transactions can be ordered ahead of yours. Slippage tolerance is the maximum adverse move you will accept before the trade fails instead of filling — and setting it wide is what gives sandwich bots room to work.
Nuances and considerations
- Slippage is not a fee. It never appears as a line item, because it is realised inside the execution price. That is precisely why it is easy to under-count: a venue can advertise a low fee and still cost more than a higher-fee venue with deeper liquidity.
- It is the price of certainty of execution. The SEC’s own investor glossary frames the trade-off plainly: a market order is almost always filled, but “the price you pay when your order is executed may not be the price you expected.” A limit order inverts that — you control the price and accept that the order may not fill at all.
- Price impact is the part you cause yourself. On an automated market maker, larger trades relative to the depth of the pool move the price more. Splitting a large order, or routing it through a deeper pool, changes this component; waiting for a calmer moment does not.
- A wide slippage tolerance is an attack surface, not a convenience setting. Ethereum’s own documentation describes the mechanic: a searcher watches the mempool for a large swap, buys immediately before it and sells immediately after, and the users who are sandwiched “face increased slippage and worse execution on their trades.” The tolerance you set is, in effect, the budget you have authorised someone else to spend.
- Tight tolerances fail trades instead. If the price moves past your limit the transaction reverts, and on-chain you can still pay the network fee for the failed attempt. There is a real trade-off here, and the right setting depends on the depth of the pair and how fast the market is moving — not on a single number that is correct everywhere.
- Not every venue exposes the same controls. Some route orders privately or offer MEV protection; some quote you a firm price and take the execution risk themselves, pricing that risk into the spread. Compare the all-in outcome, not the advertised fee.
What to check after a bad fill
- Was it a market order or a limit order?
- What slippage tolerance was set — by you, or by the app’s default?
- How deep is the pair or pool relative to your order size?
- Does the venue offer private routing or MEV protection, and was it on?
- Compare the all-in received amount across venues, not the headline fee.
Sources
- Market Order — Investor.gov glossary — U.S. Securities and Exchange Commission Supports: That with a market order execution is near-certain while the price is not: "the price you pay when your order is executed may not be the price you expected."
- How Uniswap works — Uniswap developer documentation — Uniswap Labs Supports: That in an automated market maker, larger trades relative to pool depth move the price more — the component known as price impact.
- Maximal extractable value (MEV) — Ethereum developer documentation — ethereum.org Supports: That a searcher can watch the mempool for a large DEX trade, buy immediately before it and sell immediately after, and that "users who are sandwiched face increased slippage and worse execution on their trades."
Related questions
Execution questions are asked seconds after a bad fill, which is where a vague answer does the most damage.