Archival Data - Raw Blockchain & Trade Data
Access complete Hyperliquid raw data archives including replica_cmds blockchain state, node_trades, node_fills, and node_fills_by_block formats from January 2025.
Complete raw Hyperliquid data in native formats, providing full blockchain state and trade execution history for replay, compliance, and research.
Available Raw Data Archives
| Archive | Available From | Format | Contents |
|---|---|---|---|
| Replica Commands | January 2025 | replica_cmds | Complete blockchain state, all transactions, validator signatures |
| Node Trades | March 22 - May 25, 2025 | node_trades | Basic trade execution data with both sides |
| Node Fills | May 25 - July 27, 2025 | node_fills | Enhanced fills with PnL and fee tracking |
| Node Fills by Block | July 27, 2025 - Current | node_fills_by_block | Block-organized fills with builder info |
| Node Order Statuses by Block | January 2026 - Current | node_order_statuses_by_block | Block-organized order status updates (opens, fills, rejections, cancellations) |
| Node Raw Book Diffs by Block | January 2026 - Current | node_raw_book_diffs_by_block | Block-organized order book changes (new orders, updates, removals) |
Replica Commands Format
The replica_cmds format provides the most comprehensive view of Hyperliquid blockchain activity, identical to data streamed via StreamBlocks gRPC.
Available from: January 2025 - Current
What's Included
- Block Headers: Height, timestamp, proposer address, hardfork version
- Signed Action Bundles: All user-submitted transactions with cryptographic signatures
- Execution Responses: Order statuses, fill confirmations, error messages
- State Changes: Position updates, balance modifications, liquidations
- Consensus Data: Validator votes, block proposals, finalization records
Data Structure
{
"abci_block": {
"time": "2025-09-08T06:41:57.997372546",
"round": 992814678,
"parent_round": 992814677,
"proposer": "0x5ac99df645f3414876c816caa18b2d234024b487",
"hardfork": {
"version": 57,
"round": 990500929
},
"signed_action_bundles": [
[
"0xb4b1f5a9c233f9d90fd24b9961fd12708b36cc3d56f8fda47f32b667ee8d1227",
{
"signed_actions": [
{
"signature": {
"r": "0xd931f13565ae66c3bc41a05da4180bb795dbd9ed2d365efaf639fd23b3774ac6",
"s": "0x4a7a0534bf0a4238dfe404a88d335ab4c9b8222909100d773635e328d2ab864c",
"v": 27
},
"action": {
"type": "order",
"orders": [
{
"a": 170,
"b": true,
"p": "0.038385",
"s": "1514",
"r": false,
"t": { "limit": { "tif": "Ioc" } },
"c": "0x7192c49bcadb32d394e38617ea99cc09"
}
]
},
"nonce": 1757313597362
}
],
"broadcaster": "0x67e451964e0421f6e7d07be784f35c530667c2b3",
"broadcaster_nonce": 1757313597367
}
]
]
},
"resps": {
"Full": [
[
"0xb4b1f5a9c233f9d90fd24b9961fd12708b36cc3d56f8fda47f32b667ee8d1227",
[
{
"user": "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
"res": {
"status": "ok",
"response": {
"type": "order",
"data": {
"statuses": [
{
"filled": {
"totalSz": "1514.0",
"avgPx": "0.038385",
"oid": 156190414943,
"cloid": "0x7192c49bcadb32d394e38617ea99cc09"
}
}
]
}
}
}
}
]
]
]
}
}Field Reference
Top-Level Fields:
-
abci_block: Block header and transaction datatime: ISO-8601 timestamp with nanosecond precisionround: Current block number (height)parent_round: Previous block numberproposer: Block proposer address (40 hex chars)hardfork: Protocol version informationsigned_action_bundles: Array of transaction bundles
-
resps: Execution responses for all actionsFull: Array matching structure ofsigned_action_bundles- Each response includes user address and result status
Action Types:
order: Place limit/market orderscancel: Cancel orders by order IDcancelByCloid: Cancel orders by client order IDbatchModify: Modify multiple ordersevmRawTx: Execute EVM transactions
For complete field documentation, see the StreamBlocks reference.
Use Cases
- Complete Blockchain Replay: Reconstruct full blockchain state from genesis
- Transaction Analysis: Analyze all transaction types and execution patterns
- State Verification: Verify blockchain state transitions
- Order Book Reconstruction: Rebuild historical order book states
- Protocol Research: Study consensus behavior and validator activity
- Compliance & Auditing: Maintain complete audit trails with cryptographic signatures
Node Trades Format
Available: March 22, 2025 - May 25, 2025
The node_trades format captures basic trade execution data with information for both sides of each trade.
{
"coin": "PURR",
"side": "B",
"time": "2025-03-22T23:00:00.000984711",
"px": "0.12928",
"sz": "1547.0",
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"trade_dir_override": "Na",
"side_info": [
{
"user": "0xa68c548f3acd23a7fe3e867cc47f302559794419",
"start_pos": "2462968.0",
"oid": 81305166697,
"twap_id": 568722,
"cloid": null
},
{
"user": "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
"start_pos": "-15493993.0",
"oid": 81305141429,
"twap_id": null,
"cloid": "0x6640b7cba22f65c630e7fb18b18819b6"
}
]
}Field Descriptions:
| Field | Description |
|---|---|
coin | Trading pair symbol |
side | Buy (B) or Sell (A) |
time | Execution timestamp (ISO 8601) |
px | Execution price |
sz | Trade size |
hash | Transaction hash |
trade_dir_override | Direction override flag |
side_info | Array containing details for both sides |
side_info[].user | Wallet address |
side_info[].start_pos | Position before trade |
side_info[].oid | Order ID |
side_info[].twap_id | TWAP order ID (if applicable) |
side_info[].cloid | Client order ID |
Node Fills Format
Available: May 25, 2025 - July 27, 2025
The node_fills format includes comprehensive fill information with PnL calculations and fee tracking.
[
"0xe3b6e3443c8f2080704e7421bad9340f13950acb",
{
"coin": "ETH",
"px": "2511.2",
"sz": "0.486",
"side": "B",
"time": 1748183573109,
"startPosition": "-946.9372",
"dir": "Close Short",
"closedPnl": "-2.5515",
"hash": "0x71fe8c1aa48f3a43971504242beb2502023600245b77a4f664b49f10a236d9e2",
"oid": 97128733943,
"crossed": false,
"fee": "-0.036613",
"tid": 995829841758483,
"cloid": "0x00000000000000002bca2ffb27459396",
"feeToken": "USDC"
}
]Field Descriptions:
| Field | Description |
|---|---|
| First element | User wallet address |
coin | Trading pair |
px | Fill price |
sz | Fill size |
side | Buy (B) or Ask (A) |
time | Unix timestamp (milliseconds) |
startPosition | Position before fill |
dir | Trade direction (Open Long, Close Short, etc.) |
closedPnl | Realized PnL from closed positions |
hash | Transaction hash |
oid | Order ID |
crossed | Whether order crossed the spread |
fee | Trading fee (negative for rebate) |
tid | Trade ID |
cloid | Client order ID |
feeToken | Currency used for fees |
Node Fills by Block Format
Available: July 27, 2025 - Current
The current node_fills_by_block format organizes fills within block context with builder information.
{
"local_time": "2025-07-27T08:50:10.334741319",
"block_time": "2025-07-27T08:50:10.273720809",
"block_number": 676607012,
"events": [
[
"0x7839e2f2c375dd2935193f2736167514efff9916",
{
"coin": "BTC",
"px": "118136.0",
"sz": "0.00009",
"side": "B",
"time": 1753606210273,
"startPosition": "-1.41864",
"dir": "Close Short",
"closedPnl": "-0.003753",
"hash": "0xe7822040155eaa2e737e042854342401120052bbf063906ce8c8f3babe853a79",
"oid": 121670079265,
"crossed": false,
"fee": "-0.000212",
"tid": 161270588369408,
"cloid": "0x09367b9f8541c581f95b02aaf05f1508",
"feeToken": "USDC",
"builder": "0x49ae63056b3a0be0b166813ee687309ab653c07c",
"builderFee": "0.005528"
}
]
]
}Field Descriptions:
| Field | Description |
|---|---|
local_time | Local server timestamp |
block_time | Blockchain block timestamp |
block_number | Block height |
events | Array of fill events in the block |
events[][0] | User wallet address |
events[][1].coin | Trading pair |
events[][1].px | Fill price |
events[][1].sz | Fill size |
events[][1].side | Buy (B) or Ask (A) |
events[][1].time | Unix timestamp (milliseconds) |
events[][1].startPosition | Position before fill |
events[][1].dir | Trade direction |
events[][1].closedPnl | Realized PnL |
events[][1].hash | Transaction hash |
events[][1].oid | Order ID |
events[][1].crossed | Whether order crossed spread |
events[][1].fee | Trading fee |
events[][1].tid | Trade ID |
events[][1].cloid | Client order ID |
events[][1].feeToken | Fee currency |
events[][1].builder | Block builder address |
events[][1].builderFee | Fee paid to builder |
Node Order Statuses by Block Format
Available: January 2026 - Current
The node_order_statuses_by_block format provides order lifecycle tracking, recording every status change for orders within each block. This includes successful placements, fills, cancellations, and rejections with detailed reason codes.
For live access to this data, see the StreamOrderStatuses gRPC method.
{
"local_time": "2026-01-23T00:00:00.197251260",
"block_time": "2026-01-22T23:59:59.897679529",
"block_number": 870099968,
"events": [
{
"time": "2026-01-22T23:59:59.897679529",
"user": "0x54f9524155c82f1f3f2c5e086ba513df442a18ef",
"hash": "0xa9895e9cb6990c28ab030433dcac000129007682519c2afa4d5209ef759ce613",
"builder": null,
"status": "open",
"order": {
"coin": "LTC",
"side": "A",
"limitPx": "68.177",
"sz": "5.33",
"oid": 300607585950,
"timestamp": 1769126399897,
"triggerCondition": "N/A",
"isTrigger": false,
"triggerPx": "0.0",
"children": [],
"isPositionTpsl": false,
"reduceOnly": false,
"orderType": "Limit",
"origSz": "5.33",
"tif": "Alo",
"cloid": "0xe1b558bfb87f4ca8955bf3c497c480c0"
}
},
{
"time": "2026-01-22T23:59:59.897679529",
"user": "0x57dd78cd36e76e2011e8f6dc25cabbaba994494b",
"hash": null,
"builder": null,
"status": "filled",
"order": {
"coin": "IP",
"side": "A",
"limitPx": "2.466",
"sz": "0.0",
"oid": 300601070925,
"timestamp": 1769125332148,
"triggerCondition": "N/A",
"isTrigger": false,
"triggerPx": "0.0",
"children": [],
"isPositionTpsl": false,
"reduceOnly": false,
"orderType": "Limit",
"origSz": "4.5",
"tif": "Alo",
"cloid": "0x00000000000000173690701026033489"
}
}
]
}Block-Level Fields:
| Field | Description |
|---|---|
local_time | Local server timestamp |
block_time | Blockchain block timestamp |
block_number | Block height |
events | Array of order status events in the block |
Event Fields:
| Field | Description |
|---|---|
time | Event timestamp (ISO 8601) |
user | Wallet address |
hash | Transaction hash (null for rejections and cancellations) |
builder | Block builder address (null if not applicable) |
status | Order status (see status types below) |
order | Full order details |
Order Fields:
| Field | Description |
|---|---|
coin | Trading pair symbol |
side | Buy (B) or Ask (A) |
limitPx | Limit price |
sz | Remaining size (0.0 when fully filled) |
oid | Order ID |
timestamp | Order creation timestamp (milliseconds) |
triggerCondition | Trigger condition (N/A for non-trigger orders) |
isTrigger | Whether this is a trigger order |
triggerPx | Trigger price |
children | Child orders (TP/SL) |
isPositionTpsl | Whether this is a position-level TP/SL |
reduceOnly | Whether order is reduce-only |
orderType | Order type (Limit, etc.) |
origSz | Original order size |
tif | Time-in-force (Alo, Ioc, Gtc) |
cloid | Client order ID |
Status Types:
| Status | Description |
|---|---|
open | Order successfully placed on the book |
filled | Order fully filled (sz = 0.0) |
canceled | Order canceled (by user or replaced) |
badAloPxRejected | ALO (Add Liquidity Only) order rejected — price would cross the book |
perpMarginRejected | Rejected due to insufficient perpetual margin |
insufficientSpotBalanceRejected | Rejected due to insufficient spot token balance |
iocCancelRejected | IOC (Immediate or Cancel) order canceled after partial or no fill |
Node Raw Book Diffs by Block Format
Available: January 2026 - Current
The node_raw_book_diffs_by_block format captures every change to the order book within each block, enabling full order book reconstruction from historical data.
For live access to this data, see the StreamRawBookDiffs gRPC method.
{
"local_time": "2026-01-23T00:00:00.193472222",
"block_time": "2026-01-22T23:59:59.897679529",
"block_number": 870099968,
"events": [
{
"user": "0x54f9524155c82f1f3f2c5e086ba513df442a18ef",
"oid": 300607585950,
"coin": "LTC",
"side": "A",
"px": "68.177",
"raw_book_diff": {
"new": {
"sz": "5.33"
}
}
},
{
"user": "0x98daeaed62a12b1a882f515416d358254f166de1",
"oid": 300607578684,
"coin": "xyz:XYZ100",
"side": "A",
"px": "25471.0",
"raw_book_diff": "remove"
},
{
"user": "0x57dd78cd36e76e2011e8f6dc25cabbaba994494b",
"oid": 300601070925,
"coin": "IP",
"side": "A",
"px": "2.466",
"raw_book_diff": {
"update": {
"origSz": "4.5",
"newSz": "0.0"
}
}
}
]
}Block-Level Fields:
| Field | Description |
|---|---|
local_time | Local server timestamp |
block_time | Blockchain block timestamp |
block_number | Block height |
events | Array of order book change events in the block |
Event Fields:
| Field | Description |
|---|---|
user | Wallet address |
oid | Order ID |
coin | Trading pair symbol |
side | Buy (B) or Ask (A) |
px | Price level |
raw_book_diff | The book change (see diff types below) |
Diff Types:
| Type | Structure | Description |
|---|---|---|
new | { "new": { "sz": "5.33" } } | New order added to the book at the given price level |
update | { "update": { "origSz": "4.5", "newSz": "0.0" } } | Existing order size changed (e.g., partial fill). newSz of 0.0 means the order was fully consumed |
remove | "remove" | Order removed from the book entirely (string value, not object) |
Use Cases
- Order Book Reconstruction: Replay historical order book state at any point in time
- Liquidity Analysis: Study how liquidity is added, consumed, and removed across markets
- Market Microstructure: Analyze order flow, cancellation patterns, and book dynamics
- Order Lifecycle Tracking: Combine with
node_order_statuses_by_blockfor complete order-level analysis
Delivery Options
| Method | Status | Description |
|---|---|---|
| Bulk Download | Available | S3/GCS bucket access |
| REST API | Coming Soon | Query-based access with filtering |
Data Quality
- Completeness: No gaps in data from stated availability dates
- Verification: Data validated against on-chain state
- Format Consistency: Native Hyperliquid formats preserved exactly
Related Data Products
| Need | Recommendation |
|---|---|
| Pre-aggregated price data | OHLCV Data |
| Cleaned tick-by-tick trades | Tick Data |
| Real-time order book | Order Book Server |
Access
Contact the Dwellir team for archival data access:
Email: support@dwellir.com
Include in your request:
- Data type(s) needed (replica_cmds, node_trades, node_fills, node_fills_by_block, node_order_statuses_by_block, node_raw_book_diffs_by_block)
- Date range required
- Delivery preference (bulk download or streaming)
- Use case description
Historical Data - Hyperliquid Market Archives
Access Hyperliquid historical data including archival blockchain state, OHLCV candlesticks, tick-by-tick trade executions, order statuses, and order book diffs from Dwellir.
Tick Data - Historical Trade Executions
Access every individual trade execution on Hyperliquid with millisecond precision. Cleaned tick-by-tick data derived from node_fills_by_block for backtesting and market analysis.