Notifications
WSProduction
wss://ws.btse.com/ws/spotTestnetwss://testws.btse.io/ws/spotReal-time order status updates. Requires WebSocket authentication.
Topic: notificationApiV3
Includes both base and quote currency size fields (originalOrderBaseSize,
originalOrderQuoteSize, currentOrderBaseSize, currentOrderQuoteSize,
filledBaseSize, totalFilledBaseSize, remainingBaseSize, remainingQuoteSize)
so that quote-denominated market orders are represented faithfully.
Response Content
| Name | Type | Required | Description |
|---|---|---|---|
| topic | String | Yes | |
| data | Object | Yes | Data object |
Data Object:
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | String | Yes | Market symbol |
| orderID | String | Yes | Internal order ID |
| side | String | Yes | Trade direction (BUY or SELL) |
| orderType | Integer | Yes | Order classification — 76: Limit · 77: Market · 80: Peg/Algo |
| txType | Integer | Yes | Transaction type — 0: LIMIT · 1: STOP · 2: TRIGGER · 3: OCO |
| price | Double | Yes | Order price or executed transaction price |
| triggerPrice | Double | Yes | Activation price for conditional orders |
| pegPriceDeviation | Double | Yes | Deviation percentage (Algo orders only) |
| stealth | Double | Yes | Order visibility percentage on orderbook (Algo orders only) |
| status | Integer | Yes | Current order state — 1 (MARKET_UNAVAILABLE) · 2 (ORDER_INSERTED) · 4 (ORDER_FULLY_TRANSACTED) · 5 (ORDER_PARTIALLY_TRANSACTED) · 6 (ORDER_CANCELLED) · 8 (INSUFFICIENT_BALANCE) · 9 (TRIGGER_INSERTED) · 10 (TRIGGER_ACTIVATED) · 12 (ERROR_UPDATE_RISK_LIMIT) · 15 (ORDER_REJECTED) · 27 (TRANSFER_SUCCESSFUL) · 28 (TRANSFER_UNSUCCESSFUL) · 41 (ERROR_INVALID_RISK_LIMIT) · 64 (STATUS_LIQUIDATION) · 101 (FUTURES_ORDER_PRICE_OUTSIDE_LIQUIDATION_PRICE) · 1003 (ORDER_LIQUIDATION) · 1004 (ORDER_ADL) |
| timestamp | Long | Yes | Order or transaction timestamp (ms) |
| avgFilledPrice | Double | Yes | Mean execution price across fills |
| clOrderID | String | Yes | User-supplied order identifier |
| maker | Boolean | Yes | Whether this fill was on the maker side |
| postOnly | Boolean | Yes | Resting order without aggressive matching |
| orderUserInitiated | Boolean | Yes | Manual (true) vs. automated (false) order origin |
| originalOrderBaseSize | Double | Yes | Initial base currency quantity |
| originalOrderQuoteSize | Double | Yes | Initial quote currency quantity |
| currentOrderBaseSize | Double | Yes | Latest base currency quantity |
| currentOrderQuoteSize | Double | Yes | Latest quote currency quantity |
| filledBaseSize | Double | Yes | Base currency amount executed on this event |
| totalFilledBaseSize | Double | Yes | Cumulative base currency fills |
| remainingBaseSize | Double | Yes | Unfilled base currency portion |
| remainingQuoteSize | Double | Yes | Unfilled quote currency portion |
| orderCurrency | String | Yes | Size denomination of the order (base or quote) |
| time_in_force | String | Yes | Time in force: GTC · IOC · FOK · HALFMIN · FIVEMIN · HOUR · TWELVEHOUR · DAY · WEEK · MONTH |
example
Response
{
"topic": "notificationApiV3",
"data": {
"symbol": "BTC-USDT",
"orderID": "789b05fa-dd43-43e8-8626-e229ae216ead",
"side": "BUY",
"orderType": 77,
"txType": 0,
"price": 111131,
"triggerPrice": 0,
"pegPriceDeviation": 1,
"stealth": 1,
"status": 5,
"timestamp": 1752147703368,
"avgFilledPrice": 111131,
"clOrderID": "_W_bjvf1752147703280",
"maker": false,
"postOnly": false,
"orderUserInitiated": true,
"originalOrderBaseSize": 0,
"originalOrderQuoteSize": 1000,
"currentOrderBaseSize": 0,
"currentOrderQuoteSize": 1000,
"filledBaseSize": 0.00899,
"totalFilledBaseSize": 0.00899,
"remainingBaseSize": 0,
"remainingQuoteSize": 0.93231,
"orderCurrency": "quote",
"time_in_force": "GTC"
}
}