Order types
Limit and market orders, time in force, reduce-only, modifying and cancelling orders.
Limit and market
- A limit order trades at your price or better. Whatever does not fill can rest on the book.
- A market order trades immediately against the best prices on the book. Whatever cannot fill is cancelled.
Time in force
Limit orders take one of three:
| Time in force | Behaviour |
|---|---|
| Good til cancelled (default) | Rests on the book until it fills or you cancel it |
| Immediate or cancel | Fills what it can right away; the rest is cancelled |
| Post-only | Only ever rests on the book. If it would trade on arrival, it is rejected, never repriced |
Reduce-only
A reduce-only order can only shrink your position. It is trimmed to your position size when it fills, and cancelled if the position closes. Reduce-only orders are exempt from the minimum order size.
Modifying an order
You can change an order's price or size without cancelling it. The order keeps its id. Only a pure size decrease keeps your place in the queue; any other change moves it to the back of its new price level.
Cancelling
- Cancel one order, a list of orders, or all of them.
- Set a dead-man switch: all your orders are cancelled at a time you choose unless you push it back. If your connection drops, your orders do not keep resting unattended.
Placing several orders at once
Several orders can be placed under one signature. This is what makes scale orders possible: one total size split into several limit orders spread across a price range, for example 1 BTC bought as five orders of 0.2 BTC between 60,000 and 58,000. All of them are sent and signed together. Up to 100 orders can be sent in one batch.
What gets recorded
Every order you place, modify or cancel is committed as an event leaf in your history. So is every order the engine rejects, with the reason, so a refusal is as accountable as a fill.