Your futures orders and positions
Changed onNot a REST call: this is the WebSocket handshake. Connect to the URL below and the exchange answers 101 Switching Protocols; everything after that is frames, not requests.
Every state change of your futures orders on every Unified Trading Account you own: placed, filled, take-profit or stop-loss updated, closed, and liquidated.
No subscribe frame. The authenticated handshake binds this socket to your user. Each frame has the same shape as GET /api/futures/trade/orders-history:
{
"id": "01K5P8F9M3Q2Y7Z0K6J4N8R1ST",
"clientOrderId": "strategy-42",
"updateTimestamp": "2026-09-21T09:15:42.117Z",
"price": 64180.5,
"amount": 0.012,
"currencyPairCode": "BTC_USDT",
"realizedPnl": 4.25,
"isLong": true,
"filled": 0.012,
"futuresOrderStatus": 50
}
futuresOrderStatus distinguishes a resting order (Created) from an open position (InPosition) and a closed one (PositionClosed). Mark-price ticks are not pushed: unRealizedPnl and liquidationPrice are as of the last order change, just as in the REST read. Reconcile with GET /api/futures/trade/orders-history after reconnecting.
Request
- Base URLwss://ws.azbit.com
- URLwss://ws.azbit.com/futures/user-orders
- Authnone declared. Required headers: API-PublicKey, API-Signature
Query parameters
Unix milliseconds, within 30 seconds of server time, and part of the signed URL. A REST signature covers a request that happens once; a socket URL is requested once and then stays open, so without this a captured handshake would mirror your private stream indefinitely.
Headers
Your API public key.
hex(HMAC_SHA256(privateKey, publicKey + connectUrl)). A handshake has no body, so nothing is appended after the URL. Sign the wss:// form, exactly as you connect.
Changes
- info
endpoint added
- info