Skip to main content

Overview

Order update streams provide real-time notifications for all order-related events including submissions, fills, cancellations, and rejections. Use these updates to maintain accurate order state and implement trading algorithms.
Order update streams require authentication and an explicit subscription to the orders channel.
Related Events: When an order fills, you may receive additional account events (position and balance updates) regardless of your subscriptions. This ensures you don’t miss account-wide changes triggered by order execution.

Update format

data
object
Order update details

Order status values

pendingsubmit: Order created but not yet submitted to matching enginewaitingtrigger: Order waiting for trigger condition (stop/take profit orders)submitted: Order submitted to matching engine and waiting for execution
partiallyfilled: Order partially executed, remainder still activefilled: Order completely executedpartiallyfilledcancelled: Order partially filled then cancelled
cancelled: Order cancelled by user or systemrejected: Order rejected (insufficient balance, invalid parameters, etc.)inactive: Order is inactive due to account restrictionspendingcancel: Order cancellation requested but not yet confirmed

Key field usage

fillPx: The price of the most recent fill. Useful for tracking individual fill prices, especially for orders that fill at multiple price levels.filledFees: Total fees accumulated from all fills. Essential for calculating net proceeds and tracking trading costs.avgPx vs fillPx: avgPx shows the volume-weighted average price across all fills, while fillPx shows the price of the latest individual fill.
clientOrderId: Your custom identifier for the order. Useful for matching order updates to your internal order management system.entryPositionId and exitPositionId: Links orders to specific positions. entryPositionId is set when opening a position, exitPositionId when closing.orderType: Shows whether the order was limit, market, stop, etc. Helpful for strategy analysis.
reason: Only present for rejected orders. Provides specific rejection reasons like “insufficient balance”, “invalid price”, etc.side: Explicitly shows buy or sell to avoid ambiguity.orderSize: The original order size, useful for calculating fill percentages and remaining quantities.

Implementation examples

JavaScript order manager

Order lifecycle tracking

Track complete order lifecycle with state transitions:

Use cases

Use order updates to trigger next steps in complex trading strategies:
Monitor order fills for risk limit enforcement:
Update trading interface with real-time order status:

Error handling

Handle reconnection and state synchronization:
Handle potential duplicate order updates:

Next steps

Last modified on March 16, 2026