Skip to main content

Archival Data - Raw Blockchain & Trade Data

Complete raw Hyperliquid data in native formats, providing full blockchain state and trade execution history for replay, compliance, and research.

Available Raw Data Archives#

ArchiveAvailable FromFormatContents
Replica CommandsJanuary 2025replica_cmdsComplete blockchain state, all transactions, validator signatures
Node TradesMarch 22 - May 25, 2025node_tradesBasic trade execution data with both sides
Node FillsMay 25 - July 27, 2025node_fillsEnhanced fills with PnL and fee tracking
Node Fills by BlockJuly 27, 2025 - Currentnode_fills_by_blockBlock-organized fills with builder info
Node Order Statuses by BlockJanuary 2026 - Currentnode_order_statuses_by_blockBlock-organized order status updates (opens, fills, rejections, cancellations)
Node Raw Book Diffs by BlockJanuary 2026 - Currentnode_raw_book_diffs_by_blockBlock-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 data

    • time: ISO-8601 timestamp with nanosecond precision
    • round: Current block number (height)
    • parent_round: Previous block number
    • proposer: Block proposer address (40 hex chars)
    • hardfork: Protocol version information
    • signed_action_bundles: Array of transaction bundles
  • resps: Execution responses for all actions

    • Full: Array matching structure of signed_action_bundles
    • Each response includes user address and result status

Action Types:

  • order: Place limit/market orders
  • cancel: Cancel orders by order ID
  • cancelByCloid: Cancel orders by client order ID
  • batchModify: Modify multiple orders
  • evmRawTx: 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:

FieldDescription
coinTrading pair symbol
sideBuy (B) or Sell (A)
timeExecution timestamp (ISO 8601)
pxExecution price
szTrade size
hashTransaction hash
trade_dir_overrideDirection override flag
side_infoArray containing details for both sides
side_info[].userWallet address
side_info[].start_posPosition before trade
side_info[].oidOrder ID
side_info[].twap_idTWAP order ID (if applicable)
side_info[].cloidClient 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:

FieldDescription
First elementUser wallet address
coinTrading pair
pxFill price
szFill size
sideBuy (B) or Ask (A)
timeUnix timestamp (milliseconds)
startPositionPosition before fill
dirTrade direction (Open Long, Close Short, etc.)
closedPnlRealized PnL from closed positions
hashTransaction hash
oidOrder ID
crossedWhether order crossed the spread
feeTrading fee (negative for rebate)
tidTrade ID
cloidClient order ID
feeTokenCurrency 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:

FieldDescription
local_timeLocal server timestamp
block_timeBlockchain block timestamp
block_numberBlock height
eventsArray of fill events in the block
events[][0]User wallet address
events[][1].coinTrading pair
events[][1].pxFill price
events[][1].szFill size
events[][1].sideBuy (B) or Ask (A)
events[][1].timeUnix timestamp (milliseconds)
events[][1].startPositionPosition before fill
events[][1].dirTrade direction
events[][1].closedPnlRealized PnL
events[][1].hashTransaction hash
events[][1].oidOrder ID
events[][1].crossedWhether order crossed spread
events[][1].feeTrading fee
events[][1].tidTrade ID
events[][1].cloidClient order ID
events[][1].feeTokenFee currency
events[][1].builderBlock builder address
events[][1].builderFeeFee 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.

{
"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:

FieldDescription
local_timeLocal server timestamp
block_timeBlockchain block timestamp
block_numberBlock height
eventsArray of order status events in the block

Event Fields:

FieldDescription
timeEvent timestamp (ISO 8601)
userWallet address
hashTransaction hash (null for rejections and cancellations)
builderBlock builder address (null if not applicable)
statusOrder status (see status types below)
orderFull order details

Order Fields:

FieldDescription
coinTrading pair symbol
sideBuy (B) or Ask (A)
limitPxLimit price
szRemaining size (0.0 when fully filled)
oidOrder ID
timestampOrder creation timestamp (milliseconds)
triggerConditionTrigger condition (N/A for non-trigger orders)
isTriggerWhether this is a trigger order
triggerPxTrigger price
childrenChild orders (TP/SL)
isPositionTpslWhether this is a position-level TP/SL
reduceOnlyWhether order is reduce-only
orderTypeOrder type (Limit, etc.)
origSzOriginal order size
tifTime-in-force (Alo, Ioc, Gtc)
cloidClient order ID

Status Types:

StatusDescription
openOrder successfully placed on the book
filledOrder fully filled (sz = 0.0)
canceledOrder canceled (by user or replaced)
badAloPxRejectedALO (Add Liquidity Only) order rejected — price would cross the book
perpMarginRejectedRejected due to insufficient perpetual margin
insufficientSpotBalanceRejectedRejected due to insufficient spot token balance
iocCancelRejectedIOC (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.

{
"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:

FieldDescription
local_timeLocal server timestamp
block_timeBlockchain block timestamp
block_numberBlock height
eventsArray of order book change events in the block

Event Fields:

FieldDescription
userWallet address
oidOrder ID
coinTrading pair symbol
sideBuy (B) or Ask (A)
pxPrice level
raw_book_diffThe book change (see diff types below)

Diff Types:

TypeStructureDescription
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_block for complete order-level analysis

Delivery Options#

MethodStatusDescription
Bulk DownloadAvailableS3/GCS bucket access
REST APIComing SoonQuery-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
NeedRecommendation
Pre-aggregated price dataOHLCV Data
Cleaned tick-by-tick tradesTick Data
Real-time order bookOrder Book Server

Access#

Contact the Dwellir team for archival data access:

Email: ben@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