Skip to main content
Orders are placed over the Order Creation Stream.

Order Types

Trade typeBehavior
limitExecutes only at the specified price or better; may rest on the book.
marketExecutes immediately against the best available prices.
Only limit and market orders are supported — there are no trigger (stop-loss / take-profit) orders, and leverage and margin-mode updates do not apply. Attempting these is rejected.

Order Flags

FlagTypeDescription
postOnlybooleanMaker-only. The order is rejected if it would match immediately. Limit orders only.
reduceOnlybooleanThe order may only reduce or close an existing position, never open or increase one. Used when closing.
maxSlippagestringMarket orders only — caps how far the fill price may deviate from the expected price.

Lifecycle

A successful order moves through the following states. You can correlate every message for one order using its clientRequestId.
1

Create

Submit a Create Order request. You receive an acknowledgment that the request was received and validated.
2

Accept

The matching engine accepts the order and it becomes active on the book (for a limit order) — confirmed by a follow-up response.
3

Fill

As the order matches, you receive Order Filled Notifications (partial and complete), and your positions and account summary update.
4

Modify or cancel

Adjust an open order with Modify Order or remove it with Cancel Order.

Order Statuses

StatusMeaning
pendingRequest received, awaiting acceptance by the matching engine.
openLive on the order book (limit orders).
completedFully filled, or a market order finished executing.
cancelledCancelled — by you, an admin, or the system.
rejectedRejected — see the accompanying error.

Tracking Orders

Track open orders on the Open Orders Stream and order history on the Recent Orders Stream (or via Get Orders). If a request times out or you miss an acknowledgment, verify the outcome before retrying. See FAQs for safe-retry guidance and Rate Limits for how to back off when throttled.