The GoldRush Hyperliquid WebSocket API is a drop-in replacement for wss://api.hyperliquid.xyz/ws. For the channels GoldRush supports, subscription payloads, channel names, and message shapes are byte-for-byte identical to the public Hyperliquid feed. The only difference is the connection URL - authentication is a required key query parameter, so no header changes are needed in your client.
Endpoint
wss://hypercore.goldrushdata.com/ws?key=<GOLDRUSH_API_KEY>
Your GoldRush API key. Passed as a query parameter at connection time.
Comparison with the public Hyperliquid WebSocket
| Public WebSocket | GoldRush |
|---|
| URL | wss://api.hyperliquid.xyz/ws | wss://hypercore.goldrushdata.com/ws?key=<GOLDRUSH_API_KEY> |
| Auth | None | key query parameter (required) |
| Subscriptions per IP | 1000 | No cap |
| Wire compatibility | n/a (it’s the source) | Byte-for-byte |
| Available channels | See Hyperliquid Docs | See Available subscriptions |
Available subscriptions
Order book
Stream the Hyperliquid order book in real time - three channels, from aggregated L2 snapshots to full order-level (L4) detail. Omit coin on l2Book or l2BookDiff to stream every asset on a single subscription, which the public WebSocket’s 1000-subscription-per-IP cap makes impractical.
| Channel | Subscription body | Returns |
|---|
l2Book | {"type": "l2Book", "coin": "BTC"} | Real-time L2 order book snapshots - bids and asks aggregated by significant figures. coin is optional - omit it to stream every asset on one subscription. |
l2BookDiff | {"type": "l2BookDiff", "coin": "HYPE"} | GoldRush-native L2 diff transport - initial Snapshot per coin plus per-block Updates carrying only changed {px, sz, n} levels. coin accepts a single asset, an array of assets, or can be omitted to stream every asset. Not available on the public Hyperliquid WebSocket. |
l4Book | {"type": "l4Book", "coin": "BTC"} | GoldRush-native order-level book stream - initial Snapshot of every resting order plus per-block Updates with order_statuses and book_diffs. Exposes user, oid, cloid, tif, and trigger metadata per order. coin is required. Not available on the public Hyperliquid WebSocket. |
Wallet activity
| Channel | Subscription body | Returns |
|---|
userFills | {"type": "userFills", "addresses": ["0x…"]} | Live trade fills for one or more wallets, batched per block as [address, fill] tuples. Aliases user / users also accepted. |
orderUpdates | {"type": "orderUpdates", "addresses": ["0x…"]} | Live order lifecycle events (placements, fills, cancels, rejections) for one or more wallets, batched per block as an updates array of objects, each tagged with the originating user. Aliases user / users also accepted. |
liquidationFills | {"type": "liquidationFills"} | Global stream of every liquidation fill on HyperCore. Same shape as userFills with a non-null liquidation object on every entry. GoldRush-native, no upstream equivalent. |
allFills | {"type": "allFills"} | Global stream of every fill on HyperCore. Optional coin filter narrows to a single market. Same per-fill shape as userFills. GoldRush-native, no upstream equivalent. |
builderFills | {"type": "builderFills", "builder": "0x…"} | Live attributed fills for one or more builder addresses, with builder and builderFee on every entry. Accepts builder (single) or addresses (array). GoldRush-native, no upstream equivalent. |
userNonFundingLedgerUpdates | {"type": "userNonFundingLedgerUpdates", "addresses": ["0x…"]} | Live non-funding ledger events (deposits, withdrawals, transfers, liquidations, vault actions, staking, rewards) for one or more wallets. |
Looking for candle, trades, bbo, or allMids? These public Hyperliquid market-data channels aren’t mirrored on the GoldRush WebSocket - use the GoldRush equivalents instead:
- OHLCV candles - the Info API
candleSnapshot endpoint for historical candles, or the Streaming API OHLCV Pairs / OHLCV Tokens subscriptions for real-time candles across every HIP-3/HIP-4 market.
- Trade tape -
allFills streams every fill on HyperCore (the global trade tape); userFills narrows it to specific wallets.
- Best bid/offer and mids - derive top-of-book from
l2Book, or read mark and mid prices for the full universe from metaAndAssetCtxs.
Limits
No 1000-subscription-per-IP cap. On l2Book and l2BookDiff, filter parameters are optional - omit coin to stream the full L2 book across every asset on a single subscription. The wildcard defaults to perps only (marketTypes: ["perp"]); pass ["spot"], ["outcome"], a mix, or ["*"] to opt into spot, outcome, and future market types. l2BookDiff additionally accepts an array of coin symbols for a fixed multi-asset subscription. l4Book requires coin and is one-asset-per-subscription. See Limits & Connections for details.
For richer real-time analytics (pre-decoded HyperCore fills, liquidations, vault events, OHLCV across every HIP-3/HIP-4 market), pair the WebSocket with the GraphQL Streaming API.