CLOB markets

client.markets.list({ structure: 'clob' }) — order-book markets from the second indexer. Live on mainnet and testnet (mainnet linked 2026-08-11). Prices are the merged-book mid, never the last trade.

Live on mainnet and testnet. Reads here, and the write path is proven on-chain — trading is on the CLOB trading page; this one stays a read surface.
loading…
A price shown here is the mid of the best bid and ask. When the book is empty or one-sided — routine on a 15-minute market that has just opened — the API falls back to a fresh last trade, then the prior market in the series, then 50/50. It never presents the last trade as the live price.
// structure is part of the shared market filter, so no new SDK surface
const { markets } = await client.markets.list({ structure: 'clob', limit: 12 })

// each market carries its OWN collateral — do not assume 18 decimals
markets[0].collateral  // { address, symbol, decimals }  e.g. 6dp TestUSDC
markets[0].structure   // 'clob'   — the discriminator, not protocolVersion