Skip to main content
The prediction_markets.markets table is the cross-venue market dimension. Grain: one row per binary market — Polymarket condition_id, the combo condition ID for Polymarket Combos (multi-leg parlays, is_parlay = TRUE), or Kalshi ticker. Every row carries a venue column and uses venue-neutral column names so you can query both venues with a single statement. Market names and attributes live here; prediction_markets.trades and prediction_markets.ohlcv_hourly carry facts only and join on (venue, market_id). Every market is presented from its Yes side. On Polymarket, Yes is the token in position 0 (outcome_index = 0), the side the venue’s settlement resolves against, so yes_outcome_id, resolved_outcome and settlement_value_usd always agree. Kalshi covers every single market the venue has listed, traded or not, plus every parlay with at least one fill.
For markets without a natural Yes (team vs team, candidate vs candidate), Yes is simply whichever side the venue listed first. Check yes_outcome_name before reading the Yes side as an affirmative answer.

Table Schema

Table sample

Example queries