Data & coverage
11 exchanges, native feeds, ~30s refresh — and the sanity filter that decides what the public matrix shows.
Venues & markets
ARBHUB tracks 11 centralized and hybrid exchanges:
Binance, Bybit, OKX, Bitget, Gate, KuCoin, HTX, Phemex, MEXC, Aster, Hyperliquid.
Coverage is USDT-margined perpetuals on all venues, plus matched spot listings where the venue lists the same asset — spot legs power the carry rows and the spot columns in the venue-compare popover. Contract universes differ per venue (from a few hundred to over a thousand symbols), so an asset’s row shows only the venues that actually quote it; the rest are dashes.
Where the numbers come from
Every number is read from the venue’s own feed — funding rates, mark and index prices, order books and volumes as published, over the exchanges’ native WebSocket streams where available and REST endpoints for the tail. Nothing is modeled from third-party aggregates.
Refresh cadence is about 30 seconds end to end for the screener grid: liquid symbols ride streaming updates measured in seconds; long-tail symbols cycle on faster or slower REST loops depending on the venue. The Spread page’s order books are the exception — they stream from the exchanges straight to your browser and are effectively real-time.
The matrix itself is delivered as a snapshot plus a live diff stream: the page loads the current state once, then receives only what changed.
LIVE and stale flags
The LIVE indicator means the stream to your browser is healthy; the clock next to it is UTC. Freshness is judged per venue quote, not per page: every price carries its fetch timestamp, and a quote older than the staleness threshold is flagged stale. Flagged venues stay visible — flagged, not hidden — but clean mode excludes them from the row’s reference math, so a frozen feed cannot fabricate a ranking.
The sanity filter
The public matrix defaults to clean mode, which hides what fails cross-venue checks. What gets removed and why:
- Stale quotes — prices past the freshness threshold; comparing them against live venues manufactures spreads out of elapsed time.
- Ticker collisions — a venue whose price for a symbol deviates several-fold from the cross-venue median is quoting a different token under the same name; it is dropped from the row, and known same-name listings sit on a curated exclusion list.
- Unit mismatches —
1000x/k-prefixed contracts are normalized to per-token prices before comparison; contracts that cannot be normalized reliably are excluded. - Rows without a trustworthy pair — if the best pair for an asset rests on flagged quotes, the row is hidden rather than ranked on bad data.
Turning clean mode off shows everything, with explicit badges on the untrusted cells. The filter’s job is honest ranking, not a prettier page — the failure modes it targets are documented in Data artifacts, including the ones that can still slip through.