Sub Order Update

Real-time push updates on the status of sub-orders generated by algo strategies. A TWAP or VWAP order creates multiple sub-orders (slices) during execution — each slice gets its own state updates on the SUB_ORDER channel. Pushed automatically after login — no explicit subscription required.


Push Message

{
  "channel": "SUB_ORDER",
  "instId": "BINANCE_PERP_ETH_USDT",
  "data": {
    "portfolioId": "1730798094087000",
    "orderId": "1735613056910000",
    "algoOrderId": "674712518659",
    "clientOrderId": "2024123110441600",
    "exchangeType": "BINANCE",
    "businessType": "PERP",
    "sym": "BINANCE_PERP_ETH_USDT",
    "limitPrice": "3343.35923485",
    "orderQty": "0.01",
    "side": "BUY",
    "orderType": "DMA",
    "exchangeOrderType": "MARKET",
    "timeInForce": "GTC",
    "executedQty": "0",
    "orderState": "OPEN",
    "updateAt": "1735613056925",
    "createAt": "1735613056910",
    "leverage": "3"
  }
}
FieldTypeDescription
channelStringAlways SUB_ORDER.
instIdStringTrading pair identifier.
dataObjectSub-order details.
> portfolioIdStringPortfolio ID the sub-order belongs to.
> orderIdStringSub-order ID.
> algoOrderIdStringParent algo order ID.
> clientOrderIdStringYour own order ID, if provided.
> exchangeTypeStringExchange: BINANCE or OKX.
> businessTypeStringSPOT, PERP, or MARGIN.
> symStringTrading pair.
> limitPriceStringOrder price.
> orderQtyStringOrder quantity. OKX: number of contracts. Binance: coin amount.
> quoteOrderQtyStringOrder amount in quote currency. For spot market buy orders only.
> sideStringBUY or SELL.
> orderTypeStringSub-order type. TWAP/VWAP sub-orders appear as DMA.
> exchangeOrderTypeStringOrder type sent to the exchange (e.g. MARKET, LIMIT).
> timeInForceStringGTC (Good Till Cancel), IOC (Immediate Or Cancel), FOK (Fill Or Kill), or GTX (Post-only).
> executedQtyStringQuantity filled.
> executedAmountStringTotal executed amount in quote currency.
> executedAvgPriceStringAverage execution price.
> lastExecutedQtyStringQuantity filled in the most recent execution.
> lastExecutedPriceStringPrice of the most recent execution.
> lastExecutedAmountStringAmount of the most recent execution.
> feeStringTransaction fee charged for this sub-order.
> orderStateStringSub-order state: NEW, OPEN, PARTIALLY_FILLED, FILLED, CANCELLED, REJECT, FAIL.
> reasonStringFailure reason, if the order was rejected or failed.
> reduceOnlyBooleanWhether this is a reduce-only order.
> leverageStringLeverage multiplier applied.
> borrowAmountStringAmount borrowed for this order.
> borrowAssetStringAsset borrowed.
> createAtStringSub-order creation timestamp in milliseconds.
> updateAtStringLast update timestamp in milliseconds.