Back to Research
2026-10-0820 min read

Crypto Slippage Explained: Why Your Fill Price Moved and How to Pay Less of It

C

Research Desk • Organizational attribution

Source Standard
6 source notes
Last Reviewed
2026-10-08

Crypto Slippage Explained: Why Your Fill Price Moved and How to Pay Less of It

Analysis by CryptosEyes Research | Updated October 8, 2026

Short Answer

Slippage is the gap between the price you saw when you placed a trade and the average price you actually got. On a centralized exchange it happens because your order eats through several price levels in the order book. On a decentralized exchange it happens because an automated market maker reprices the pool as your trade lands, and because the market can move while your transaction waits to be confirmed. Slippage is not a fee and it is not charged by anyone. It is the cost of demanding immediate execution in a market with finite depth at the top of the book. Small trades in deep markets pay almost none of it. Large trades in thin markets can pay several percent, and during forced selling the same mechanism is what turns a stop order into a fill far below the stop price.

Four Costs That Get Confused With Each Other

Most trade confirmations bundle four different costs into one disappointing number. Separate them and each one becomes manageable.

CostWhat it isWho sets itCan you control it?
SpreadThe gap between the best bid and the best ask before you tradeOther traders posting limit ordersOnly by choosing a deeper market
SlippageThe difference between the quoted or expected price and your average fill priceBook depth, pool size, volatility, and your order sizeYes: size, order type, timing, tolerance settings
Price impactThe portion of slippage your own trade causes by consuming depth or moving the poolYour trade size relative to available depthYes: split orders, trade smaller relative to depth
FeesCommissions or pool fees charged on the tradeThe exchange or protocolPartly: maker vs taker orders, fee tiers

Binance Academy draws the first distinction the same way: the spread is the standing gap between the highest bid and the lowest ask, while slippage is the difference between the expected price of a trade and the price it actually executes at. Price impact is best treated as a component of slippage, the part caused by your own order rather than by the market moving while you waited. Fees sit outside all three: a trade can have zero slippage and still cost you a pool fee, and a trade can slip badly on a venue that charges no commission at all.

This separation matters because the fixes differ. A wide spread is a market selection problem. Price impact is a sizing problem. Slippage from market movement is a timing and settings problem. Fees are a venue and order-type problem. Lumping them together produces one vague complaint; separating them produces a checklist.

Slippage on an Order Book: Walking the Asks

A central limit order book stacks buy orders (bids) below the market and sell orders (asks) above it. A market buy does not execute at one price. It consumes the cheapest ask first, then the next, then the next, until the order is filled. Your fill price is the average across every level you consumed.

All figures in this section are invented for illustration. The book below does not exist.

Suppose the asks for a token quoted in dollars look like this, and you place a market buy for 50 units:

Ask levelPriceUnits availableUnits you takeCost of this slice
1$100.001010$1,000.00
2$100.052525$2,501.25
3$100.124015$1,501.80
Total50$5,003.05

Your average fill is $5,003.05 / 50 = $100.061. Against the $100.00 price on the screen when you clicked, slippage is ($100.061 - $100.00) / $100.00 = 0.061%. The same order for 500 units would keep walking: it would exhaust the visible book, trade into levels nobody had quoted yet when you clicked, and fill at a far worse average. Nothing malfunctioned. The book simply had 75 units of depth near the price, and you asked for more than that.

Three facts follow from the mechanics:

Slippage scales with order size relative to depth, not with order size alone. A 50-unit buy is trivial in a book with 50,000 units stacked near the price and destructive in the book above. Before any large trade, the question is never "how big is my order" but "how big is my order compared to the depth I can see."
A market order buys certainty of execution and gives up certainty of price. The exchange promises to fill you, not to fill you at the displayed price. A limit order makes the opposite trade: price is guaranteed if the order fills, and the fill itself is not guaranteed.
The displayed price is the price of the last trade or the best quote, not the price of your trade. Screens show the marginal price. Your average price is a property of your size, and no quote display can show it until your order meets the book.

Slippage on an AMM: The Pool Reprices You

Decentralized exchanges replace the order book with a liquidity pool and a formula. Uniswap's developer documentation describes the classic design: the pool holds reserves of two tokens and prices trades with a constant product formula, x * y = k, where x and y are the reserve balances and k must stay constant across a trade. The spot price is the ratio of the reserves. When you trade, you change the reserves, so you change the price for the next unit inside your own trade. Larger trades relative to pool depth move the price more. Uniswap's docs name that effect price impact.

Worked example, again with invented figures. A pool holds 100 ETH and 300,000 USDC, so the spot price is 300,000 / 100 = 3,000 USDC per ETH and k = 100 x 300,000 = 30,000,000. You swap USDC for ETH. Ignoring the pool fee for one line of math, the pool must keep the product constant after your trade:

Your USDC in (hypothetical)ETH out, no feeYour average priceSlippage vs 3,000 spot
3000.09993,003.000.10%
3,0000.99013,030.001.00%
30,0009.09093,300.0010.00%
150,00033.33334,500.0050.00%

Check the third row by hand: after adding 30,000 USDC the pool holds 330,000 USDC, so it must hold 30,000,000 / 330,000 = 90.9091 ETH. You receive 100 - 90.9091 = 9.0909 ETH, and 30,000 / 9.0909 = 3,300 USDC per ETH. The curve never refuses the trade and never runs dry; it just charges more for each successive unit. That is why a swap quote worsens smoothly as you type a bigger number, instead of failing the way an empty order book does.

Now add the fee. Uniswap pools charge a swap fee set by the pool and protocol version, paid to liquidity providers; the classic figure is 0.3% of the input. With a 0.3% fee, only 29,910 of your 30,000 USDC enters the pricing math, you receive about 9.066 ETH instead of 9.091, and your average price rises to about 3,309. The fee is small next to the 10% price impact at this trade size, which is the general pattern: in thin pools, impact dwarfs fees; in deep pools, fees are most of the cost because impact rounds to zero.

Concentrated liquidity, introduced in Uniswap v3 and carried into v4, applies the same formula inside price ranges chosen by liquidity providers. Depth is deep near the current price where providers cluster and thin or absent outside active ranges. The practical consequence for slippage is simple: a pool can look large by total value and still slip hard on a trade that pushes price through a thin range boundary. Total pool size is a weaker signal than depth around the current price.

The Second Cause: The Market Moves While You Wait

Order book slippage and curve impact both assume the world holds still during your trade. On-chain, it does not. A swap is quoted at one moment and confirmed in a block later. Prices on other venues move in between, arbitrageurs update the pool, and your transaction executes against a state that no longer matches your quote.

Uniswap's own slippage explainer lists the causes in this order: markets moving fast between submission and on-chain confirmation, thin liquidity that forces the trade to slide along the curve, large trade size, and negative MEV, where searchers front-run or sandwich a large swap by inserting their own transactions around it to profit from the price movement the trade causes. A sandwich works like this: a bot sees a large pending buy in the public mempool, buys first to push the pool price up, lets the victim's trade execute at the inflated price, then sells into the strength the victim created. The victim's slippage is the bot's revenue, minus costs. The defense starts with the tolerance setting, covered next, because a sandwich can only extract up to the maximum price movement the victim agreed to accept.

Centralized venues have a milder version of the same problem. Your market order reaches the matching engine fast, but during a violent move the book itself is being repriced thousands of times per second. Liquidation bursts are the extreme case: forced market sells consume the bid side mechanically, which is part of why the cascade dynamics in <a href="/insights/crypto-liquidations-explained-2026">our liquidations guide</a> produce fills so far from the prices traders expected when they set their stops.

Positive slippage exists too. If the market moves in your favor between order placement and execution, a buy can fill below the quoted price or a sell above it. Binance Academy notes the same point: slippage does not always work against the trader. In practice, positive slippage shows up most on limit orders resting in the book during fast moves and on market orders placed just before a favorable jump, and it is rarer than the negative kind for large market orders in thin books, where the mechanics of walking the book or sliding along the curve are stacked against size.

Slippage Tolerance: The One Setting That Defines Your Worst Case

On a DEX swap, the tolerance you set is the maximum percentage the executed price may move from the quote before the transaction reverts. Uniswap's explainer describes the trade-off directly: lower slippage settings keep prices tight but raise the risk of a failed swap, while higher settings make settlement more likely at a worse price, and the Uniswap Web App typically offers a tolerance in the 0.1% to 5% range. Coinbase Wallet's DEX help page states the same contract from the wallet side: swaps execute at a price within the slippage specified on the confirmation page, or the transaction is canceled and funds are returned.

Translate the setting into money before you touch it. Suppose a quote promises 9.0909 ETH for 30,000 USDC, as in the pool example above:

Tolerance you set (hypothetical quote)Minimum ETH you acceptWorst-case average priceWhat you are really saying
0.1%9.08183,303.30Revert on almost any movement
0.5%9.04553,316.61Normal movement is fine, extraction is not
5%8.63643,473.68Fill me at nearly any price
50%4.54556,600.00No price protection at all

Two failure modes bracket the setting:

Too tight: normal block-to-block price movement exceeds your tolerance, the swap reverts, and you still pay the network fee for the failed transaction. Repeated reverts in a volatile hour can cost more in fees than the slippage you were avoiding.
Too loose: the trade nearly always succeeds, and you have posted a standing invitation. A sandwich bot can profitably push the price against you by any amount up to your tolerance. A 10% tolerance on a large swap in a thin pool tells every searcher exactly how much value is available to extract.

A separate trap sits inside fee-on-transfer tokens: some tokens deduct a percentage on every transfer, so the amount arriving at the pool is smaller than the amount sent, and quotes can fail until tolerance covers the transfer tax. Raising tolerance fixes the failure and widens the extraction window at the same time. There is no setting that removes the token's tax; the tolerance is only deciding how much additional price movement you will also accept.

On centralized exchanges there is usually no tolerance dial on a plain market order. The equivalent controls are the order type itself (limit and stop-limit orders cap your price), price protection features some venues offer on market orders, and splitting the order manually. The setting exists on DEX interfaces because the delay between quote and block confirmation is part of the venue's design.

Why Stops and Liquidations Slip the Most

Slippage is worst exactly when traders can least afford it, and the reason is mechanical. A stop order that triggers becomes, on most venues, a market order. If the stop triggers because price is falling fast, the book below is thin precisely because everyone else is selling or pulling bids. The order walks down through whatever bids remain. The stop price was a trigger, never a guaranteed fill price, and the gap between the two during a cascade is slippage in its purest form.

Positions opened with borrowed funds add a second machine. When an exchange liquidates a position, it sells or buys with marketable orders into the same stressed book, competing with every triggered stop at once. The funding and positioning backdrop matters here: crowded, one-sided positioning of the kind tracked by <a href="/insights/crypto-funding-rates-explained-2026">funding rates</a> and <a href="/insights/crypto-open-interest-explained-2026">open interest</a> means many positions share nearby liquidation and stop levels, so one move can trigger a queue of forced market orders into a book that is already moving. Position sizing and margin mode decide how much of that queue is yours; <a href="/insights/cross-vs-isolated-margin-explained-2026">our cross vs isolated margin guide</a> covers how the margin choice changes the blast radius when a liquidation does happen.

None of this means stops are useless. It means the number to plan around is not the stop price but the realistic fill during stress: the stop price minus the slippage a thin, falling book typically produces on your size. Traders who size positions off the trigger price alone have modeled a fill that a stressed book rarely delivers.

Measure Your Own Slippage After the Fact

You cannot manage a cost you never measure. Every fill gives you the two numbers needed:

Slippage % = (average fill price - reference price) / reference price x 100, signed so that worse is positive cost. For a buy, a fill above the reference is a cost; for a sell, a fill below it is.

The reference price is the decision price: the mid-price or best quote at the moment you chose to trade, not the last price printed minutes later. Using a later reference rewrites history and makes every execution look fine. Worked example with invented figures: you decide to buy at a displayed ask of $100.00, your fills average $100.061 as in the order book table, and slippage is +0.061%. The pool fee, if any, is separate; add it afterward to get your all-in execution cost against the decision price, a measure traders call implementation shortfall.

Do this for a month of trades and patterns appear that no single painful fill reveals: which pairs slip, which hours slip, which order sizes cross the depth threshold on your usual venues. The fix for a pair that slips at your size is usually boring (trade smaller, use limits, move venue) and obvious once the measurements exist.

The Reduction Playbook

None of these tactics remove slippage. Together they cut it to the part you cannot avoid: the market moving on its own while your trade executes.

Split large orders. Five smaller market orders let the book refill between executions, as arbitrageurs and market makers requote levels you consumed. On an AMM the same logic applies across time: the pool price recovers toward the wider market price as arbitrageurs trade against it, so tranches executed minutes apart pay less impact than one block-sized swap. The cost of splitting is exposure during the execution window; price can run away from a half-finished position. Sizing the tranche is a judgment call between impact and drift.

Use limit orders when price matters more than certainty. A limit order is a promise to the book: it executes at your price or better, or not at all. Binance Academy lists limit orders among its practical slippage reducers for exactly this reason. The risks move rather than vanish: the order may never fill, it may fill only partially, and a resting limit order in a fast market can be picked off by faster traders when news moves the fair price through your level. What a limit order cannot do is fill worse than its limit.

Trade where the depth is. The same token trades on many venues and pools with wildly different depth. Before a large trade, compare depth near the price, not headline volume: volume can be high while the book near the touch is thin. On AMMs, prefer the pool with depth concentrated around the current price, and check the quote at your actual size, since the displayed spot price describes a trade of nearly zero.

Set tolerance from the pair, not from habit. Liquid major pairs routinely execute inside 0.1% to 0.5%. Thin long-tail pools may need more, and the need itself is information: a token that requires a 5% tolerance to trade at all is telling you its exit door is narrow. Set the number to cover ordinary movement plus the curve impact at your size, and no more. On volatile news events, expect reverts and retry rather than pre-widening the setting.

Avoid the stressed minutes when you can. Slippage clusters around major data releases, liquidation cascades, scheduled token releases, and listing minutes, when books thin and volatility spikes. A trade that can wait one hour usually should. A trade that cannot wait should be sized for the stressed book, with the stop-fill logic from the section above, not for the calm book on the screen at noon.

Read the quote at your size, including the minimum received. Every DEX interface shows an expected output, a minimum received after tolerance, or both. The minimum received is the number your wallet is actually committing to. If that number would embarrass you in a fill report, the trade is too big for the pool or the tolerance is too wide. Fix one of them before signing.

Consider routing and execution features. Swap aggregators split a trade across pools and venues, buying depth wherever it is cheapest; the constant product math above is why a split route beats a single thin pool. Some interfaces offer MEV protection by routing transactions through private channels rather than the public mempool, which removes the sandwich leg of slippage; Binance Academy's 2026 update flags checking for exactly this before setting a high tolerance.

The Pre-Trade Checklist

Run these five checks before any trade large enough to matter. Each takes under a minute.

[ ] Depth check: at my size, how far does the book or pool quote move? If the interface shows expected price impact above roughly 0.5% on a major pair, split the trade or move venue.
[ ] Venue check: is there a deeper book or pool for this pair, and am I looking at depth near the current price rather than total volume or total pool size?
[ ] Order type check: does this trade need certainty of fill (market) or certainty of price (limit)? Stops get the stressed-book treatment: assume the fill is worse than the trigger.
[ ] Tolerance check: what is my minimum received in units, and would I accept that fill without regret? If not, the tolerance is too wide or the size is too big.
[ ] Timing check: is news, a scheduled token release, or a liquidation cluster within the next few minutes? If yes and the trade can wait, wait.

Six Slippage Traps

1. The spot price lie. The price on the chart is the price of the last small trade. Your trade is bigger, so your price is worse. Every slippage surprise starts with treating a marginal price as an average price.

2. The tolerance panic raise. A swap reverts twice in a volatile minute, so the tolerance goes from 0.5% to 10% on the third try. That third transaction is the one a sandwich bot can extract from. Reverts cost a network fee; a 10% extraction costs 10%.

3. The thin-pool exit. Buying a token in a shallow pool is easy because small buys barely move it. Selling a real position out of the same pool is the expensive direction. The exit cost is set when you enter, by the pool's depth, not when you leave.

4. The stop that was a market order. A stop set 5% below the market during a cascade can fill 15% below it, because the triggered order buys the same certainty of execution as any market order, in the worst book of the day.

5. Confusing fees with slippage. A fill 1% below the screen price with a 0.3% pool fee is 0.7% of execution cost to investigate, not 1%. Blaming the venue's fee schedule for curve impact leaves the real cause (size versus depth) unfixed.

6. Averaging into the same thin book. Adding to a position through repeated market orders in one illiquid pair pays the walk-the-book cost on every tranche. If the pair cannot absorb your full size once, it cannot absorb it five times in a minute either; the book needs time or a different venue.

Frequently Asked Questions

What is slippage in crypto, in one sentence?

Slippage is the percentage difference between the price you expected when you placed a trade and the average price you actually received, caused by consuming book or pool depth, by the market moving before execution, or both.

Is slippage a fee charged by the exchange?

No. Slippage is not charged by anyone and appears on no fee schedule. It is an execution outcome: your order traded at the prices available when it arrived. Fees are separate and knowable in advance. A trade can have high fees and no slippage, or no fees and severe slippage.

What slippage tolerance should I use?

Set it to cover normal price movement plus the curve impact at your trade size, and no wider. Liquid major pairs often execute inside 0.1% to 0.5%; thin pools need more, and needing far more is a warning about the pair itself. Always read the minimum received amount the tolerance produces, because that is the worst fill you are accepting.

Why did my swap fail even though the price barely moved?

On-chain quotes move block by block. If the executed price crossed your tolerance at the moment your transaction landed, the transaction reverts to protect you, and the network fee is still spent. Fee-on-transfer tokens can also fail this way because the pool receives less than the quoted input. Widen tolerance slightly or retry in a calmer minute rather than jumping to a very wide setting.

Can slippage be positive?

Yes. If the market moves in your favor between placement and execution, a buy fills below the quote or a sell fills above it. Binance Academy documents the same possibility. It is less common for large market orders in thin markets, where the depth mechanics work against size regardless of direction.

Why is slippage worse on small tokens?

Depth. A small token's order book or pool holds little value near the current price, so a modest trade consumes a large share of it, walking the book or sliding along the curve. The token's market cap matters less than the depth at your size; the supply arithmetic behind that is covered in <a href="/insights/crypto-market-cap-vs-fdv-explained-2026">our market cap vs FDV guide</a>.

Sources

Binance Academy: Bid-Ask Spread and Slippage Explained - definitions of spread and slippage, positive slippage, tolerance and front-running risk, and the practical reducers (split orders, limit orders, liquid markets), including the 2026 note on MEV protection tools.
Uniswap Developers: How Uniswap Works - the constant product formula x * y = k, price impact growing with trade size relative to pool depth, and concentrated liquidity applying the formula within LP price ranges in v3 and v4.
Uniswap Blog: What is Slippage? - the four causes (fast markets, thin liquidity, big trades, negative MEV including sandwich attacks), tolerance behavior in the Uniswap Web App (0.1% to 5%), and failed swaps still costing the network fee.
Coinbase Help: Swap using a DEX - Introduction - wallet-level confirmation that DEX swaps execute within the slippage shown on the confirmation page or are canceled with funds returned.

Pool depths, quotes, and tolerance defaults change with market conditions and interface versions. The worked figures in this guide are hypothetical and labeled as such; the mechanics are the venue formulas and order types as documented above in October 2026. Check the live quote, depth, and minimum received before any trade.

CryptosEyes publishes general educational research, not investment, legal, or tax advice. Slippage is an execution cost, not a predictable one, and no tolerance setting, order type, or routing choice removes the risk of loss in crypto markets, including total loss. Size every trade for the book or pool you are actually trading into.

Source & Review Basis

This article is reviewed against the source types below. Source links are provided to help readers verify primary documents, market context, and methodology independently.

Related research

C

About the Author: CryptosEyes Research

CryptosEyes Research is the editorial desk behind CryptosEyes, an independent site that tracks public-company crypto exposure with source notes, repeatable calculations, and plain-English risk context. Figures on this site come from company filings, press releases, and market-data providers - never invented - and each article carries source notes so readers can verify claims for themselves.

View Full Research Profile
Reviewed against source notes and calculations
Market Analysis
Research note: This article is educational market research, not financial advice. Crypto and public equity data can change quickly; see our methodology and editorial policy for sourcing, review, and correction standards.
Important: Educational Purposes OnlyThe data, charts, treasury tracking metrics (including mNAV and SPS), and research provided on CryptosEyes.com are for informational and educational purposes only. They do not constitute certified financial, investment, or trading advice. Digital assets like Bitcoin and Ethereum are highly volatile. Always conduct your own research and consult with a registered financial advisor before making investment decisions.