What Are Spread and Slippage?
Spread is the gap between an asset’s best bid and best ask prices. Slippage is the difference between the price you expect and the price your trade actually executes at. Both are hidden trading costs on top of fees.
On this page 11
- How to calculate the spread
- Why do spreads widen?
- What causes slippage?
- How to calculate slippage
- Positive vs negative slippage
- Price impact and slippage tolerance on a DEX
- What slippage tolerance should you use?
- What is a sandwich attack (MEV)?
- How to reduce slippage
- How to check what you actually paid
- Sources
The spread is the difference between the highest bid and the lowest ask in a market’s order book. Slippage is the difference between the price you expect when you place a trade and the price at which it actually executes. Both are trading costs you pay on top of exchange fees, and neither usually shows up as a separate line on your receipt.
You can see the spread before you trade; slippage only appears once the order executes. Both grow in illiquid markets and on large orders.
How to calculate the spread
Suppose the best bid is $99 and the best ask is $101. The spread is $2. To express it as a percentage, divide by the mid-price: 2 / 100 = 2%. Buy at market and sell straight back, and you lose about 2% before fees even if the price does not move.
Major pairs for Bitcoin and Ethereum usually have very tight spreads. Small altcoins, quiet trading hours and sudden price moves can widen them considerably. Commission-free “instant buy” screens often build their margin into the spread, so comparing their quote with the exchange’s own order book reveals the real cost.
Why do spreads widen?
- Low liquidity: with few buyers and sellers in the book, the best prices drift apart.
- High volatility: when prices move fast, market makers pull or widen their quotes to manage risk.
- Thinner local pairs: the same coin may have a deep USDT pair and a much shallower pair in a local currency, where spreads look wider.
What causes slippage?
- Insufficient depth: if there is not enough size at the best price, your order fills at progressively worse levels.
- Price movement: between the moment you see a quote and the moment your order executes or your transaction is included in a block, other traders can take the same orders or move the pool price.
A market can look calm and still produce slippage if the book is thin. Our guide to trading volume and liquidity explains why volume and depth are not the same thing.
How to calculate slippage
Say you expect to buy at $200. Your 10-token order fills 4 at $200 and 6 at $205. You pay $2,030, an average of $203. Slippage = (203 − 200) / 200 = 1.5%.
Keep fees out of this calculation, or you will not be able to tell how much of your cost came from market conditions and how much from the platform. Note your reference price too: the last trade or the quote on the confirmation screen? Different references produce different slippage figures.
Positive vs negative slippage
Slippage does not always work against you. If the market moves in your favour while your order is pending, you can get a better price, known as positive slippage. When buying, a lower fill is good; when selling, a higher one is. If you expect to sell at $100, filling at $98 is negative slippage and filling at $102 is positive.
Price impact and slippage tolerance on a DEX
On decentralised exchanges such as Uniswap you will see two separate figures. Price impact is the change your own trade causes to the pool’s token ratio, and it depends on trade size. Slippage tolerance is the maximum additional deviation you will accept after the quote is generated. Setting tolerance to 1% does nothing about an 8% price impact caused by the size of your trade.
Example: you expect 500 tokens for 1,000 USDC and set a 1% tolerance. Your minimum output is roughly 495 tokens. If the swap would deliver 497, it goes through; if only 490, it reverts. The “minimum received” line in the interface is the exact version of this limit, and it is worth reading before you confirm any DEX swap.
What slippage tolerance should you use?
There is no universal number. Pool depth, token volatility and network congestion all matter. Swaps between stablecoins typically need only a very small tolerance, while new and thinly traded tokens can need more. Both extremes have costs:
- Too low: small price moves make the swap fail. A reverted transaction does not swap anything, but you still pay the gas fee.
- Too high: a 10% tolerance on an expected 1,000 tokens means you have agreed to accept 900. It also gives front-running bots room to exploit your trade.
If a token can only be traded with unusually high tolerances, say 20% or 30%, that often signals a transfer tax in the contract or extremely thin liquidity. Find out why before going further.
What is a sandwich attack (MEV)?
On networks like Ethereum, pending transactions sit in a public waiting area before they are included in a block. Some bots spot a large swap with a generous tolerance, buy the same token just before it to push the price up, let your trade fill at the worse price, then sell immediately after. This is a sandwich attack, one form of what is known as MEV (maximal extractable value). Keeping tolerance no higher than necessary limits the risk, and some wallets offer protected transaction routing that bypasses the public mempool.
How to reduce slippage
- Use a limit order instead of a market order for larger trades. You set the price, though the order may not fill.
- Choose deeper pairs or venues, and compare routes suggested by DEX aggregators.
- Split large trades into smaller ones, while accounting for repeated fixed fees and price drift between them.
- Avoid trading during sharp volatility or heavy network congestion.
- Do not set DEX tolerance higher than the trade actually needs.
How to check what you actually paid
On a centralised exchange, add up every fill in your trade history and divide the total cost by the total quantity to get your average price. On a DEX, look up the transaction in a block explorer, note the tokens sent and received, and record the network fee separately; our guide to tracking a blockchain transaction shows how. If the token falls after your trade, that further drop in wallet value is market movement, not slippage.