ordersPending_update events in real time on every order state change. Subscribe to multiple markets simultaneously by passing market names in the params array.
Connect to
wss://api.whitebit.com/ws — see WebSocket Overview for protocol details and keepalive requirements.Rate limits
Query pending orders (one-time)
Fetch current pending orders for a market without subscribing to updates. Request ResponseSubscribe to order updates
Events during a disconnection are not replayed. After reconnecting, query current open orders with
ordersPending_request or the REST Query Unexecuted Orders endpoint before re-subscribing. See Reconnection and state recovery.Update frequency
Updates are pushed in real time on every order state change (new, modified, partially filled).Error codes
Order modification behavior
WhenPOST /api/v4/order/modify is called, the matching engine cancels the original order and creates a replacement, producing two sequential events:
event_id=3(Finish) — original order cancelled. Theidin the payload matches the oldorder_id.event_id=1(New) — replacement order created with a neworder_id.
order_id must update the stored value after each modify call. Use client_order_id for stable correlation across modifications.
The private stream returns active orders, including orders using Retail Price Improvement (RPI) mode.
Stop order activation
When a stop order (types3, 4, 9, 10) triggers, the server emits an event_id=1 (New) event for the now-active order without a preceding event_id=3 (Finish) for the stop record. The order_id is preserved across activation — the same id appears on both the original stop and the activated order.
The type and status fields do not change on activation: the type integer stays (3 → 3, and so on), and status remains OPEN (or transitions to PARTIALLY_FILLED only once the activated order begins filling). The arrival of a second event_id=1 for an order_id already present in local state is the only activation signal.
Clients tracking orders by order_id must upsert on order_id rather than append, otherwise the resting stop and the activated order will appear as two entries for the same logical order.
This applies to all stop types: spot stop-limit (3), spot stop-market (4), margin stop-limit (9), and margin stop-market (10). Types 3 and 4 are spot-only; margin and futures markets use types 9 and 10.
Order object
Fields present in both the query response (records[]) and the pushed ordersPending_update payload.