FeeFloor Research · Preliminary
Which crypto exchanges have the deepest real liquidity?
By the FeeFloor Data TeamMeasured since 15 July 20264 sweepsUpdated 15 Jul 2026, 13:23 UTC
The cheapest venue on a small trade is often not the one that can absorb a large one. Liquidity — filling size without walking the book — is a separate contest, measured separately for each asset and market.
For ETH perpetuals, the deepest measured book so far is Toobit, filling a $1M order in 100% of measurements.
Preliminary. Live from day one with real measurements over 4 sweeps. Slippage percentiles are held back until there is enough history — median needs 10+ observations, p90 needs 20+ — so a “—” means “not enough data yet,” not zero.
Perpetual futures depth
Every order-book venue, per asset, ranked by how reliably it filled a $1M perpetual order. Median and p90 are the slippage distribution at $1M; Cost CV and Rank σ measure stability across sweeps (lower = steadier); “largest consistent” is the biggest size it filled at least 90% of the time.
| Asset | Venue | Fills $1M | Fills $100K | Median slip $1M | p90 slip $1M | Largest consistent | Cost CV | Rank σ | n |
|---|---|---|---|---|---|---|---|---|---|
| BTC | 100% | 100% | — | — | $1M | 0.01 | 1.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.10 | 0.00 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.00 | 0.83 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.01 | 0.87 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.02 | 2.12 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.13 | 4.69 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.01 | 0.83 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.06 | 3.27 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.02 | 0.00 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.11 | 0.00 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.03 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.11 | 6.80 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.05 | 1.12 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.04 | 0.00 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.05 | 1.30 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.03 | 1.22 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.06 | 1.09 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.25 | 0.00 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.13 | 5.67 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.05 | 1.22 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.12 | 2.68 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.25 | 3.35 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.05 | 0.83 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.04 | 1.09 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.09 | 2.18 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.14 | 3.00 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.07 | 1.12 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.14 | 2.74 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.02 | 0.71 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.10 | 0.83 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.06 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.03 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.12 | 0.50 | 4 | |
| BTC | 75% | 100% | — | — | $100K | 0.06 | 1.63 | 4 | |
| BTC | 25% | 100% | — | — | $100K | — | — | 4 | |
| BTC | 0% | 100% | — | — | $100K | — | — | 4 | |
| BTC | 0% | 0% | — | — | $1K | — | — | 4 | |
| BTC | 0% | 100% | — | — | $100K | — | — | 4 | |
| BTC | 0% | 100% | — | — | $100K | — | — | 4 | |
| BTC | 0% | 100% | — | — | $100K | — | — | 4 | |
| BTC | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.10 | 2.55 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.07 | 3.64 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.07 | 1.22 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.04 | 0.71 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.04 | 0.43 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.03 | 0.71 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.09 | 3.94 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.00 | 2.05 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.06 | 1.12 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.03 | 1.79 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.10 | 2.06 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.09 | 5.55 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.06 | 2.77 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.05 | 0.50 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.06 | 1.79 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.08 | 1.09 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.02 | 0.87 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.14 | 0.43 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.13 | 6.06 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.18 | 6.22 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.07 | 0.83 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.24 | 1.50 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.30 | 1.48 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.10 | 0.83 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.12 | 1.22 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.21 | 0.83 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.10 | 0.71 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.14 | 1.58 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.16 | 1.50 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.26 | 1.58 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.20 | 0.43 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.21 | 0.71 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.19 | 1.00 | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 0% | — | — | $10K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.10 | 2.95 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.15 | 6.26 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.01 | 1.48 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.16 | 0.50 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.02 | 0.87 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.09 | 3.49 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.02 | 3.57 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.11 | 3.77 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.08 | 3.19 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.08 | 2.55 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.08 | 2.68 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.17 | 1.12 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.04 | 2.55 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.06 | 1.66 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.08 | 1.92 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.15 | 5.22 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.11 | 4.30 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.11 | 0.43 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.07 | 1.92 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.09 | 0.83 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.08 | 1.09 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.10 | 1.12 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.17 | 1.09 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.16 | 1.09 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.04 | 0.71 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.30 | 0.71 | 4 | |
| SOL | 75% | 100% | — | — | $100K | 0.06 | 0.82 | 4 | |
| SOL | 25% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 0% | — | — | $1K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 0% | — | — | $10K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 |
Spot depth
Measured the same way, kept entirely separate — a venue’s spot book is a different thing from its perp book.
| Asset | Venue | Fills $1M | Fills $100K | Median slip $1M | p90 slip $1M | Largest consistent | Cost CV | Rank σ | n |
|---|---|---|---|---|---|---|---|---|---|
| BTC | 100% | 100% | — | — | $1M | 0.00 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.00 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.02 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.10 | 1.09 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.00 | 1.64 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.04 | 0.71 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.03 | 0.87 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.07 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.02 | 0.87 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.08 | 1.66 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.03 | 0.87 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.04 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.03 | 0.83 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.05 | 0.50 | 4 | |
| BTC | 100% | 100% | — | — | $1M | 0.06 | 0.50 | 4 | |
| BTC | 75% | 100% | — | — | $100K | 0.06 | 0.47 | 4 | |
| BTC | 75% | 100% | — | — | $100K | 0.56 | 4.24 | 4 | |
| BTC | 75% | 100% | — | — | $100K | 0.02 | 0.47 | 4 | |
| BTC | 0% | 100% | — | — | $100K | — | — | 4 | |
| BTC | 0% | 100% | — | — | $100K | — | — | 4 | |
| BTC | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.05 | 0.00 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.07 | 1.12 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.04 | 0.00 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.05 | 0.43 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.03 | 0.83 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.02 | 0.50 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.20 | 0.43 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.13 | 0.87 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.14 | 0.50 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.02 | 1.64 | 4 | |
| ETH | 100% | 100% | — | — | $1M | 0.05 | 1.22 | 4 | |
| ETH | 75% | 100% | — | — | $100K | 0.01 | 0.00 | 4 | |
| ETH | 75% | 100% | — | — | $100K | 0.30 | 0.00 | 4 | |
| ETH | 50% | 100% | — | — | $100K | 0.02 | 0.00 | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 75% | — | — | $10K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| ETH | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.06 | 0.43 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.09 | 1.58 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.09 | 1.30 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.03 | 0.71 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.14 | 0.87 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.15 | 1.00 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.07 | 0.50 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.23 | 1.79 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.06 | 0.83 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.01 | 0.71 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.10 | 1.41 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.15 | 1.48 | 4 | |
| SOL | 100% | 100% | — | — | $1M | 0.03 | 0.50 | 4 | |
| SOL | 50% | 100% | — | — | $100K | 0.14 | 0.50 | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 0% | — | — | $10K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 | |
| SOL | 0% | 100% | — | — | $100K | — | — | 4 |
Non-order-book liquidity models
A handful of venues do not run an order book — they price fills from an external oracle (GMX, Jupiter, Gains and similar). Execution is structurally different: size doesn’t move the fill, so they “absorb” any order at the oracle price. That can be an advantage, but it is not order-book depth, so they are listed here rather than ranked on a depth metric they would trivially top.
What this measures — and what it doesn’t yet
Fill rateis the share of measurements a venue’s book absorbed the order within tolerance; median/p90 slippage is the distribution over its successful fills; Cost CV (coefficient of variation) and Rank σ are separate stability measures — a venue can have steady cost yet an unstable rank if its rivals move. Everything is split by asset and market and pooled across neither. Percentiles unlock at 10+ (20+ for p90) observations; stability needs at least two sweeps. Buy/sell asymmetry is out of scope for now — the engine reports a single taker execution per venue.
Shares the continuously-sampled dataset behind the cheapest-exchange report. Download the raw history as CSV or the computed rollup as JSON, and read the methodology.