Algo Order Update

Real-time push updates on the status and execution of your algorithmic orders. Pushed automatically on the ALGO_ORDER channel after login — no explicit subscription required.


Push Message

{
  "channel": "ALGO_ORDER",
  "instId": "BINANCE_PERP_DOGE_USDT",
  "data": {
    "portfolioId": "1704269773524000",
    "algoOrderId": "2154479554147908",
    "algoProvider": "ABEX",
    "algoOrderType": "TWAP",
    "clientOrderId": "2154479554147908",
    "sym": "BINANCE_PERP_DOGE_USDT",
    "exchangeType": "BINANCE",
    "businessType": "PERP",
    "side": "BUY",
    "limitPrice": "0",
    "orderQty": "200",
    "positionSide": "NONE",
    "reduceOnly": false,
    "orderState": "NEW",
    "reason": "",
    "executedQty": "0",
    "executedAmount": "0",
    "executedAvgPrice": "0",
    "createAt": "1775971954054",
    "updateAt": "1775971954146",
    "startTime": "1775971963852",
    "endTime": "1775972083852",
    "interval": "30"
  }
}
FieldTypeDescription
channelStringAlways ALGO_ORDER.
instIdStringTrading pair identifier.
dataObjectAlgo order details.
> portfolioIdStringPortfolio ID the order belongs to.
> algoOrderIdStringLTP-assigned algo order ID.
> algoProviderStringAlgo provider. ABEX for TWAP/VWAP orders.
> algoOrderTypeStringTPSL, TWAP, or VWAP.
> clientOrderIdStringYour own order ID, if provided.
> symStringTrading pair.
> exchangeTypeStringExchange: BINANCE or OKX.
> businessTypeStringSPOT or PERP.
> sideStringBUY or SELL.
> limitPriceStringOrder price.
> orderQtyStringTotal order quantity. OKX: number of contracts. Binance: coin amount.
> positionSideStringNONE for one-way mode. LONG or SHORT for hedge mode.
> reduceOnlyBooleanWhether the order can only reduce an existing position.
> executedQtyStringQuantity filled so far.
> executedAmountStringTotal executed amount in quote currency.
> executedAvgPriceStringAverage execution price.
> lastPriceStringLast traded price of the symbol at the time of this update.
> markPriceStringMark price of the symbol at the time of this update.
> reasonStringFailure or cancellation reason. Empty string if not applicable.
> orderStateStringCurrent algo order state. See below.
> conditionTypeStringCONDITIONAL, OCO, ENTIRE_CLOSE_POSITION, or PARTIAL_CLOSE_POSITION. For TPSL orders.
> conditionalTriggerPriceStringPrice at which the conditional order activates.
> conditionalPriceStringLimit price after the conditional trigger fires. "0" means market price.
> tpTriggerPriceStringTake-profit trigger price.
> tpTriggerTypeStringPrice type for the take-profit trigger: LAST_PRICE or MARK_PRICE.
> tpPriceStringTake-profit execution price. "0" means market price.
> slTriggerPriceStringStop-loss trigger price.
> slTriggerTypeStringPrice type for the stop-loss trigger: LAST_PRICE or MARK_PRICE.
> slPriceStringStop-loss execution price. "0" means market price.
> startTimeStringTWAP/VWAP execution start time in milliseconds.
> endTimeStringTWAP/VWAP execution end time in milliseconds.
> intervalStringTWAP/VWAP execution interval in seconds.
> createAtStringOrder creation timestamp in milliseconds.
> updateAtStringLast update timestamp in milliseconds.

Order State Values

ValueDescription
PENDING_NEWOrder submitted, awaiting acknowledgement.
NEWOrder accepted.
PROCESSINGOrder is actively executing (e.g. TWAP slices running).
PENDING_CANCELCancellation submitted, awaiting exchange confirmation.
CANCELLEDOrder has been cancelled.
COMPLETEDOrder has fully executed.
REJECTEDOrder was rejected.
FAILEDOrder failed during execution.
EXPIREDOrder expired before completing.