---
title: "Latency | 0xArchive"
description: "Stream against Hyperliquid's official WebSocket on the same trades, measured every minute, plus an on-demand latency test to our endpoints."
canonical_url: "https://0xarchive.io/latency"
markdown_url: "https://0xarchive.io/latency.md"
route: "/latency"
robots: "noindex, follow"
generated_from: "prerendered_html"
---

# Latency

Measured every minute. Testable on demand.

Stream is 0xArchive's live WebSocket for Hyperliquid data. See how it compares with Hyperliquid's official WebSocket on the same trades, then test the round trip from your own device or servers to our endpoints.

[Live comparison](https://0xarchive.io/latency#stream-vs-hyperliquid) [Connection test](https://0xarchive.io/latency#connection-test) [Methodology](https://0xarchive.io/latency#latency-race-method)

## Stream vs. Hyperliquid's official WebSocket

Two measuring machines, one in Tokyo and one in US East, receive the same Hyperliquid trades from Stream and from Hyperliquid's official WebSocket at once, match every trade across both, and record which feed delivered it first. Results refresh every minute.

Tokyo

US East

1 hour

24 hours

7 days

Loading the latest measurements

Delivered first Share of matched trades that reached Stream before Hyperliquid's official feed. Median lead How much earlier the typical trade arrived on Stream. p90 lead One trade in ten arrived on Stream at least this much earlier. Trades compared BTC, ETH, SOL and HYPE trades received on both feeds and matched by trade id. Identical payloads Matched trades with the same price, size, time and hash on both feeds.

Median lead over time

## Test your connection

Compare your connection to Stream and WebSocket with a short echo test. Nothing runs until you start it.

Measure from one of your own servers

Leave this empty to measure from the device you are on. Give it an address and each site pings that machine instead, which is the number a colocation decision turns on.

Ready to test

No API key needed. Two services, tested one at a time.

Run latency test

### Stream

stream.0xarchive.io

Tokyo, Japan

Not tested

Median round trip Not measured p95 round trip Not measured Connection setup Not measured

### WebSocket

api.0xarchive.io

Vint Hill, Virginia, USA

Not tested

Median round trip Not measured p95 round trip Not measured Connection setup Not measured

## Comparison method

Each machine subscribes to BTC, ETH, SOL and HYPE trades on both feeds at once: Stream at `wss://stream.0xarchive.io/ws` and Hyperliquid's official WebSocket at `wss://api.hyperliquid.xyz/ws`. Other Hyperliquid markets are not part of this comparison.

Each trade is matched across the two feeds by its coin and trade id. The lead is the time the trade arrived on Hyperliquid's feed minus the time it arrived on Stream, both read from the same clock, so no clock synchronization is involved. A positive lead means Stream was first.

Payloads are compared too. A matched trade counts as identical when its price, size, trade time and hash are the same on both feeds.

Both machines run on AWS, in Tokyo and US East, and neither serves either feed. Each records its results every minute.

Only trades are compared, because Hyperliquid's official WebSocket has no order-level (L4) market data. Stream also streams L4 order events.

Results depend on where you are. These numbers describe the network paths from Tokyo and US East; your own lead depends on the path from your servers to each feed. The [connection test](https://0xarchive.io/latency#connection-test) measures yours.

The raw numbers are public as [JSON](https://api.0xarchive.io/latency-race/summary.json).

## What the test measures

Your browser, VPN, Wi-Fi and device load affect results. This is echo latency, not feed freshness, market-event latency, one-way latency or an SLA measurement. Any region shown is reported by the responding service, not your location.

Test method and limitations Each service gets one WebSocket connection, one discarded warm-up, then 10 serial application-level ping/pong samples. Each sample has a 2-second timeout with 250 ms between samples. The test is capped at 30 seconds per service. There is no automatic reconnect. Median and p95 describe successful round trips only. The nearest-rank p95 at 10 samples is the sample maximum. Ten samples are a small sample, not a reliable long-term tail-latency estimate. Timeouts are application timeouts, not packet loss. Connection setup includes DNS, TCP, TLS and the WebSocket upgrade where needed. These phases are not isolated; browser caches and connection reuse can affect the timing. Stopping, leaving this page or hiding the tab interrupts the test. A 60-second cooldown follows every run, including cancelled runs. Measurements stay in page memory only and are not saved, exported or sent to analytics.

## Where these run

Stream runs in Tokyo, Japan, on the same machine as our Hyperliquid node, so market data reaches it without crossing a network. WebSocket runs in Vint Hill, Virginia, alongside the archive and the REST API.

For latency-sensitive work, co-locate in Tokyo, Japan, where Stream runs. Crossing the Pacific in either direction costs a round trip that no client-side tuning recovers.

The connection test shows only what the responding endpoints report. Additional regions will appear when they are available and verified.

## Connect to Stream

Stream carries Hyperliquid trades along with order-level (L4) events. Connect with any WebSocket client and your API key.

`wss://stream.0xarchive.io/ws?apiKey=YOUR_API_KEY`

Replace YOUR_API_KEY with a key from your account. No key yet? [Create an account to get a key](https://0xarchive.io/signup).

[Read the channel docs](https://docs.0xarchive.io/websocket/channels)
