Orders Channel

The orders channel provides real-time order lifecycle updates for a specified SPOT instrument

Channel name: orders

Retrieves order information. No data is pushed on initial subscription. Data is pushed when the following events occur: order placement, order fill, order cancellation, or order modification. Only subscription by specific trading pair is supported.

It is useful for keeping client order management systems synchronized with live, partially filled, filled, cancelled, and modified order states.

Subscription Request

{
  "op": "subscribe",
  "args": [
    {
      "instType": "SPOT",
      "channel": "orders",
      "instId": "BTCUSDT"
    }
  ]
}

Push Data Format, Example: Market Buy BTCUSDT for 10,000 USDT

Order not filled, status: live

{
  "action": "snapshot",
  "arg": {
    "instType": "SPOT",
    "channel": "orders",
    "instId": "BTCUSDT"
  },
  "data": [
        {
            "instId": "BTCUSDT",
            "orderId": "2217589581787121152",
            "clientOid": "osl-global-BONK_SHIB202604230018",
            "price": "71300.00000",
            "size": "7130.00000",
            "newSize": "0.10000",
            "notional": "7130.00000",
            "orderType": "limit",
            "force": "post_only",
            "side": "buy",
            "accBaseVolume": "0",
            "priceAvg": "0",
            "status": "live",
            "tradeQuoteCoin": "",
            "cTime": "1779093278546",
            "uTime": "1779093278560"
        }
  ],
  "ts": 1769051961102
}

Order partially filled, status: partially_filled

{
  "action": "snapshot",
  "arg": {
    "instType": "SPOT",
    "channel": "orders",
    "instId": "BTCUSDT"
  },
  "data": [
    {
      "instId": "BTCUSDT",
      "orderId": "1398070744520491008",
      "clientOid": "osl-global-eth-usdtXMRX3ea35dac9002006",
      "price": "71230.00000",
      "size": "10000.00000",
      "newSize": "10000.00000",
      "notional": "10000.0000",
      "orderType": "market",
      "force": "gtc",
      "side": "buy",
      "fillPrice": "110110.0",
      "tradeId": "1398070744751144961",
      "baseVolume": "0.09081",
      "fillTime": "1769051961124",
      "fillFee": "-0.00018162",
      "fillFeeCoin": "BTC",
      "tradeScope": "maker",
      "accBaseVolume": "0.09081",
      "priceAvg": "110110.0",
      "status": "partially_filled",
      "cTime": "1769051961069",
      "uTime": "1769051961149",
      "feeDetail": [
        {
          "feeCoin": "BTC",
          "fee": "-0.00018162"
        }
      ],
      "tradeQuoteCoin": ""
    }
  ],
  "ts": 1769051961216
}

Order fully filled, status: filled

{
  "action": "snapshot",
  "arg": {
    "instType": "SPOT",
    "channel": "orders",
    "instId": "BTCUSDT"
  },
  "data": [
    {
      "instId": "BTCUSDT",
      "orderId": "1398070744520491008",
      "clientOid": "osl-global-eth-usdtXMRX3ea35dac9002006",
      "price": "71230.00000",
      "size": "10000.00000",
      "notional": "10000.0000",
      "orderType": "market",
      "force": "gtc",
      "side": "buy",
      "accBaseVolume": "0.09081",
      "priceAvg": "110110.0",
      "status": "filled",
      "cTime": "1769051961069",
      "uTime": "1769051961149",
      "feeDetail": [
        {
          "feeCoin": "BTC",
          "fee": "-0.00018162"
        }
      ],
      "newSize": "10000.00000"
    }
  ],
  "ts": 1769051961217
}

Field Descriptions

FieldTypeDescription
instIdStringProduct ID
orderIdStringOrder ID
clientOidStringClient order ID
sizeStringOrder quantity; for buy, this is quote currency quantity; for sell, this is base currency quantity
priceStringOrder Price of Limit Order
notionalStringOrder amount, for market buy
orderTypeStringOrder type: limit/market
forceStringTime in force: gtc/ioc/fok
sideStringBuy/sell direction: buy/sell
fillPriceStringLatest execution price
tradeIdLongLatest trade ID
baseVolumeStringLatest executed quantity
fillTimeLongLatest execution timestamp, in milliseconds
fillFeeStringLatest execution fee
fillFeeCoinStringFee currency
tradeScopeStringLiquidity direction: taker/maker
accBaseVolumeStringAccumulated executed quantity
priceAvgStringAverage execution price
statusStringOrder status: live/partially_filled/filled/canceled
feeDetailArrayFee details
newSizeStringFor limit, this is base coin quantity; for market buy, this is quote coin quantity; for market sell, this is base coin quantity
cTimeStringCreation timestamp, in milliseconds
uTimeStringUpdate timestamp, in milliseconds