Ir al contenido principal

Orders Dataset

Actualizado el
17 de julio de 2026

Resumen

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

Tipo de arroyo: PEDIDOS
Disponibilidad de la API: gRPC Streaming API + JSON-RPC/WebSocket APIs
Volumen: Very High - Most frequent stream with 18+ different status types

Estructura de datos

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

CampoTipoDescripción
tiempocadenaTimestamp of the order status event (ISO 8601)
usuariocadenaEthereum address of the user who placed the order
hashstring|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.
estadocadenaOrder status - see Order Statuses below
pedidoobjetoFull order details - see Order Object below

Order Object

CampoTipoDescripción
monedacadenaTrading pair (e.g., "BTC", "ETH", "xyz:NVDA", "@162", "#0")
ladocadenaOrder side: "B" (Buy) or "A" (Ask/Sell)
limitPxcadenaLimit price as string
szcadenaCurrent order size (can be "0.0" if fully filled)
oideenteroN.º de pedido único
marca de tiempoenteroOrder creation timestamp (milliseconds since epoch)
triggerConditioncadenaTrigger condition or "N/A" if not a trigger order
isTriggerbooleanoWhether this is a trigger/stop order
triggerPxcadenaTrigger price (0.0 if not applicable)
childrenmatrizArray of child orders (for complex order types)
isPositionTpslbooleanoWhether this is a position-level TP/SL order
reduceOnlybooleanoWhether order can only reduce position
orderTypecadenaTipo de orden: «Límite», «Mercado», etc.
origSzcadenaOriginal order size at placement
tifcadenaTime-in-force: "Gtc", "Alo", "Ioc", etc.
cloidestring|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:

CampoTipoDescripción
bcadenaBuilder Ethereum address (e.g., "0x999a4b5f268a8fbf33736feff360d462ad248dbf")
fenteroBuilder 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.

EstadoDescripción
openOrder successfully placed and is active on the orderbook
rellenoOrder 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.

EstadoDescripción
canceladoOrder 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.

EstadoDescripción
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 moneda field:

  • Standard perpetuals: «BTC», «ETH», «SOL», etc.
  • Prediction markets (XYZ): "xyz:NVDA", "xyz:AAPL", "xyz:TSLA", etc.
  • Fichas al contado: "@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

TIFDescripción
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). cloide 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
}
}

Uso de la API

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({
"jsonrpc": "2.0",
"method": "hl_subscribe",
"params": {
"streamType": "orders"
},
"id": 1
}));

Notas importantes


  • 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 cloide 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