Every stream. Every method. Every field.
The complete inventory of what the feeds carry: proto methods, compatibility, field-by-field specs, filters, snapshot semantics, sample messages, and honest volume notes. If a field is not listed here, we do not stream it.
stream.hyperliquidrpc.com:443gRPC / TLS · x-api-key · reflection- hyperliquid.*QuickNode-compatible
- hyperliquid_l1_gateway.v2Dwellir-compatible
- hyperliquid_swaps.v1native schema
- hyperliquid_btc_price.v1native schema
Trades / Swaps
Native schemahyperliquid_swaps.v1.SwapStreaming/StreamSwapshyperliquid.Streaming/StreamData (stream_type: TRADES)The richest feed: full wallet attribution on every fill. The flat swap schema (Solana-swap-compatible) is the recommended surface; the same fills are also available QuickNode-compatibly via StreamData with stream_type TRADES. Around 6.5M fills a day across 462 markets.
- coins[]: one or more markets
- wallets[]: one or more trader addresses
- market_type: ALL / SPOT / PERP
- recent replay up to 6 hours
Pure event stream: one message per executed fill, in block order. No snapshot phase; Ultra can replay from a recent block within the last 6 hours.
{ "block_height": 612408133, "block_time": "2026-06-09T08:14:02.418Z", "coin": "BTC", "px": "67012.0", "sz": "0.14523", "notional": "9732.15", "side": "B", "crossed": true, "user": "0x7c4ee0c0c5d3ab91f7f0f3c2a3d6b18452e9a3f9", "dir": "Close Short", "start_position": "-0.42100", "closed_pnl": "182.337041", "fee": "2.433037", "is_rebate": false, "oid": 91834221107, "cloid": "0x00000000000000000000000000a1b2c3", "tid": 442191083327011, "twap_id": null, "liquidation": null}Volume: ~6.5M fills/day across all markets (~75/s average; bursts are much higher). Filter server-side to pay only for what you subscribe to.
L2 Order Book
QuickNode-compatiblehyperliquid.OrderBookStreaming/StreamL2BookTop-of-book and depth by price level for a single coin. Subscribe with {coin, n_levels}; the first message is a full snapshot, then one update per block. Levels carry price, aggregated size, and resting-order count.
- coin: required, one market per subscription
- n_levels: 1 to 100
Snapshot-then-updates: first message is a full book snapshot, then one full refresh per block. The book is guaranteed never crossed.
{ "coin": "BTC", "block_height": 612408133, "time": "2026-06-09T08:14:02.418Z", "is_snapshot": false, "levels": [ [ { "px": "67011.0", "sz": "3.41280", "n": 14 }, { "px": "67010.0", "sz": "1.20019", "n": 6 } ], [ { "px": "67012.0", "sz": "2.88457", "n": 11 }, { "px": "67013.0", "sz": "5.10022", "n": 19 } ] ]}Volume: One update per block per subscribed coin gives predictable, low-bandwidth depth. Use n_levels: 1 as a top-of-book ticker.
L4 Order Book
QuickNode-compatiblehyperliquid.OrderBookStreaming/StreamL4BookEvery individual resting order, attributed to its wallet. Starts with a current complete book snapshot, then per-block diffs. This method is live-only; resubscribe for a fresh snapshot after a gap.
- coin: required, one market per subscription
Snapshot + diffs: the first message is the complete order-by-order book; each block then delivers the set of order-level changes. Full snapshots can be large; set max receive size ≥256 MB.
{ "coin": "BTC", "block_height": 612408134, "is_snapshot": false, "diffs": [ { "type": "NEW", "order": { "oid": 91834221299, "user": "0x2f8a91be6cda04417e3c50f1a7b9d20c1e664b07", "side": "A", "px": "67018.0", "sz": "0.75000" } }, { "type": "REMOVE", "oid": 91834219841 } ]}Volume: High volume on liquid markets. This is the full order flow behind 725M+ order updates/day, so budget bandwidth accordingly or filter to specific coins.
Order lifecycle
QuickNode-compatiblehyperliquid.Streaming/StreamData (stream_type: ORDERS)The full L1 order lifecycle for every wallet and market: placements, modifications, cancels, fills, trigger activations, and rejections, with the order's complete parameters on each event.
- coins[]
- wallets[]
- recent replay up to 6 hours
Pure event stream in block order: one message per order-status transition. No snapshot phase.
{ "block_height": 612408135, "block_time": "2026-06-09T08:14:03.121Z", "user": "0x91b3c07a4de2f6cc185a0fd2b94e7a30c8d1572e", "coin": "ETH", "side": "B", "limit_px": "3498.25", "sz": "12.4400", "order_type": "Limit", "tif": "Gtc", "trigger_px": null, "trigger_condition": null, "reduce_only": false, "oid": 91834221384, "cloid": null, "status": "open"}Volume: 725M+ order updates/day platform-wide (~8,400/s average). Server-side coin and wallet filters are strongly recommended.
Raw book diffs
QuickNode-compatiblehyperliquid.Streaming/StreamData (stream_type: BOOK_UPDATES)The lowest-level book surface: every captured change to every order book. Pair it with a compatible snapshot and apply deltas in order for queue-position and microstructure research within the data range you hold.
- coins[]
- recent replay up to 6 hours
Pure delta stream in strict block order. For recovery, replay from a checkpoint only when you retained the compatible prior book state; otherwise resubscribe to StreamL4Book for current state.
{ "block_height": 612408136, "coin": "BTC", "update_type": "MODIFIED", "oid": 91834220771, "user": "0x5d20af913cc01b76e4a8f20de33c197a40b8e641", "side": "B", "px": "67009.0", "sz": "0.40000"}Volume: The highest-volume stream: every book change on every market. Filter by coin unless you genuinely need the firehose.
TWAP algos
QuickNode-compatiblehyperliquid.Streaming/StreamData (stream_type: TWAP)Status events for Hyperliquid's native TWAP orders: who is running them, total and executed size, executed notional (giving average fill price), duration, and lifecycle status. Useful for large-order detection and flow analysis.
- coins[]
- wallets[]
- recent replay up to 6 hours
Event stream: one message per TWAP status change or progress update, in block order.
{ "block_height": 612408201, "twap_id": 48112, "coin": "HYPE", "user": "0xa4f17bd09e26c3158c0b7341fa882ce05d97b264", "side": "B", "sz": "25000.00", "executed_sz": "9412.36", "executed_ntl": "116214.872340", "minutes": 60, "randomize": true, "status": "activated"}Volume: Low volume relative to fills, since only institutional TWAPs appear here. Cheap to subscribe to platform-wide.
Events
QuickNode-compatiblehyperliquid.Streaming/StreamData (stream_type: EVENTS)The non-order event surface: per-user funding payments with the funding rate, liquidations with victim and mark price, deposits, withdrawals, and position updates. These captured events can also support custom liquidation or funding datasets.
- coins[]
- wallets[]
- recent replay up to 6 hours
Pure event stream in block order. Funding arrives per user per funding interval; liquidations as they execute.
{ "block_height": 612409002, "block_time": "2026-06-09T09:00:00.084Z", "type": "funding", "user": "0xe83b6f02a1d94c7785cb01f3aa620d94b17c08d5", "coin": "BTC", "usdc": "-14.302187", "szi": "2.54000", "funding_rate": "0.0000125"}Volume: Bursty: funding clusters at funding intervals across 63,000+ wallets; liquidations cluster with volatility.
Blocks
QuickNode-compatiblehyperliquid.BlockStreaming/StreamBlockshyperliquid.Streaming/StreamData (stream_type: BLOCKS)Every L1 block as produced: height, timestamp, and the raw block content. The base layer if you want to run your own decoding, indexing, or verification on top of our node fleet.
- QuickNode block methods are live-only
- Dwellir StreamBlocks supports recent block_height on Ultra up to 6 hours
QuickNode BlockStreaming/StreamBlocks and StreamData BLOCKS are live-only. For Ultra block replay within 6 hours, use the Dwellir-compatible StreamBlocks method with Position.block_height.
{ "height": 612408133, "block_time": "2026-06-09T08:14:02.418Z", "num_txs": 1742, "raw": "<bytes: 1.8 MB>"}Volume: One message per L1 block. Individual blocks can be large; raise your client's max receive size.
Dedicated BTC price
Native schemahyperliquid_btc_price.v1.BtcPriceStreaming/StreamBtcPricesA single-purpose ticker for the most common ask: the current BTC price, from last trades on the BTC perp. Minimal payload, minimal bandwidth. The right surface for bots and dashboards that just need a number that moves.
- none (the stream is pre-filtered to BTC by design)
Pure ticker: one message per BTC last-trade price change, no snapshot phase.
{ "px": "67012.0", "block_height": 612408133, "time": "2026-06-09T08:14:02.418Z"}Volume: Tiny: a few messages per second at most. Available on both self-serve plans.
Dwellir-compatible gateway
Dwellir-compatiblehyperliquid_l1_gateway.v2.HyperliquidL1GatewayFor teams already integrated with Dwellir: the same hyperliquid_l1_gateway.v2 service and messages on our endpoint. Change the endpoint and key; keep your stubs. Recent block-height reads and replay are available on Ultra for up to 6 hours; timestamp inputs and book-snapshot requests return current state.
- Position.block_height for Ultra replay or recent lookup; unset for live/latest
Dwellir-compatible service names, request messages, and response messages; generated stubs work unchanged. Historical timestamp addressing is not promised.
{ "block_height": 612408133, "coin": "BTC", "px": "67012.0", "sz": "0.14523", "side": "B", "user": "0x7c4ee0c0c5d3ab91f7f0f3c2a3d6b18452e9a3f9", "time": "2026-06-09T08:14:02.418Z"}Volume: Volume matches the underlying surfaces (blocks, fills, snapshots), so it is sized like the native equivalents.
Cross-cutting features
These apply to every surface above. They are properties of the platform, not of individual streams.
Server-side filtering
Filter by coin and wallet on the server. You only receive (and pay bandwidth for) what you subscribe to.
Replay from height
On Ultra, eligible StreamData event topics, StreamSwaps, and Dwellir block/fill streams can replay from a height within the last 6 hours, then continue live.
All markets
Perps, spot (@N), and HIP-3 / pre-market (dex:SYMBOL), including new listings.
Exact decimals
Raw prices, sizes, PnL, and fees retain exact decimal-string representations instead of binary floats.
Wire-compatible
QuickNode and Dwellir client stubs work unchanged; switch by changing one endpoint.
Found the fields you need?
Every stream on this page is on both plans. Subscribe in under a minute.