Real-time Order Updates
Submission lifecycle events push on your private account:fills#<accountId> channel — the same subscription that carries fills — as kind: "order" payloads. One arrives on every status change: rest, amend, cancel, expiry, and each settlement-driven transition. Connection and auth are covered in Realtime Socket.
{
"kind": "order",
"orderId": "77a083a9-ad84-4191-837b-630f3da9ea86",
"status": "RESTING",
"action": "UPDATED",
"reason": "AMENDED",
"direction": "BUY",
"orderType": "LIMIT",
"timeInForce": "GTC",
"qty": 2,
"allInPriceCents": 450,
"bookPricesCents": [439],
"filledQuantity": 0,
"remainingQuantity": 2,
"assetConfigurationIds": ["315bc6db-3f16-49ec-b649-8be3b8753fb7"],
"keyIds": ["4a9a2cca-c05f-5474-9979-428dc6f41107"],
"marketIds": ["2406c582-64f0-4192-a7f2-f2cb70e5d652"],
"externalReferenceId": "docs-demo-single",
"updatedAt": "2026-09-12T18:04:37.551Z"
}
| Field | Description |
|---|---|
orderId | The submission id — matches submission.id on the API |
status | The new OrderSubmissionStatus |
action | CREATED, UPDATED, CANCELLED, or EXPIRED |
reason | Why — CREATED, EXECUTION_STARTED (matching), EXECUTION_ROLLUP (matched: rested, crossed, or cancelled per time in force), MAKER_FILL, SETTLEMENT_ROLLUP, AMENDED, USER_CANCELLED, BULK_CANCELLED, REJECTED, FOK_UNFILLABLE, MARKET_HALTED, MARKET_CONFIG_REPRICED, … |
errorCode | Present when reason is REJECTED |
bookPricesCents | The base prices the order rests at, as the book shows them — distinct from the fee-inclusive allInPriceCents |
filledQuantity / remainingQuantity | Running matched counters, as on getOrderSubmission |
settledQuantity | Units delivered — on SETTLEMENT_ROLLUP events; trails filledQuantity while a leg is in flight |
Events can arrive out of order — a RESTING roll-up can land before the EXECUTING that preceded it. Apply events by updatedAt per orderId and discard anything older than what you hold. Reconcile by reading listOrderSubmissions after subscribing and after any reconnect.
The channel also carries an occasional kind: "order" message with reason: "BOOK_POSITION" and no orderId — a hint that your top-of-book standing on a leaf may have changed. Ignore it unless you render isTopOfBook, in which case re-read.