Order types
Every order the engine accepts, how triggers fire, and how a modify keeps or loses its place in the queue.
Order types
| Type | Behavior |
|---|---|
| Limit | GTC, IOC, or post-only |
| Market | An IOC within 10% of the mark |
| Stop and take | Market or limit, triggered by the mark |
| TWAP | A slice every 30 s over 5 minutes to 7 days, each at most 3% through the mark |
| Trailing stop | A market trigger that follows the mark by a set fraction or distance |
A post-only order is refused if it would match on arrival and applies ahead of taking orders. Reduce-only orders cannot flip a position and shrink with it. A client order id is a 128-bit hex id. TWAP and trailing stops are not available in hedge mode.
Triggers
- Stops and takes trigger on the mark price, on either side. They can open or reduce a position.
- A sell stop and a buy take fire when the mark is at or below the trigger; a buy stop and a sell take fire at or above it.
- A trigger already reached when it is placed fires at the next mark.
- Triggers fire in creation order, so the earliest trigger has first claim on thin liquidity.
- Every trigger takes an open-order slot under the base limit of 1,000.
- A reduce-only trigger is canceled when the position it reduces closes or flips; an opening trigger stays.
TP/SL groupings
An order with TP/SL attaches up to one take and one stop that are placed once the parent fills. A position TP/SL places up to one take and one stop that reduce the position. Both groupings are atomic: if any element is refused, none is placed.
Modify
- A modify replaces one open order named by order id or client order id and keeps its order id.
- A size change at the same side and price keeps the order’s place in the queue, whether the size goes up or down.
- Any other change, such as a new price or side, re-enters the book behind the orders already at the new price.
- The replacement is checked exactly as a new order would be; if it is refused, the original stays.
Cancels
- Cancel by order id or client order id, singly or in batches, or cancel every open order of the account or of one market.
- A scheduled cancel cancels every open order, resting and trigger, at a time at least 5 s ahead. Pushing the time back keeps orders live, so a client whose systems stop has its orders pulled. A schedule can fire at most 10 times per account per UTC day.
- Load shedding and IP request limits never refuse a cancel or a reduce-only order (Market making).
Self-trade prevention
When an order would match a resting order of the same account, the resting order is canceled with no fill, fee, or trade print while the incoming order keeps matching. This expire-maker rule is the only mode.
Where it runs
Every order type runs inside the engine, so triggers, TWAP slices, and trailing stops stay as private as resting orders (Trading API).