본문으로 건너뛰기

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", etc.
  • Prediction markets (XYZ): "xyz:NVDA", "xyz:AAPL", "xyz:TSLA", etc.
  • Spot tokens: "@162", "@198", etc.
  • 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 Streaming
// 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: Use 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
이 문서 공유하기