Order Type
Choose how a basket fills: market, trigger, TWAP, or ladder.
Every basket opens through one of four execution styles. Market fills immediately. The other three place a resting order that opens the basket later.
| Type | Endpoint | Use it to | Sizing |
|---|---|---|---|
| Market | POST /trade/open | Enter now, at the current market. | Per leg, mode and amount. |
| Trigger | POST /triggers/open | Enter when a market condition is met. | Per leg, inside payload. |
| Time-Weighted Average Price | POST /schedules | Spread the entry into timed slices to reduce impact. | One targetNotional, split by leg weight. |
| Ladder | POST /ladders | Stagger entries across a range. | Per leg, split evenly across rungs. |
Only POST /trade/open returns 202 Accepted, because the fill happens after the response. The other three return 200 OK with the resting order they created: a trigger, a schedule, or a ladder.
For what each one becomes once placed — and why a schedule produces many executions where a trigger produces one — see Orders and Executions.
All four are scoped to a trade account with the x-trade-account-id header, and report progress over the WebSocket.
A trigger with intent: "OPEN" and a ladder also accept attachTriggers, and a market open accepts trigger, so the basket can carry its take profit and stop loss from the moment it exists.
A trigger with intent: "ADJUST" does not accept attachTriggers. The body rejects unknown keys, so carrying the field over from an OPEN example is a 400. A ladder accepts a narrower condition set than a trigger does, see Ladder Order.