Hyperliquid TWAP Statuses - Node Data
Inspect node_twap_statuses_by_block files, lifecycle fields, sample data, and access methods.
Hyperliquid RPC endpoint: endpoint URLs, plans and pricing.
node_twap_statuses_by_block records lifecycle updates for time-weighted average price (TWAP) orders. Each event includes the TWAP identifier, current aggregate state, and lifecycle status.
Access
| Availability | Access | Details |
|---|---|---|
| Live / replay | StreamTwapStatuses and GetTwapStatuses | V3 selects with position.block_number or position.timestamp; Record.block_number and Record.timestamp are transport cursors. V3 supports the documented users and coins filters. V2 selects with block_height or timestamp_ms and returns source JSON bytes in BlockTwapStatuses.data; it does not use the V3 record fields or filter contract. |
| Archival | S3 Bucket | S3 coverage for node_twap_statuses_by_block: 2026-07-01 to today, stored as hourly .lz4. |
File layout
node_twap_statuses_by_block/<YYYYMMDD>/<hour>.lz4Files contain JSON block envelopes with TWAP lifecycle objects in events.
For download planning, see compressed size and file count. Measure TWAP statuses and fills separately for the same date range when you need both.
Sample data
{
"local_time": "2026-01-01T00:00:00.100000000",
"block_time": "2026-01-01T00:00:00.000000000",
"block_number": 12345,
"events": [
{
"time": "2026-01-01T00:00:00.000000000",
"twap_id": 101,
"state": {
"coin": "kPEPE",
"user": "<redacted-user>",
"side": "B",
"sz": "555555.0",
"executedSz": "555555.0",
"executedNtl": "1371.51378",
"minutes": 5,
"reduceOnly": false,
"randomize": false,
"timestamp": 1704067200000
},
"status": "finished"
}
]
}This is synthetic representative data. The production account identifier uses a visible <redacted-user> marker, and the TWAP identifier is synthetic.
Important fields
| Field | Description |
|---|---|
twap_id | TWAP order identifier. |
state.user, state.coin, state.side | Account, market, and side. |
state.sz | Target size as a numeric string. |
state.executedSz, state.executedNtl | Aggregate executed size and notional at this lifecycle boundary. |
state.minutes | Requested duration in minutes. |
state.timestamp | TWAP creation time in Unix milliseconds. |
status | Lifecycle string or an object carrying an error. Treat the set as non-exhaustive. |
This is lifecycle state, not a fill-by-fill log. Use fills for individual executions.
Join twap_id to a fill's twapId, not its child-order oid. Aggregate execution fields describe lifecycle boundaries rather than continuous progress.
Use signed block actions and responses for submission attempts and cancellations. A fills-derived sample excludes TWAPs that never execute.
For activity already running at your selection's start, include earlier lifecycle records or a matching state seed. See TWAP research validation.
Observed fields
[] marks an array element, [0] a tuple position, <name> an object whose type is that name, and {key} a map keyed by user, asset, or ID. Values after a colon are every distinct value seen for a short enum field. A field missing here can still appear in record types the sample did not contain.
Generated from 49,867 records in node_twap_statuses_by_block/20261021/14.lz4 (2026-10-21).
block_number number
block_time string
events array
events[] object
state object
coin string
executedNtl string
executedSz string
minutes number
randomize bool
reduceOnly bool
side string: A, B
stopPx null | string
sz string
timestamp number
trigger null | object
above bool
px string
user string
status object | string: activated, finished, stopped, terminated, waitingForTrigger
error string
time string
twap_id number
local_time stringRelated pages
- TWAP order action — Decode the signed payload that starts a TWAP.
- TWAP cancel action — Decode TWAP cancellation payloads.
- Indexed TWAP summaries — Query execution-derived summaries for one user.
- Indexed TWAP slice fills — Query the individual executions produced by TWAP slices.