What Is Slippage in Crypto Trading? Causes and How to Avoid It
Slippage is the gap between the price you expected and the price you got. Learn what causes it, how to calculate it, and how to minimize it on perps.
TL;DR
Slippage is the difference between the price you expected and the price you actually filled at. It is caused by thin liquidity, volatility, large order size, and slow execution — and it compounds across every trade you make. You minimize it with limit orders, tight slippage tolerance, deep liquidity, and fast matching. A deep CLOB with 5–20ms execution like BULK keeps slippage close to the spread instead of letting it blow out.
Slippage is the difference between the price you expected and the price you actually got. It is a hidden cost — it does not show up as a line-item fee, so most beginners never notice it draining their returns. But it compounds across every market order you place, and on the wrong venue it can quietly cost you more than trading fees ever will.
What is slippage?
Slippage is the gap between your expected execution price and your actual fill price. You click buy expecting $100.00; the order fills at $100.40. That extra $0.40 is slippage — money that left your account without ever appearing as a fee.
It exists because price is not frozen at the moment you submit. Between submission and execution, two things can happen: the market moves, or your order consumes the liquidity available at the best price and reaches into worse levels. Both push your fill away from what you expected.
Slippage can be negative (you fill worse than expected) or positive (you fill better). On market orders it is usually negative, because you are crossing the spread and taking whatever liquidity is there.
What causes slippage?
Four forces drive slippage, and most bad fills are a combination of them:
| Cause | What’s happening | The fix |
|---|---|---|
| Thin liquidity | Not enough resting orders near the top of the book; you reach deeper levels | Trade liquid markets with deep order books |
| Volatility | Price is moving fast while your order is in flight | Use limit orders; avoid market orders during spikes |
| Order size | Your order is large enough to sweep through multiple price levels | Split into smaller clips; use limit orders |
| Latency | Slow execution gives the market time to move against you before you fill | Trade on a fast matching engine (e.g. 5–20ms) |
| AMM price impact | The bonding curve mathematically moves price on every trade | Use a CLOB instead of an AMM for size |
The first three are about the state of the market. The fourth — latency — is about the venue. A trade that would slip 0.05% on a 10ms engine can slip 0.5% on a chain with 2-second blocks, because the price had two full seconds to run.
Slippage vs spread vs price impact (don’t confuse them)
These three get used interchangeably, and they are not the same thing.
- Spread is the gap between the best bid and best ask at a single instant. It is fixed and visible. You pay it every time you cross the book with a market order. (More on this in What Is a CLOB?.)
- Price impact is the portion of your cost caused by your own order eating through liquidity and pushing the price as it fills. Bigger order, bigger impact.
- Slippage is the total observed difference between expected and actual price. It includes the spread you crossed, the price impact you caused, and any market movement during execution latency.
Put simply: spread is the entry toll, price impact is how much you move the market yourself, and slippage is the whole bill. On a deep CLOB, price impact is tiny for normal size. On an AMM, price impact is the dominant cost because the bonding curve guarantees it on every trade.
How do you calculate slippage?
The formula is simple:
Slippage % = (Fill Price − Expected Price) ÷ Expected Price × 100
Slippage $ = Slippage % × Order NotionalWorked example. You place a $10,000 market buy expecting a fill at $100.00. The book is thin, so your order sweeps a few levels and the average fill comes back at $100.40.
| Metric | Value |
|---|---|
| Expected price | $100.00 |
| Actual fill price | $100.40 |
| Slippage % | (100.40 − 100.00) ÷ 100.00 = 0.40% |
| Order size | $10,000 |
| Cost of slippage | 0.40% × $10,000 = $40 lost |
That $40 vanished on a single fill. If you trade that size ten times a week, that is $400/week — $20,800/year — bleeding out invisibly, on top of trading fees. This is why slippage compounds: it taxes every round trip, and most traders never measure it.
How to minimize slippage
You control slippage with order type, venue, and discipline.
- Use limit orders to cap it entirely. A limit buy at $100.00 will never fill above $100.00. If the book moves away, your order rests or goes unfilled — but you never get a surprise price. This is the single most powerful tool you have. (See Market vs Limit Orders and BULK Order Types.)
- Set a tight slippage tolerance. If you must use a market order, cap the maximum acceptable deviation. The order rejects rather than fills at a runaway price.
- Trade deep, liquid markets. More resting orders near the top of the book means your order fills before reaching worse levels.
- Split large orders. Breaking a big order into smaller clips reduces the price impact each one causes.
- Trade on a fast venue. Lower latency means less time for the market to move against you between click and fill.
Why execution speed and liquidity reduce slippage
Slippage is, fundamentally, a function of how much the price can move before your order is locked in and how much liquidity sits in the way. Speed attacks the first; depth attacks the second.
A central limit order book (CLOB) with many market makers keeps tight spreads and deep liquidity at each level, so a normal-sized order fills at or near the best price without sweeping into worse territory. Fast matching means the order locks in before volatility has time to widen the gap.
BULK Exchange runs a fully deterministic CLOB on Solana with 5–20ms matching. At that speed, the window for the market to run against your order is a fraction of a single block — slippage stays close to the spread instead of blowing out. Deterministic ordering also means no validator can reorder your fill against you, which removes a whole class of MEV-driven slippage. (More on the engine: BULK Speed & Latency.)
Contrast that with how other venues handle it:
- AMMs (constant-product DEXes) have no order book. Price comes from a bonding curve, so every trade has guaranteed price impact that scales with size relative to the pool. Big trades slip hard, regardless of speed.
- Oracle-based perp DEXes fill at an external oracle price, which removes book-sweep slippage but introduces oracle latency and update-interval risk — your fill depends on when the oracle last updated, not on live liquidity.
- Deep CLOBs give you live price discovery, limit-order control, and slippage that tracks the actual spread — the closest thing to a CEX execution experience on-chain.
Trade on a deep CLOB with 5–20ms execution — pre-deposit USDC on BULK → earn AURA → early.bulk.trade
Risk Disclaimer
Perpetual futures are high-risk leveraged instruments. Slippage, funding, and fees all erode returns, and leverage amplifies losses as much as gains — you can lose your entire deposit quickly. Example prices and numbers in this article are illustrative, not predictions. Nothing here is financial advice. Only trade with risk capital you can afford to lose, and always understand your liquidation price before opening a position. New to the terminology? Start with the Glossary.
Also in this cluster:
- Solana Perps for Beginners (Hub)
- How to Trade Perps on Solana
- Market vs Limit Orders
- What Is a Perp DEX?
- Perps Risk Management 101
- Common Perps Trading Mistakes
More learning: Learn Hub · What Are Perpetual Futures?
Don't miss Saturday's allocation.
1M AURA distributed every Saturday at 13:00 UTC — formula is USDC × time held. Deposits are withdrawable anytime.
Browse all topics
Every cluster on BuiltOnBulk. Jump to the hub for a deeper read.