WebSockets · Your account

Your futures fills

Changed on

Not 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.

Each of your futures fills, including its fee, fee asset, realized PnL and originating order.

No subscribe frame. The authenticated handshake binds this socket to your user. Each frame has the same shape as GET /api/futures/deals/user:

{
  "id": 184922,
  "timestamp": "2026-09-21T09:15:42.117Z",
  "price": 64180.5,
  "amount": 0.012,
  "currencyPairCode": "BTC_USDT",
  "isLong": true,
  "fee": 0.0385,
  "feeAsset": "USDT",
  "realizedPnl": 4.25,
  "tradeType": 0,
  "orderId": "01K5P8F9M3Q2Y7Z0K6J4N8R1ST",
  "orderSide": 1
}

realizedPnl is non-zero only on fills that close part of a position. Reconcile with GET /api/futures/deals/user after reconnecting.

get/futures/user-deals

Request

  • Base URL
    wss://ws.azbit.com
  • URL
    wss://ws.azbit.com/futures/user-deals
  • Auth
    none declared. Required headers: API-PublicKey, API-Signature

Query parameters

timestampinteger required

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

API-PublicKeystring required

Your API public key.

API-Signaturestring required

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