Skip to main content
Returns one market with the same fields as GET /api/markets. You can also ask for its price history, its recent trades and an AI-written summary.

Endpoint

Path parameters

string
required
Market UUID.

Query parameters

boolean
default:"false"
Include priceHistory.
boolean
default:"false"
Include recentTrades.
integer
default:"100"
How many recent trades to return, 1 to 500.

Response

Market
A market object. Prices are normalized as described there, and priceKnown is included.
object[]
Only present when history=true. Each point is { timestamp, price, probability, volume }. volume is atomic USDC.
object[]
Only present when trades=true. Newest first. Useful fields: id, outcomeIndex, tradeType (buy or sell), usdcIn and tokensOut (buys), usdcOut and tokensIn (sells), price, probability, traderAddress, transactionHash, chainId and timestamp. USDC values are atomic strings and token values are WAD strings.
object | null
{ summary, aiModel, createdAt }: an AI-generated background summary, or null.
object
{ requestedAt, transformed, includes: { history, trades, tradesCount } }

Caching

Priced markets are cached at the edge for 5 seconds, plus 5 seconds stale-while-revalidate. A market that is still being indexed, and so has no outcomes yet, is sent with Cache-Control: private, no-store. Poll it until outcomes is filled in.

Rate limit

Market reads group, rate-limited per IP (see Rate limits). Responses may be served from a short-lived cache.

Example request

Example response

200 (trimmed)
404

GET /api/markets/:id/state

Lightweight live prices

GET /api/markets/:id/quote

Price a trade