Subscribe to a GoldRush-native order-level view of the Hyperliquid book. UnlikeDocumentation Index
Fetch the complete documentation index at: https://goldrush.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
l2Book, which emits a full aggregated snapshot every tick, l4Book emits a single Snapshot of every resting order on subscribe and then per-block Updates carrying individual order_statuses and book_diffs. Each order in the stream includes its user, oid, cloid, orderType, tif, and trigger metadata - enough to reconstruct queue position, per-trader flow, and microstructure. This channel is not available on wss://api.hyperliquid.xyz/ws - it is exclusive to wss://hypercore.goldrushdata.com/ws.
Endpoint
Your GoldRush API key. Passed as a query parameter at connection time - no
Authorization header is used.Subscribe
Send this JSON message after the connection is established:Always
"subscribe".Example
Unsubscribe
Send the samesubscription body with method: "unsubscribe":
Streamed messages
Every message haschannel: "l4Book". The data payload contains exactly one of two variants: a Snapshot (emitted once, immediately after subscribe) or an Updates (emitted on each subsequent HyperCore block where the book for coin changed).
Initial snapshot
The first message after subscribe carries the full resting book at the current block. Each entry inlevels[0] (bids) and levels[1] (asks) is an individual order - not an aggregated price level.
Incremental updates
Subsequent messages carry only what changed since the previous block.order_statuses describes order lifecycle events (open, etc.); book_diffs carries the corresponding price-level changes.
Response fields
Always
"l4Book".Contains exactly one of
Snapshot or Updates.Order object
The Order type appears insideSnapshot.levels[*][*] and Updates.order_statuses[*].order.
Wallet address that owns the order.
null when the order is nested inside an order_status (the parent already carries it).Asset symbol.
"B" for bid, "A" for ask.Limit price (decimal string).
Resting size (decimal string, base units).
Hyperliquid order id - stable for the lifetime of the order.
Order-placement timestamp in HyperCore milliseconds.
Trigger condition string (e.g.
"N/A" for plain limit orders).True if this is a stop / take-profit trigger order.
Trigger price (decimal string,
"0.0" for non-trigger orders).True if this is a position-level TP/SL.
True if the order is flagged reduce-only.
Hyperliquid order type (e.g.
"Limit").Time-in-force (e.g.
"Alo", "Gtc", "Ioc").Client-supplied order id (hex string), or
null if none was provided.Notes
- GoldRush-native.
l4Bookis not exposed onwss://api.hyperliquid.xyz/ws. Pointing a client at the public endpoint with this subscription type will fail. coinis required. Unlikel2Book, you cannot omitcointo stream every asset. Open one subscription per asset.- Snapshot, then diffs. The first message is always a
Snapshot; every message thereafter is anUpdates. Clients must seed local book state from the snapshot and apply diffs from there. On reconnect, drop local state and re-seed from the next snapshot. - Per-order detail. Each entry exposes
user,oid,cloid,tif, and trigger metadata - enabling queue-position reconstruction, per-trader flow attribution, and microstructure analytics that are not possible withl2Book. - See the L4 Order Book recipe for patterns to maintain book state, attribute flow by
user, or reconstruct aggregated price levels. For aggregated{px, sz, n}snapshots without per-order detail, usel2Book.