Your fills
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.
Your own fills, with the fee charged to you — the reason to hold this socket instead of polling.
No subscribe frame, same as /user-orders.
{
"dealId": "e2cd407c-28c8-4768-bd73-cd7357fbccde",
"dealDateUtc": "2026-08-27T09:15:42.117Z",
"currencyPairCode": "BTC_USDT",
"price": 64180.5,
"volume": 0.0125,
"isBid": true,
"orderId": "3f2504e0-4f89-11d3-9a0c-0305e82c3301",
"commissionAmount": 0.0000094,
"commissionCurrencyCode": "BTC"
}
isBid is your side and orderId is your order. commissionAmount: null means the fee is not booked yet, never that the fill was free. The counterparty is not reported.
The stream is best effort: an event that fires while you are disconnected is not queued for you. Treat it as the fast path and GET /api/user/deals as the source of truth — reconcile on reconnect.
Request
- Base URLwss://ws.azbit.com
- URLwss://ws.azbit.com/user-deals
- 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