Liquidation updates
Real-time liquidation and risk state updates. Requires authentication.
Pushed when the account's risk state changes — including transitions to and from
normal, margin_call, liquidation, and auto_deleveraging. Each message is
self-contained with full margin data, so clients do not need to correlate with the
margin channel.
Subscribe
{"op": "subscribe", "args": ["liquidations"]}
Topic format: liquidations (per-account, not per-symbol).
Update Message
{
"channel": "liquidations",
"type": "update",
"customer_code": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
"currency": "USD",
"risk_state": "margin_call",
"total_equity": "52430.50",
"available_margin": "-1200.00",
"used_margin": "53630.50",
"margin_ratio": "1.0229",
"unrealised_pnl": "-8500.00",
"margin_deficit": "4800.00",
"leverage_ratio": "15.20",
"timestamp": "2025-06-15T07:30:00.123Z"
}
| Field | Description |
|---|---|
customer_code | Customer identifier |
currency | Account denomination currency |
risk_state | normal, margin_call, liquidation, or auto_deleveraging |
total_equity | Total account equity (balance + unrealised PnL) |
available_margin | Margin available for new positions (can be negative) |
used_margin | Margin currently used by open positions and orders |
margin_ratio | Used margin as a fraction of total equity |
unrealised_pnl | Total unrealised profit/loss across all positions |
margin_deficit | Amount needed to restore initial margin (null when normal) |
leverage_ratio | Account leverage ratio (null if not applicable) |
timestamp | Server-side event time |
Notes:
- There is no initial snapshot on subscribe — use REST for current risk state.
- Includes all risk state transitions, including back to
normal, so clients can clear alerts.