Only XO smart-account orders (
signatureType = 3) are accepted by the orderbook today. Direct EOA orders (signatureType = 0) are not currently supported. Use an XO smart account from beta.xo.market as your maker; on-chain calls (approvals, split/merge/redeem) execute as ERC-4337 UserOperations through the XO bundler.Start here
- Create an XO smart account at
beta.xo.market. That smart account is your maker address. - Deposit XO USDC into the smart account via the
beta.xo.marketdeposit flow. - Approve the CTF Exchange for XO USDC and Conditional Tokens.
- Check
/balance-allowanceto verify funding and approvals. - Size the bot against the published rate limits.
- Dry-run a signed order with
signatureType = 3(see Smart accounts). - Submit orders with small size until the full loop is verified.
ConditionalTokens contract directly — these operations are not exposed by the orderbook API. See Redeem positions for the bundler UserOperation.
Environment
XO operates a single public production environment. The chain id and CTF Exchange address are part of the EIP-712 order domain, so signed orders are not portable across deployments.Mainnet defaults
The mainnet RPC requires an
api_key query parameter (e.g. https://rpc-mainnet-2.xo.market?api_key=abcd1234). The XO team issues the key privately during onboarding. Treat it as a credential and do not commit it to source control.Contracts
Your
XO_SMART_ACCOUNT_ADDRESS, the owner XO_PRIVATE_KEY, the paymaster address, and per-market condition_id / token ids are account- and market-specific. Ask your XO contact for these during onboarding.
Order signing at a glance
Sign orders against this EIP-712 domain. See Smart accounts for the full hashing reference and a Solidity snippet showing exactly what the exchange hashes.makeris your XO smart account.signeris the same smart account address — the exchange requiresmaker == signerforsignatureType = 3.signatureTypeis3.signatureis a 65-byte ECDSA signature produced by the owner EOA registered on the smart account. The smart account validates it through ERC-1271 (isValidSignature(orderHash, signature)).
Next steps
Smart accounts
Smart account identity, ERC-1271, and order hashing.
Redeem positions
Claim settled Conditional Tokens through the XO bundler.
Fees
How taker and maker fees are charged on fills.
Authentication
L1 ClobAuth and L2 HMAC headers.
Rate limits
Per-tier request and connection limits.
Orderbook API reference
CLOB REST and WebSocket endpoints.
Data API reference
Market discovery, Pulse metadata, and public portfolio reads.
Support
For credentials, the mainnet RPCapi_key, paymaster details, and rollout questions, use the XO onboarding channel provided to your team.