Event structure
Every event is a JSON object:Fields
| Field | Type | Always Present | Description |
|---|---|---|---|
block | number | Yes | HyperLiquid L1 block number |
timestamp | number | Yes | Unix timestamp in milliseconds |
type | string | Yes | Action type (see Action Types) |
data | object | Yes | Action-specific data |
network | string | Yes | "mainnet" or "testnet" |
user | string | No | Hex address of the user who submitted the action |
asset | string | No | Human-readable asset name (e.g., "BTC", "SOL") |
asset_id | number | No | Numeric asset identifier |
Coverage
useris present on 100% of mainnet events, ~98% on testnetassetandasset_idare present on trading actions but not on account actions likesetReferrerorscheduleCancel- 100% asset name coverage across all market types
Asset ID encoding
| Range | Type | Example |
|---|---|---|
| 0-228 | Perpetual futures | 0 = BTC, 1 = ETH, 5 = SOL |
| 10000-10306 | Spot pairs | 10000 = PURR, 10001 = HFUN, 10009 = TRUMP |
| 110000-170000+ | Spot margin variants | 110029 = GUP, 150001 = HFUN |
| 1900000+ | Prediction market outcomes | HIP-4 outcome tokens (testnet only) |
Timestamp
Thetimestamp field is Unix milliseconds. To convert: