Real-time streams

Every fill. Every order. Every book delta.

Live gRPC streams of the entire Hyperliquid tape: sub-second, filtered server-side, with the trader's wallet and raw financial values preserved as decimal strings. Wire-compatible with QuickNode and Dwellir.

Simulated data in the documented stream shape: deterministic, no network.

The catalogue

One endpoint. The whole exchange.

Every surface lives at stream.hyperliquidrpc.com:443: gRPC over TLS, API key in x-api-key metadata, reflection enabled. Pick a card for the full field-by-field reference.

Open the full catalogue: every method, every field

Wallet attribution

A tape with names on it.

Public feeds give you price and size. Every fill we deliver carries who traded, what it realized, what it cost, and how it changed their position. This is one real message from StreamSwaps. Hover or tap a field.

{  "block_height": 612408133,  "block_time": "2026-06-09T08:14:02.418Z",  "coin": "BTC",  "px": "67012.0",  "sz": "0.14523",  "notional": "9732.15",  "side": "B",  : true,  : "0x7c4ee0c0c5d3ab91f7f0f3c2a3d6b18452e9a3f9",  : "Close Short",  : "-0.42100",  : "182.337041",  : "2.433037",  "is_rebate": false,  "oid": 91834221107,  "cloid": "0x00000000000000000000000000a1b2c3",  "tid": 442191083327011,  "twap_id": null,  "liquidation": null}
Control

Subscribe narrowly. Pay narrowly.

Coin and wallet filters run on the server. Anything outside your subscription is dropped before it touches your bandwidth bill. Try it: narrow the request and watch the feed follow.

Coins
SwapStreaming/StreamSwapsrequest
{  "market_type": "ALL",  "coins": ["BTC", "ETH"]}

9

delivered

0

dropped server-side

your subscription

live

CoinPriceSizeWallet
BTCbuy 67001.00.053830x1663…edfd
ETHbuy 3499.250.77070x25cf…5857
BTCbuy 67000.00.112010x0150…0f50
ETHbuy 3499.250.61280x172a…2dc7
BTCsell 66999.00.051680xcd7b…b6e6
ETHbuy 3499.250.90030xc803…17f0
BTCbuy 67000.00.034660x7868…9be5
ETHbuy 3499.750.65270x25cf…5857
BTCbuy 67000.00.166710x4eb3…90f7

Simulated data in the documented StreamSwaps shape: deterministic, no network; wallet addresses are truncated for display. With a real key the same filters apply on the server before anything reaches you.

Replay

Replay a recent block range, then go live

On Ultra, eligible event topics, StreamSwaps, and Dwellir block/fill streams can start from a block within the last 6 hours. Retained messages arrive in block order before live delivery continues on the same connection.

  1. Record block_height as you consume.
  2. On reconnect (including after a DATA_LOSS status when a subscription falls behind), replay from your last processed height.
  3. Continue live once the backfill catches up.

Method-specific replay is available on Ultra with a retained window of up to 6 hours. Details in the replay guide.

Zero switching cost

Change one endpoint. Keep your code.

The hyperliquid.* services are wire-compatible with QuickNode; hyperliquid_l1_gateway.v2 is wire-compatible with Dwellir. Generated stubs, request messages, and field names work unchanged. Swap the endpoint and the key.

QuickNode → HyperliquidRPCdiff
removed: endpoint = "your-endpoint.quiknode.pro:443"
added: endpoint = "stream.hyperliquidrpc.com:443"

StreamData, L2/L4 book, and block stubs unchanged. QuickNode migration guide

Dwellir → HyperliquidRPCdiff
removed: endpoint = "your-endpoint.dwellir.com:443"
added: endpoint = "stream.hyperliquidrpc.com:443"

Same gateway methods and messages; documented recent-height and current-snapshot semantics. Dwellir migration guide

Quickstart

First message in under a minute.

Reflection is enabled on the endpoint, so grpcurl works with nothing installed but your key, and generated stubs work in any language with gRPC support.

  1. Get an API key

    Choose Pro or Ultra at checkout. Your production key is provisioned after payment.

  2. Point a gRPC client at the endpoint

    stream.hyperliquidrpc.com:443 over TLS, with your key in x-api-key metadata.

  3. Subscribe and filter

    Open StreamSwaps with the coins and wallets you care about; the server drops everything else before it reaches you.

Timed from key creation to the first fill on the wire.

Read the full quickstart

# list available services (reflection is enabled)grpcurl -H 'x-api-key: YOUR_KEY' stream.hyperliquidrpc.com:443 list # live BTC trades (flat swap schema)grpcurl -H 'x-api-key: YOUR_KEY' \  -d '{"market_type":"ALL","coins":["BTC"]}' \  stream.hyperliquidrpc.com:443 \  hyperliquid_swaps.v1.SwapStreaming/StreamSwaps
Throughput

0+

markets

~$0.0B

traded daily

0.0M+

trades / day

0M+

order updates / day

Pipeline snapshot as of 2026-06-09. Delivery is sub-second.

Questions

Before you subscribe.

Get an API key, point a gRPC client at stream.hyperliquidrpc.com:443, and pass your key in the x-api-key metadata. Reflection is enabled, so grpcurl and auto-generated stubs work out of the box.

No. Our streams are wire-compatible with both. Change the endpoint and key; your existing client stubs keep working.

All of them: perpetuals, spot, and HIP-3 / pre-market, including new listings. Currently 462 markets and growing.

Coin, price, size, notional, the trader's wallet, realized PnL, fees (and rebates), maker/taker role, position context (open/close, long/short), order IDs, TWAP linkage, and liquidation details when applicable.

Yes, server-side. You only receive (and pay bandwidth for) what you subscribe to.

Ultra can start a stream from a recent block within the last 6 hours, catch up, and then continue live. Request older captured data as a manual export.

Put the whole tape behind one endpoint.

Connect with grpcurl in under a minute, or watch the stream demo first. Month-to-month billing, cancel anytime.