Skip to main content
A market is one contract that pays $1 if its question resolves Yes; an event groups a venue’s markets the way people browse them. This page covers how the two are addressed, what an event and an outcome carry, how prices are stated, and the volume, spread, liquidity and book fields that travel with every market. You need it before reading any other response, since nearly all of them name a market.

Markets

A market is addressed by its venue and that venue’s own id: a ticker on Kalshi, a slug on Polymarket.

Size fields

Every object that names a market, in every response, carries the same size fields, because a price nobody can trade at is not a price: Lists that suggest something to act on leave thin markets out by default and rank the rest by the money behind them; min_volume_usd, max_spread_usd and include_thin change that wherever they apply.

Events

An event groups a venue’s markets: “Fed decision in October” holds one market per possible decision. When both venues list the same event and its outcomes are proven equivalent, GET /v1/events returns it once, with a twin and both venues’ asks on each outcome.
Each outcome carries its label, the listing market’s venue, market_id and title, the implied chance, change_24h, an hourly sparkline of the last day’s Yes asks, the size fields above, and prices: the current asks on every venue with a proven-equivalent market, with best_venue naming the cheaper Yes when there is more than one.

Finding events

GET /v1/events pages with limit (1 to 60, default 24) and offset. q matches event titles only; for plain-language search with filters, use /v1/search. See Search and topics.

Prices

Every price is an ask per contract that pays $1, as a decimal string in USD: what it costs to buy Yes or No right now. The implied chance of an outcome is the midpoint of its best Yes ask and one minus its best No ask across the venues that list it. Asks come from each venue’s recorded top of book on the last crawl; for resting size, read the order book, and for how prices moved, read History. Every graph-derived response names the graph_run it was read from; runs finish hourly.