Hyperliquid orderUpdates: stream real-time order lifecycle events (placements, fills, cancels, and rejections) for one or more wallets on HyperCore.
Credit Cost
1 per minute
Processing
Realtime
Wire-compatible with wss://api.hyperliquid.xyz/wsorderUpdates subscription - same channel name, same per-update shape.
Up to 1,000 wallet addresses per subscription. Use addresses (string[]); aliases user(string) and users (string[]) are also accepted.
Messages are batched per HyperCore block; each push carries one or more updates entries, each with its own user field. Subscribe many wallets and receive one push per block containing every matching wallet’s events.
Live-only — no historical snapshot of resting orders on subscribe. For the current resting-order set, use the Info API frontendOpenOrders. For historical fills, use userFillsByTime.
No 1,000-subscription-per-IP cap. Multiplex many orderUpdates subscriptions on a single connection.
Subscribe to one or more wallets and receive their live order status updates the moment they change when an order is placed, filled, canceled, or rejected. The server batches one push per HyperCore block, carrying every matching update as an updates array of objects, each tagged with the originating user.Supports up to 1,000 wallet addresses per subscription.
Unsubscribe matches subscriptions by exact body. A subscription created with addresses: ["0xAAA", "0xBBB"] is a different subscription from two single-address subscriptions. To narrow the set, unsubscribe the original list in full, then resubscribe with the smaller list.
Each push has channel: "orderUpdates" and an updates array of objects - every order lifecycle event from the same HyperCore block that matches any subscribed wallet. Each entry is self-tagged with the originating user.
Array of order lifecycle events from the same HyperCore block. Each entry carries its own user field, so a single push can contain events for multiple subscribed wallets.
Optional. L1 transaction hash for the action that produced this update. Present on placements ("open"); typically absent on terminal transitions like "filled" and "canceled".