跳转至主要内容

Orders Dataset

更新于
May 07, 2026

概述

The orders stream contains all order status updates from the Hyperliquid exchange. This includes order placements, cancellations, fills, rejections, and other lifecycle events.

Stream Type: 订单
API Availability: gRPC Streaming API + JSON-RPC/WebSocket APIs
Volume: Very High - Most frequent stream with 18+ different status types

Data Structure

Each block contains an array of order status events:

{
"local_time": "2025-12-04T17:00:00.268701903",
"block_time": "2025-12-04T17:00:00.083688002",
"block_number": 817828537,
"events": [
{
"time": "2025-12-04T17:00:00.268701903",
"user": "0xeb6eda4756f831824cd28e568ef8adcff35016e3",
"hash": "0x81598918a9303dff82d30430bf015102068e00fe44335cd12522346b683417ea",
"builder": null,
"status": "open",
"order": {
"coin": "ZEC",
"side": "B",
"limitPx": "356.42",
"sz": "1.1",
"oid": 258166303284,
"timestamp": 1764867600268,
"triggerCondition": "N/A",
"isTrigger": false,
"triggerPx": "0.0",
"children": [],
"isPositionTpsl": false,
"reduceOnly": false,
"orderType": "Limit",
"origSz": "1.1",
"tif": "Gtc",
"cloid": "0x89119db7aae18b90abe620888af9aadc"
}
}
]
}

Event Fields

字段类型描述
时间字符串Timestamp of the order status event (ISO 8601)
用户字符串Ethereum address of the user who placed the order
哈希string|nullTransaction hash (null for rejected/canceled orders without blockchain tx)
builderobject|nullBuilder information when order flow comes through a builder. Contains {"b": "builder_address", "f": fee_in_basis_points}. Null for direct orders.
状态字符串Order status - see Order Statuses below
order对象Full order details - see Order Object below

Order Object

字段类型描述
硬币字符串Trading pair (e.g., "BTC", "ETH", "xyz:NVDA", "@162", "#0")
侧面字符串Order side: "B" (Buy) or "A" (Ask/Sell)
limitPx字符串Limit price as string
sz字符串Current order size (can be "0.0" if fully filled)
oid整数Unique order ID
时间戳整数Order creation timestamp (milliseconds since epoch)
triggerCondition字符串Trigger condition or "N/A" if not a trigger order
isTrigger布尔型Whether this is a trigger/stop order
triggerPx字符串Trigger price (0.0 if not applicable)
children数组Array of child orders (for complex order types)
isPositionTpsl布尔型Whether this is a position-level TP/SL order
reduceOnly布尔型Whether order can only reduce position
orderType字符串Order type: "Limit", "Market", etc.
origSz字符串Original order size at placement
tif字符串Time-in-force: "Gtc", "Alo", "Ioc", etc.
cloidstring|nullClient order ID (optional, for user reference)

Builder Orders

When order flow comes through a builder (MEV builder or order flow provider), the builder field contains structured information about the builder and associated fees.

Builder Object Structure:

字段类型描述
b字符串Builder Ethereum address (e.g., "0x999a4b5f268a8fbf33736feff360d462ad248dbf")
f整数Builder fee in basis points (e.g., 20 = 0.20%)

Example builder object:

{
"b": "0x999a4b5f268a8fbf33736feff360d462ad248dbf",
"f": 20
}

When is builder null vs populated?

  • null: Direct orders placed by users without a builder intermediary
  • populated: Orders that flow through builders, often for HIP-3 coins or MEV-related order flow

HIP-3 Coins: Orders for HIP-3 coins (identified by prefixes like vntl:, xyz:, etc.) commonly include builder information. Examples: vntl:SPACEX, xyz:NVDA, vntl:TRUMPWIN.

Filtering for builder orders:

// WebSocket - Get all orders with any builder
{"streamType": "orders", "filters": {"builder": ["*"]}}

// WebSocket - Get orders for specific builder
{"streamType": "orders", "filters": {"builder": ["0x999a4b5f268a8fbf33736feff360d462ad248dbf"]}}

// gRPC - Get all orders with any builder
{"builder": {"values": ["*"]}}

// gRPC - Get orders for specific builder
{"builder": {"values": ["0x999a4b5f268a8fbf33736feff360d462ad248dbf"]}}

Order Statuses

The following order statuses are observed in the dataset:

Success Statuses

These statuses indicate orders that have been successfully processed or are actively working on the exchange.

状态描述
openOrder successfully placed and is active on the orderbook
filledOrder fully executed/filled
triggeredTrigger order condition met and order activated

Cancellation Statuses

Orders with these statuses were placed successfully but later canceled due to user action or system conditions.

状态描述
canceledOrder canceled by user or system
marginCanceledOrder canceled due to insufficient margin
openInterestCapCanceledOrder canceled due to open interest cap reached
reduceOnlyCanceledReduce-only order canceled (likely position closed)
scheduledCancelOrder canceled on a scheduled basis
selfTradeCanceledOrder canceled to prevent self-trading
siblingFilledCanceledOrder canceled because a sibling order filled

Rejection Statuses

Orders with these statuses were rejected before being placed on the order book due to validation failures or risk constraints.

状态描述
badAloPxRejectedALO (Add Liquidity Only) order rejected due to bad price (would cross spread)
iocCancelRejectedIOC (Immediate or Cancel) order rejected/canceled
insufficientSpotBalanceRejectedOrder rejected due to insufficient spot token balance
minTradeNtlRejectedOrder rejected - notional value below minimum
oracleRejectedOrder rejected due to oracle price issues
perpMarginRejectedPerpetual order rejected due to insufficient margin
perpMaxPositionRejectedPerpetual order rejected - would exceed max position size
positionFlipAtOpenInterestCapRejectedOrder rejected - would flip position at OI cap
positionIncreaseAtOpenInterestCapRejectedOrder rejected - would increase position at OI cap
reduceOnlyRejectedReduce-only order rejected (would increase position)
tooAggressiveAtOpenInterestCapRejectedOrder rejected - too aggressive near OI cap

Market Types

Orders can reference different market types via the 硬币 field:

  • Standard perpetuals: "BTC", "ETH", "SOL",等等。
  • Prediction markets (XYZ): "xyz:NVDA", "xyz:AAPL", "xyz:TSLA",等等。
  • Spot tokens: "@162", "@198",等等。
  • Outcome sides (HIP-4): "#0" (Yes), "#1" (No), etc.; format is #N where N = (outcomeIndex × 10) + sideIndex

Time-in-Force (TIF) Types

TIF描述
GtcGood-Till-Cancel (remains active until filled or canceled)
AloAdd-Liquidity-Only (will only add to book, not cross spread)
IocImmediate-or-Cancel (executes immediately or cancels)
FrontendMarketMarket order from frontend interface

Example Order Events

Open Order
{
"time": "2025-12-04T17:00:00.268701903",
"user": "0xeb6eda4756f831824cd28e568ef8adcff35016e3",
"hash": "0x81598918a9303dff82d30430bf015102068e00fe44335cd12522346b683417ea",
"builder": null,
"status": "open",
"order": {
"coin": "ZEC",
"side": "B",
"limitPx": "356.42",
"sz": "1.1",
"oid": 258166303284,
"timestamp": 1764867600268,
"triggerCondition": "N/A",
"isTrigger": false,
"triggerPx": "0.0",
"children": [],
"isPositionTpsl": false,
"reduceOnly": false,
"orderType": "Limit",
"origSz": "1.1",
"tif": "Gtc",
"cloid": "0x89119db7aae18b90abe620888af9aadc"
}
}
Filled Order
{
"time": "2025-12-04T17:00:00.475982103",
"user": "0x4c96f9be0e7bd04bb2db2a5cdf0b8797be00b0da",
"hash": "0xace6f472128f05e4ae600430bf19350202770057ad8224b650af9fc4d182dfcf",
"builder": null,
"status": "filled",
"order": {
"coin": "ZEREBRO",
"side": "B",
"limitPx": "0.036676",
"sz": "0.0",
"oid": 258174064171,
"timestamp": 1764868092303,
"triggerCondition": "N/A",
"isTrigger": false,
"triggerPx": "0.0",
"children": [],
"isPositionTpsl": false,
"reduceOnly": false,
"orderType": "Limit",
"origSz": "2858.0",
"tif": "Gtc",
"cloid": null
}
}
Rejected Order
{
"time": "2025-12-04T17:00:00.105982103",
"user": "0x1234567890abcdef1234567890abcdef12345678",
"hash": null,
"builder": null,
"status": "perpMarginRejected",
"order": {
"coin": "BTC",
"side": "B",
"limitPx": "95000.0",
"sz": "10.0",
"oid": 258166123456,
"timestamp": 1764867600105,
"triggerCondition": "N/A",
"isTrigger": false,
"triggerPx": "0.0",
"children": [],
"isPositionTpsl": false,
"reduceOnly": false,
"orderType": "Limit",
"origSz": "10.0",
"tif": "Gtc",
"cloid": null
}
}
Order with Builder
{
"time": "2025-12-04T17:15:23.456789012",
"user": "0xabc123def456789abcdef0123456789abcdef012",
"hash": "0x789abc123def456789abcdef0123456789abcdef0123456789abcdef012345678",
"builder": {
"b": "0x999a4b5f268a8fbf33736feff360d462ad248dbf",
"f": 20
},
"status": "open",
"order": {
"coin": "vntl:SPACEX",
"side": "B",
"limitPx": "125.50",
"sz": "50.0",
"oid": 258166987654,
"timestamp": 1764868523456,
"triggerCondition": "N/A",
"isTrigger": false,
"triggerPx": "0.0",
"children": [],
"isPositionTpsl": false,
"reduceOnly": false,
"orderType": "Limit",
"origSz": "50.0",
"tif": "Gtc",
"cloid": "0x12345678abcdef1234567890abcdef12"
}
}
Outcome Market Order (HIP-4)

Outcome assets (HIP-4) appear as #N-prefixed coins in order events. Both sides of a matched outcome trade are Buy orders (side: "B" for both). cloid is null in this example; outcome orders do not use client order IDs.

{
"time": "2026-05-02T08:04:26.444610309",
"user": "0xab3f8d09ae381d7f09bcbd8189ccc8aa99e8577d",
"hash": "0xe0d75028e77608d3e251043a76a4d9016a00680e827927a5849ffb7ba679e2be",
"builder": null,
"status": "filled",
"order": {
"coin": "#1",
"side": "B",
"limitPx": "0.45",
"sz": "0.0",
"oid": 407294212737,
"timestamp": 1777708216775,
"triggerCondition": "N/A",
"isTrigger": false,
"triggerPx": "0.0",
"children": [],
"isPositionTpsl": false,
"reduceOnly": false,
"orderType": "Limit",
"origSz": "20.0",
"tif": "Gtc",
"cloid": null
}
}

API Usage

gRPC 流式传输
// Subscribe to orders
const request = {
subscribe: {
stream_type: 'ORDERS',
filters: {
"user": {"values": ["0x123..."]},
"coin": {"values": ["BTC", "ETH"]},
"status": {"values": ["open", "filled"]},
"builder": {"values": ["*"]} // Filter for orders with any builder
}
}
};
JSON-RPC
# Get latest order blocks
curl -X POST https://your-endpoint.hype-mainnet.quiknode.pro/your-token/hypercore \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "hl_getLatestBlocks",
"params": {
"stream": "orders",
"count": 10
},
"id": 1
}'
WebSocket
// Subscribe to orders
ws.send(JSON.stringify({
"method": "hl_subscribe",
"params": {
"streamType": "orders"
}
}));

Important Notes


  • High Volume: Orders stream has the highest event frequency - use filtering for specific users/coins
  • Order Lifecycle: Track complete order lifecycle from placement to completion/cancellation
  • Status Importance: Different status types indicate various success/failure conditions
  • Partial Fills: sz field shows remaining size, origSz shows original order size
  • Hash Field: null for rejected orders that don't reach the blockchain
  • Client Order IDs: 使用 cloid for tracking your own orders

  • Trades - See the actual fills that result from these orders
  • Book Updates - See how open orders affect the order book
  • Events - View system events that may cause order cancellations
分享此文档