Skip to main content
POST
xo-orderbook-client-rs

Body

application/json
Maximum array length: 100
order
object
required

EIP-712 signed order. Wire fields are camelCase. Sign over domain name="XO Market CLOB", version="1", chainId=<XO chain id>, verifyingContract=<CTF Exchange address>. XO Privy/ZeroDev smart accounts use signatureType = 3; direct EOA integrations use signatureType = 0.

Orders do not carry a fee rate. Fetch the market category rate with GET /fee-rate and see the Fees guide for the conviction curve. Legacy wire keys taker and feeRateBps are ignored on parse and must not be used for signing (the typehash changed).

orderType
enum<string>
required
  • GTC - Good-Till-Cancel; rests on the book until filled or cancelled.
  • GTD - Good-Till-Date; requires non-zero expiration in the signed order.
  • FOK - Fill-Or-Kill; fills the entire signed takerAmount (BUY) / makerAmount (SELL) at the signed price or rejects with no fills.
  • FAK - Fill-And-Kill (a.k.a. IOC); fills as much as the book supports at the signed price; cancels any unfilled remainder.

Market-style execution. There is no dedicated MARKET value. Submit a signed CTFOrder at an aggressive cap price (e.g. 0.99 for BUY, 0.001 for SELL), then choose FAK for immediate partial fill or FOK for all-or-nothing execution. The matching logic can also use economically compatible YES/NO liquidity.

Available options:
GTC,
FAK,
FOK,
GTD
postOnly
boolean
default:false

Envelope flag — not part of the signed EIP-712 order. When true, the order must rest without taking any liquidity. The engine rejects it (HTTP 400) if it would match at placement via COMPLEMENTARY, MINT, or MERGE.

Requires orderType of GTC or GTD. FAK / FOK with postOnly: true returns {"error": "postOnly orders must use orderType GTC or GTD"}. A crossing GTC/GTD returns {"error": "post-only order would cross resting liquidity"}.

Omitted or false is a normal order.

Response

OK

results
object[]