Request body
marketIdstringrequiredEngine market id
clientOrderIdstringoptionalCaller-chosen idempotency key; without it, a retry may place a duplicate order
outcomeYES | NOrequiredSettlement outcome
sideBUY | SELLrequiredOrder side
priceE4integerrequired1e-4 USD; must be a multiple of the market's tickE4
sizeE2int64required1e-2 shares
tifGTC | GTD | FAK | FOKoptionalOmitting it is the same as GTC. GTD must also supply
expiration. FAK fills what it can immediately and cancels the rest; FOK fills in full or the whole order is rejected (with the reasonFOK 无法全量成交). `FOK` is only usable on off-chain orders that carry no `auth` — with an on-chain signature it is guaranteed to fail at settlement, see this endpoint's descriptionexpirationint64optionalUnix seconds; required for GTD, and required for a signed order carrying auth
postOnlybooleanoptionaltrue = post only; the whole order is rejected if it would trade immediately. Omitting the field is the same as false
authobjectoptionalOn-chain order signature payload; omit it to take the unsigned path, which markets in on-chain mode reject
orderBytesstringrequiredOrderV1 bytes (hex; market_id must be the on-chain Market object id)
signaturestringrequiredOrder signature (hex)
accountEpochintegeroptionalRead from the chain by the client (TradingAccount.order_epoch); the backend does not proxy it
Response
202Command persisted (not matched)orderIdstringServer-generated order id, used for subsequent status queries and cancellation
clientOrderIdstringnullableThe idempotency key from the request, echoed verbatim; null when it was omitted
cursorstringRead-your-writes continuation point; pass it verbatim as the minCursor of the status query
commandIdstringCommand identifier
Switch status codes in the response example to view errors. For all codes, see the Errors page.
