RESEARCH

The real cost of crypto trading: spreads, order book depth, and what your order actually pays

Study details

Measured
2026-08-12, one full trading day (20:00 to 20:00 ET)
Instruments
206 symbols across Coinbase, Kraken, Binance Futures, Coinbase International and Kraken Futures — spot and perpetual
Method
one-minute recordings with ten levels of depth on both sides. Spread is (ask − bid) ÷ price. Execution cost walks the recorded ladder for a given USD clip and compares the fill average against the midpoint. Venue figures are medians across that venue's symbols
Result
quoted spread ranges from 3.0 to 8.1 bp by venue, but the venue that quotes tightest is not the venue that fills largest. At a $25,000 clip, between 3% and 65% of symbol-minutes could not be filled inside ten levels at all
Contents
- One day, and a calm one — spreads widen and depth evaporates in stress, and depth faster - Ten recorded levels only; we cannot say what sits beyond level ten, so unfillable rates are an upper bound - Every figure is computed against a book that did not know an order was coming — a real order removes liquidity - Funding costs are not included, so the spot-versus-perpetual comparison covers entry cost only - Our universe leans toward names that move; a majors-only universe would show lower costs throughout Most cost discussion stops at the spread. The spread is the cost of the smallest possible order, and almost nobody trades the smallest possible order. What you actually pay depends on how far your order eats into the book, and that is a different number on every venue and every symbol. This is one full day, five venues, every symbol we record, measured from the same files we published on the Downloads board. You can rerun all of it.

1. What the quote costs

Spread first, because it is the floor. Nothing you do gets you below it when you cross.
VenueMarketSymbolsMedian spreadMiddle half of symbols
Binance Futuresperpetual643.0 bp1.5 – 14.0
Krakenspot293.4 bp1.6 – 7.5
Kraken Futuresperpetual324.8 bp1.5 – 9.6
Coinbasespot515.9 bp1.9 – 17.2
Coinbase Internationalperpetual308.1 bp4.6 – 14.5
One basis point is 0.01%. Crossing a 3 bp spread costs 0.03%; a round trip costs 0.06%. The median is the least interesting number in that table. Strategies do not trade the median symbol — scanners pick movers, and movers are disproportionately the thin names. The share of symbols that are expensive matters more:
VenueAbove 10 bpAbove 25 bpWorst symbol
Coinbase International47%20%370 bp
Coinbase37%20%357 bp
Binance Futures33%17%1250 bp
Kraken24%14%370 bp
Kraken Futures23%13%370 bp
On the widest venue nearly half the symbols cost more than 0.2% for a round trip. The worst symbol we recorded quoted at 1250 bp — 12.5% one way. A strategy targeting 1% cannot trade that symbol at any frequency, and no amount of signal quality changes that. Spread barely moves with the clock Equity traders expect a U-shape: wide at the open, tight midday, wide into the close. Crypto has no session and the data shows it. Median spread by hour, basis points:
Hour (ET)CoinbaseKrakenBinance FCoinbase IntlKraken F
003.22.41.65.32.6
033.12.71.65.72.8
063.42.21.65.63.0
093.02.41.86.73.8
123.02.61.66.03.5
153.02.21.66.33.4
183.71.81.54.63.5
213.03.01.66.86.2
Binance held between 1.5 and 1.8 bp for twenty-four hours. The practical consequence is that a crypto strategy does not need a time-of-day cost model the way an equity strategy does. It badly needs a per-symbol one.

2. What the book holds

Depth is the other half and it ranks almost exactly opposite.
VenueMedian 10-level depthMedian spread
Coinbase International$172,3358.1 bp
Kraken Futures$47,2284.8 bp
Binance Futures$24,2743.0 bp
Kraken$15,8203.4 bp
Coinbase$6,3415.9 bp
Read those two columns together. Coinbase International has the deepest books of the five and the widest quotes. Binance perpetuals have the tightest quotes and roughly one seventh the depth. The gap between deepest and thinnest is 27x. This is not a contradiction. Spread is set by whoever is willing to quote the smallest increment; depth reflects how much capital wants to sit on that book. Nothing forces them to move together, and in our sample they did not.

3. What your order actually pays

Here is the measurement that matters and the one almost nobody runs. For each recorded minute, we take a market buy of a given size, walk it down the recorded ask ladder, and compare the resulting average fill against the midpoint at that instant.
Venue$1,000$5,000$25,000$100,000
Binance Futures0.7 bp0.9 bp1.1 bp2.0 bp
Coinbase1.3 bp2.2 bp2.9 bp6.1 bp
Kraken1.4 bp2.2 bp3.1 bp7.4 bp
Kraken Futures2.5 bp3.4 bp5.4 bp4.5 bp
Coinbase International2.6 bp3.1 bp4.4 bp6.3 bp
Those numbers look reassuringly small, and they are badly misleading on their own. They are medians over the cases where the order could be filled inside ten levels. The cases where it could not are excluded. Which is precisely the expensive scenario. So here is the number that matters:
Venue$1,000$5,000$25,000$100,000
Coinbase16.3%35.7%64.9%84.2%
Kraken0.0%7.7%59.6%76.7%
Kraken Futures0.1%1.9%25.9%74.4%
Binance Futures3.5%15.5%41.1%60.0%
Coinbase International0.0%0.5%3.3%20.6%
Share of symbol-minutes where the order could not be filled within the ten levels we record. At a $25,000 clip on Coinbase spot, nearly two thirds of the time the visible book does not hold your order. On Coinbase International the same clip fails 3% of the time. That is the depth ranking asserting itself, and it is the opposite of the spread ranking. Reading the two tables together For a $1,000 clip, Binance is cheapest on both measures and the choice is easy. For a $25,000 clip, Binance still shows the lowest cost *when it fills* — but it fails to fill 41% of the time, against 3% on Coinbase International. A cost number you receive on 59% of attempts is not comparable to one you receive on 97%. That is the core practical point of the whole measurement: **as size grows, availability replaces price as the binding constraint.** Backtests almost never model this. They fill at the touch, or at the touch plus a fixed slippage constant, and both assumptions quietly get more wrong as your size grows.

4. Spot or perpetual

We paired 38 coins quoted on both the spot and perpetual market of the same venue. - The perpetual book was deeper in 33 of 38 pairs - The perpetual spread was tighter in only 6 of 38
VenueCoinSpot spreadPerp spreadSpot depthPerp depth
KrakenCRV7.5 bp7.5 bp$5,008$82,366
CoinbaseENA11.2 bp11.2 bp$12,432$144,095
KrakenXLM6.2 bp6.2 bp$9,850$24,929
CoinbaseDOGE13.9 bp14.0 bp$197,902$382,568
CoinbaseFARTCOIN7.6 bp14.5 bp$145,467$116,925
CRV is the typical shape: identical quoted spread, sixteen times the depth. The perpetual is not cheaper to touch. It is cheaper to fill in size. FARTCOIN is the counterexample and it is worth showing — wider *and* shallower on the perpetual. The pattern is a tendency, not a law. Funding is not in this comparison and it matters. A perpetual position pays or receives funding for as long as it is open. Over a holding period of days that can dwarf both the spread and the depth advantage, and our recordings do not carry funding rates, so we did not measure it. Treat this section as entry-cost only.

5. Turning this into a threshold you can use

The reason to measure any of this is to set a number in a strategy. Three ways to use it: A liquidity gate on the spread. The condition is a ratio, not an absolute: if (Ask1 - Bid1) / Price < 0.002 and DayAmount > 10000000: Buy() Two thousandths is 20 bp, a round trip of 0.4%. Whether that is right for you depends entirely on your target: for a 1% target it is 40% of the move, which is not a filter, it is a decision to lose. Set the threshold from your target, not from convention. A depth gate for size. If your clip is meaningful relative to the book, the spread is decoration and the ladder is the cost. The visible proxy: if TotalBidSize * Price > 50000 and TotalAskSize * Price > 50000: Buy() A cost floor in the backtest. Whatever your simulator assumes, check it against a number from your own recording rather than a constant you read somewhere. If your backtest fills at the touch and your measured cost at your clip size is 5 bp, every result is optimistic by 10 bp per round trip, compounding with trade frequency.

6. What this does not tell you

One day, and a calm one. Spreads widen and depth evaporates in stress, and depth evaporates faster. Treat these as a ranking of normal conditions, not as constants. Ten levels is not the whole book. We record ten. Beyond that we cannot say what is there, and the "unfillable" figures above would improve with a deeper record. The ranking between venues would likely survive; the absolute percentages would not. Your order changes the book. Every number here is computed against a book that did not know you were coming. A real order removes liquidity and invites reaction. This is a floor on your cost, not an estimate of it. Our universe, not yours. These venues are recorded with our symbol selection, which leans toward names that move. A universe of majors only would produce lower costs and lower unfillable rates across the board. The recordings are free on the Downloads board. The genuinely useful version of this exercise is the one you run on your own symbols at your own clip size. What we can offer is the method and a reference point.
The real cost of crypto trading: spreads, order book depth, and what your order actually pays

Limitations

  • One day, and a calm one — spreads widen and depth evaporates in stress, and depth faster
  • Ten recorded levels only; we cannot say what sits beyond level ten, so unfillable rates are an upper bound
  • Every figure is computed against a book that did not know an order was coming — a real order removes liquidity
  • Funding costs are not included, so the spot-versus-perpetual comparison covers entry cost only
  • Our universe leans toward names that move; a majors-only universe would show lower costs throughout

Related reading

← All research

Originally published by TraderWe on August 13, 2026. You may quote and link to this page. Republishing the full text without a link back to the original is not permitted.

5 replies

R
RiskFirstRita· Aug 2026 ago
Good reminder that the quote you see and the fill you get are two different things — I'm adding a line to my pre-trade checklist to size the clip against depth, not just against my account risk. And the note that this was measured on a calm day is the part I'd underline twice, because the day I actually need out is not going to be calm.
G
GapHunterMike· Aug 2026 ago
tightest quote, worst fill. seen it a hundred times. spread is marketing, depth is the bill.
DataDrivenDee· Aug 2026 ago
The upper-bound caveat on unfillable minutes is the honest part, but it also makes the headline hard to use. How would we test what sits past the recorded levels without actually sending orders and eating the cost of finding out?
R
RiskFirstRita· Aug 2026 ago
The line that matters to me is "a real order removes liquidity" — every one of these numbers is measured on a book that never saw you coming, so treat the unfillable rates as the optimistic case. Practical takeaway for anyone sizing off this: if $25k can't clear ten levels on a calm day, that's your position size telling you it's too big for that venue, not the venue being bad. My checklist has had "can I exit this in one clip without walking the book" on it for years and it's saved me more than any entry rule. Nice work, and I'd love to see the same run on a stress day if you ever catch one.
SlowSwing_Sam· Aug 2026 ago
Reading this from the comfort of holding positions for weeks and feeling pretty smug about it, honestly. Though I guess if depth vanishes in stress that hits my exits too, just less often.
Sign in to reply →