# builderOrderUpdates stream

> HyperCore private-preview documentation.

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

<Callout intent="info">
  This API is in private preview. Target September 2026; timing is subject to change.
</Callout>


# builderOrderUpdates stream

## Subscribe

```json
{
  "method": "subscribe",
  "subscription": {
    "type": "builderOrderUpdates",
    "builders": ["0x2222222222222222222222222222222222222222"]
  }
}
```

## Acknowledgement

```json
{
  "channel": "subscriptionResponse",
  "data": {
    "subscriptionId": "sub_01",
    "type": "builderOrderUpdates"
  }
}
```

## Event envelope

```json
{
  "channel": "builderOrderUpdates",
  "subscriptionId": "sub_01",
  "blockHeight": 123456,
  "blockTime": 1780000000000,
  "cursor": "<opaque cursor>",
  "data": {
    "orders": [{
      "time": "2024-01-01T00:00:00.000000000",
      "user": "0x1111111111111111111111111111111111111111",
      "hash": "0xabc...def",
      "builder": { "b": "0x2222222222222222222222222222222222222222", "f": 100 },
      "status": "open",
      "txIndex": 3,
      "statusTimestamp": 1780000000000,
      "order": {
        "oid": 12345,
        "coin": "BTC",
        "side": "B",
        "limitPx": "100000.0",
        "sz": "0.10",
        "timestamp": 1780000000000,
        "triggerCondition": "N/A",
        "isTrigger": false,
        "triggerPx": "0.0",
        "children": [],
        "isPositionTpsl": false,
        "reduceOnly": false,
        "orderType": "Limit",
        "origSz": "0.10",
        "tif": "Gtc",
        "cloid": null
      }
    }]
  }
}
```

## Payload fields

| Field | Type | Description |
| --- | --- | --- |
| orders | array | Order status records. |
| orders[] | object | Order status record. |
| orders[].time | string | Time the node recorded the order-status event. |
| orders[].user | string | User identifier. |
| orders[].hash | string \| null | Populated for `open`; null for every other observed status. Rejected and canceled orders have no submitted transaction. |
| orders[].builder | object \| null | Builder metadata when the order was placed through a builder; null otherwise. |
| orders[].status | string | Current state of the order. See the observed values below. |
| orders[].txIndex | integer | Index of the transaction within its block. |
| orders[].statusTimestamp | integer | Milliseconds timestamp for the status update. |
| orders[].order | object | Order fields. |
| orders[].order.oid | integer | Identifier assigned to the order. |
| orders[].order.coin | string | Market symbol for the order. |
| orders[].order.side | string | Side code: A is ask/sell; B is bid/buy. |
| orders[].order.limitPx | string | Limit price for the order. |
| orders[].order.sz | string | Current resting size of the order. |
| orders[].order.timestamp | integer | Milliseconds timestamp when the order was created. |
| orders[].order.triggerCondition | string | Human-readable trigger condition, not a programmatic enum. Non-trigger orders use the literal `"N/A"`; use `triggerPx` for the machine-readable price. |
| orders[].order.isTrigger | boolean | Whether the order is a trigger order. |
| orders[].order.triggerPx | string | Machine-readable trigger price; `"0.0"` when `isTrigger` is false. |
| orders[].order.children | array | Child orders associated with the order. |
| orders[].order.isPositionTpsl | boolean | Whether the order is a position take-profit or stop-loss order. |
| orders[].order.reduceOnly | boolean | Whether execution can only reduce the position. |
| orders[].order.orderType | string | Display string: `Limit`, `Stop Limit`, `Stop Market`, `Market`, `Take Profit Market`, or `Take Profit Limit`. |
| orders[].order.origSz | string | Original order size. |
| orders[].order.tif | string \| null | Time-in-force: `Alo`, `Ioc`, `Gtc`, `FrontendMarket`, or `LiquidationMarket`; null when not set. |
| orders[].order.cloid | string \| null | Client-supplied order identifier, when present. |

## Observed status values

This list reflects values observed in node output and is not guaranteed exhaustive. Clients must tolerate unknown status strings rather than branch exhaustively.

| Status | Meaning |
| --- | --- |
| `open` | Order is open. |
| `canceled` | Order was canceled. |
| `badAloPxRejected` | Rejected under add-liquidity-only price handling. |
| `perpMarginRejected` | Rejected by perpetual-margin checks. |
| `iocCancelRejected` | Observed immediate-or-cancel rejection status; the precise condition is not documented here. |
| `filled` | Order was filled. |
| `insufficientSpotBalanceRejected` | Rejected for insufficient spot balance. |
| `tooManyOpenOrdersRejected` | Rejected because too many orders were already open. |
| `positionIncreaseAtOpenInterestCapRejected` | Rejected because it would increase position at the open-interest cap. |
| `reduceOnlyCanceled` | Canceled because its reduce-only condition could no longer be met. |
| `reduceOnlyRejected` | Rejected because its reduce-only condition could not be met. |
| `minTradeNtlRejected` | Rejected below the minimum trade notional. |
| `selfTradeCanceled` | Canceled to prevent a self-trade. |
| `tooAggressiveAtOpenInterestCapRejected` | Rejected as too aggressive at the open-interest cap. |
| `positionFlipAtOpenInterestCapRejected` | Rejected because it would flip position at the open-interest cap. |
| `triggered` | Trigger condition was met. |
| `siblingFilledCanceled` | Canceled after a paired order filled. |
| `openInterestCapCanceled` | Canceled at the open-interest cap. |
| `marginCanceled` | Canceled for margin reasons. |
| `liquidatedCanceled` | Canceled because the position was liquidated. |
| `outcomeSettledCanceled` | Canceled because the outcome market settled. |
| `openInterestIncreaseRejected` | Rejected because it would increase open interest. |

## Unsubscribe

```json
{
  "method": "unsubscribe",
  "subscription": {
    "type": "builderOrderUpdates",
    "builders": ["0x2222222222222222222222222222222222222222"]
  }
}
```

## Resume

To resume a stream, supply cursor in the subscription object. The cursor is opaque: clients store and return it unmodified, and its format may change.