Contributing exchanges
Depth data is fetched from five exchanges in parallel. Each exchange contributes its top 50 price levels on both the bid and ask side. The table below lists every source, its trading pair, and quote currency.
| Exchange | Pair | Quote |
|---|---|---|
| Binance | BTC/USDT | USDT |
| Kraken | XBT/USD | USD |
| Coinbase | BTC/USD | USD |
| Bitstamp | BTC/USD | USD |
| OKX | BTC/USDT | USDT |
Why USD and USDT are mixed
Binance and OKX quote BTC against USDT (Tether), while Kraken, Coinbase, and Bitstamp quote against USD. Both are treated at par for the purpose of computing mid price, spread, and depth volume. In practice USDT trades within a few basis points of USD most of the time, so the aggregation is directionally accurate. When the USDT peg diverges significantly, the cross-exchange spread figure reflects that divergence.
Depth methodology
All order book levels from responding exchanges are merged into a single sorted list — bids descending by price, asks ascending. The mid price is the arithmetic mean of the global best bid and best ask across all exchanges.
Only levels within ±2% of the mid price are counted toward the total bid and ask volume. This range captures the liquid core of the book while filtering out far-away limit orders that are unlikely to fill soon.
Price levels are bucketed into 0.1% bins to produce a compact depth summary (up to 10 buckets per side). Per-exchange volume is reported separately so you can see which venue is contributing most depth.
Bid/ask ratio
The ratio divides total bid volume (in BTC) by total ask volume (in BTC) within the ±2% window.
- > 1.3 — buy pressure: more limit-buy volume sitting on the book than limit-sell volume.
- 0.77 – 1.3 — balanced: roughly equal volume on both sides.
- < 0.77 — sell pressure: more limit-sell volume than limit-buy volume.
The ratio is a snapshot of resting limit orders, not a directional predictor. Large resting orders can be pulled or moved at any time.
Spread
The spread shown is the cross-exchange spread: the difference between the globally best ask (lowest sell price across all venues) and the globally best bid (highest buy price across all venues). When this spread is negative, it signals a momentary arbitrage gap — the best bid on one exchange exceeds the best ask on another. These gaps are typically closed within milliseconds by arbitrage bots.
Spread is also shown in basis points (bps) relative to the mid price. One basis point = 0.01%.
Source health
The exchange count at the top of the tile indicates how many of the five configured exchanges responded successfully in the latest fetch cycle. If an exchange times out or returns an error, it is silently excluded — depth is computed from whichever exchanges respond. A count below 5 means one or more sources failed in the last cycle.
Update frequency and caching
The server fetches order books approximately every 8 seconds (gated by the same polling interval as the main market API). Client-side, the dashboard refreshes every 10 seconds via /api/market. The depth figures above update live from that same feed.
Limitations
- Order book depth is a snapshot of resting limit orders. It does not account for hidden/iceberg orders, market orders in transit, or order cancellations between polls.
- Per-exchange volume represents total volume across all price levels returned by the exchange (up to 50 per side), not just the ±2% window used for the aggregate totals.
- Bitfinex and Gemini are not included in the depth feed despite being included in the price feed. Depth coverage may expand in future updates.