Place an order
Closed request schema — an unknown field is 400 unknown_field. The
201 reports the actual sequenced outcome (the gateway holds the
request through ack-by-observation), not a synthesized “accepted”.
Execution outcomes (post-only cross, FOK/IOC, STP, max-cost) return
201 with status: "canceled" and a reason — they are not errors
(api.md §5, §6.5). Reservation and fee accounting are absent here; they
arrive on the WS user channel or via the balance read.
Authorizations
The API key id (decimal string).
Request timestamp, Unix milliseconds (decimal). ±5000 ms replay window.
base64(HMAC-SHA256(secret, "timestamp\nMETHOD\npath?query\nbody")). For the WS handshake the body is empty and the path is /v1/ws.
Body
Closed schema (api.md §6.5) — unknown field ⇒ 400.
idempotency key
^[0-9]+$"182390"
buy, sell yes, no limit, market x >= 1limit only
1 <= x <= 99market only, optional; marketable-limit bound (default 99 buy / 1 sell)
1 <= x <= 99limit only; market ⇒ forced ioc
gtc, gtt, ioc, fok ns; gtt only
^[0-9]+$"182390"
cents; required for market buys
^[0-9]+$"182390"
Response
The sequenced placement outcome (api.md §6.5).
The sequenced placement outcome (api.md §6.5).
A u64-domain value rendered as a decimal string (api.md §1).
^[0-9]+$"182390"
A u64-domain value rendered as a decimal string (api.md §1).
^[0-9]+$"182390"
resting, partially_filled, executed, canceled the NEW_ORDER's stamp
^[0-9]+$"182390"
present when status is canceled (execution outcome