CEX Latency Map
Public-network latency measurements to centralized cryptocurrency exchanges, across spot, futures, and options products.
These numbers measure what a public API client experiences reaching each exchange's public endpoint (TCP+TLS handshake, WebSocket ping RTT, FIX logon RTT, or REST TTFB depending on the endpoint — see the "Measured" column below per product). They're useful for deciding where to host bots and which region gives the lowest network access latency. They are not a prediction of end-to-end order execution time, and they do not reflect institutional-tier low-latency connectivity that some venues offer to eligible high-volume clients.
Why some endpoints don't show TCP/TLS breakdown
Some exchange endpoints (like OKX's WebSocket) sit behind CloudFlare. When you open a connection to a CloudFlare-fronted host, your TCP and TLS handshake terminate at the nearest CloudFlare edge (usually a PoP in your own region), not at the exchange's actual origin server. So the TCP/TLS timings reflect your distance to the CF edge — which for most probes is only a few tens of milliseconds away — rather than the real distance to the matching engine in Tokyo/Hong Kong/etc.
We hide the TCP/TLS columns for CloudFlare-fronted endpoints to avoid misleading users. The only honest number for those endpoints is the WebSocket ping round-trip time, which travels all the way from the probe through the CF edge to the origin and back. That's what the p50 column shows.
For endpoints that route directly to the exchange's origin (like Binance's WS API / FIX, which go straight to AWS Tokyo), TCP and TLS reflect real probe→origin distance and are shown.
WS vs FIX numbers aren't directly comparable
For Binance Spot (and any future product where both FIX and WebSocket exist), the toggle lets you switch between the two — but the raw numbers measure subtly different things:
- WebSocket (ping/pong): pure network round-trip. The server's built-in WS library auto-replies to a ping frame with near-zero CPU work. The number reflects probe→origin→back network distance only.
- FIX: the server has to parse the FIX message, validate its structure, detect the missing auth field, construct a Reject + Logout response, and send it back. That's an extra ~3-4ms of real server-side processing on top of the network RTT.
From a Tokyo-co-located probe, this shows up as WS ≈ 0.7ms, FIX ≈ 4.6ms — not because FIX is slower, but because we're measuring a lightweight ping on one side and a full protocol request on the other.
Why Binance is missing from some probes
The "Binance" entry here is binance.com (global entity). It blocks WebSocket + FIX APIs from US IPs and some other regulated regions, so probes in Chicago, Ashburn, San Jose, Ohio, and Johannesburg show no data for WS-primary products. REST still works everywhere, but we don't show it as primary because it's slower and CDN-fronted.
Binance.US (binance.us) is a separate legal entity with its own infrastructure and product set — we don't currently track it. If you're a US-based trader, binance.com numbers don't apply to you.
Why we show one endpoint per product
For each (exchange × product) combination we pick the fastest order-entry path as the default — that's the number traders actually care about. The other endpoints (REST when WS is faster, market-data streams, FIX drop-copy etc.) are still measured in the background and documented below, but surfacing them all in the UI adds noise without helping anyone decide where to host.
Where a product has two equally-legitimate order-entry paths — for example Binance Spot, where FIX is fastest but requires VIP tier and WebSocket API works for everyone else — we show a small toggle so you can switch between them.
CME
CME is the main venue for regulated BTC and ETH futures in the US. Access is gated via member firms, vendors, or direct connections at CME's Aurora, Illinois datacenter. If you pay for co-location there, fills are measured in microseconds, not milliseconds.
Probable Origin: Appears to run in Asia (likely Hong Kong)
Bybit v5 public streams are CloudFront-fronted. Each product family has its own WebSocket endpoint (spot / linear / inverse / option). No public FIX API.
Linear (USDT/USDC perps + USDC futures) endpoints
| Role | Endpoint | Host | Measured | Routing |
|---|---|---|---|---|
| Primary | WebSocket (read-only) | stream.bybit.com/v5/public/linear | WS ping RTT | CloudFront |
Research Project Disclaimer
CEX Latency Map is a research project provided for informational and educational purposes only. TCP + TLS handshake latency measures network distance to the exchange endpoint, not end-to-end order-submission or execution time. Actual order round-trip times depend on additional factors including matching-engine processing, rate limits, VIP tier, and for CloudFront-fronted REST endpoints the invisible edge-to-origin hop. These numbers should be viewed as estimates and directional baselines.