xo-backend on a separate host from the CLOB orderbook. Use it for market discovery (titles, categories, condition ids, outcome token ids, status), Pulse cycle metadata, unauthenticated public portfolio reads, and liquidity-rewards reads.
All REST paths use the /api global prefix. Real-time portfolio snapshots are available over the unauthenticated Socket.IO namespace /portfolio-public — see Portfolio WebSocket.
Liquidity-rewards routes come in two prefixes. /public/liquidity-rewards/* is unauthenticated. /liquidity-rewards/* requires a Privy Bearer token (Authorization: Bearer <privy_access_token>). See Liquidity rewards.
Servers
The Data API host is independent of the orderbook gateway. See the introduction for orderbook REST and WebSocket URLs.
Wire conventions
- Pagination is page-based:
page(1-indexed) andtake(orlimitfor Pulse routes). Liquidity-rewards proxied lists use 0-indexedpageandpage_size. - Numeric ids are integers;
conditionIdvalues are0x-prefixed 32-byte hex strings. UseconditionIdasmarketIdon liquidity-rewards routes. - Volume strings are decimal (USD) or WEI-encoded (token), depending on the field name (
totalVolumeInUSDvstotalVolume). - Liquidity-rewards amounts and scores are decimal strings.
Market scope for CLOB integrations
The/markets endpoint accepts a marketScope query parameter that maps to on-chain IXOMarketV1.MarketType (STANDARD=0, PULSE=1, CLOB=2, CLOB_PULSE=3). When integrating against the XO CLOB orderbook, use:
onlyClob—CLOB+CLOB_PULSE(orderbook markets, long-form and pulse).onlyClobPulse—CLOB_PULSEonly (BTC 5-minute pulse).
default, withClob, withPulse, and onlyPulse include LMSR AMM markets that are not tradable through the CLOB orderbook.
Next steps
Liquidity rewards
Public discovery and Privy-authenticated
/me reads.Rate limits
Data API REST request limits.
Portfolio WebSocket
Unauthenticated portfolio snapshot stream.
Orderbook API
CLOB REST and WebSocket reference.