{
"channel": "allLedgerUpdates",
"data": [
{
"time": 123,
"hash": "<string>",
"users": [
"<string>"
],
"delta": {
"type": "<string>"
}
}
]
}Live Data WebSocket API
allLedgerUpdates
Deposits, withdrawals, transfers and every other non-funding ledger event of every Hyperliquid user, live
Subscribe with
Funding payments are not ledger events: subscribe to
With both, an event is sent when it matches both:
{"method":"subscribe","subscription":{"type":"allLedgerUpdates"}} to receive every non-funding ledger event of every user on Hyperliquid, a few seconds after it happens: deposits, withdrawals, send and spot transfers, sub-account and perp/spot class transfers, vault deposits and withdrawals, staking, borrow/lend, and the other types of userNonFundingLedgerUpdates. Add "users": [...] (up to 20,000 addresses) and/or "types": [...] to receive only what you need; see Filters.
One subscription replaces one userNonFundingLedgerUpdates subscription per address: use it to follow a list of wallets, or the deposit and withdrawal flows of the whole exchange.
Event shape
One item per event, with the sametime, hash and delta as userNonFundingLedgerUpdates, plus users:
time: the event’s timestamp, in milliseconds;hash: the transaction hash, or the zero hash for system events;users: the one or two addresses involved, lower-cased and sorted. A transfer from A to B is sent once, with both addresses; readdelta.useranddelta.destinationfor the direction;delta: the event exactly as Hyperliquid emits it,delta.typegiving its kind.
{
"channel": "allLedgerUpdates",
"data": [
{
"time": 1793998894481,
"hash": "0x9f3e2d1c0b8a79685746352413021f0e9d8c7b6a5948372615049382716051a4",
"users": ["0x3b8e1c2d4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c", "0x7a1f9e2d3c4b5a69788796a5b4c3d2e1f0a9b8c7"],
"delta": {"type": "send", "user": "0x7a1f9e2d3c4b5a69788796a5b4c3d2e1f0a9b8c7", "destination": "0x3b8e1c2d4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c", "sourceDex": "spot", "destinationDex": "", "token": "USDC", "amount": "250.0", "usdcValue": "250.0", "fee": "0.0", "nativeTokenFee": "0.0", "nonce": 1793998893912, "feeToken": ""}
},
{
"time": 1793998982519,
"hash": "0x1e2d3c4b5a69788796a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3",
"users": ["0x5c4d3e2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b7c6d"],
"delta": {"type": "deposit", "usdc": "500.0"}
}
]
}
userFundings for them.
Filters
| Parameter | Keeps |
|---|---|
users | Events involving at least one of these wallets (up to 20,000, 0x-prefixed, case-insensitive) |
types | Events whose delta.type is in the list (up to 50), for example ["deposit", "withdraw"] |
{"users": [...], "types": ["deposit", "withdraw"]} gives the deposits and withdrawals of those wallets. Any other parameter is refused with an error, so a typo never silently turns the subscription into the full stream. The acknowledgement gives the number of addresses instead of echoing them, and the types in force: {"channel":"subscriptionResponse","data":{"method":"subscribe","subscription":{"type":"allLedgerUpdates","users":15000,"types":["deposit","withdraw"]}}}.
- The subscribe message must stay under 1 MB (20,000 addresses take about 900 KB).
- One
allLedgerUpdatessubscription per connection: subscribing again replaces the filters.{"method":"unsubscribe","subscription":{"type":"allLedgerUpdates"}}stops it.
Volume, latency and duplicates
A few events per second across all of Hyperliquid on average, with bursts above 100 per second (November 2026), each 2 to 4 seconds after the event (median). There is no snapshot: it is a pure stream. After a rare restart on our side, the events of the last seconds may be sent again: deduplicate ontime, hash and delta (a transaction can carry several events, and system events share the zero hash).
To catch up after a disconnect, or to read a past window, use the REST counterpart POST /info with {"type":"allLedgerUpdates","startTime":...} (Live Data REST API, Account History): same items, paged, with the same optional users and types filters, complete for every user from 27 September 2025.
Usage is billed as standard WebSocket events against your plan’s credits.Non-funding ledger events of every user on Hyperliquid (or of the users / types of the subscription), one item per event: time, hash, users (the one or two addresses involved, lower-cased and sorted) and delta, the event as Hyperliquid emits it (same delta as userNonFundingLedgerUpdates). No snapshot.