TheDocumentation Index
Fetch the complete documentation index at: https://docs.dune.com/llms.txt
Use this file to discover all available pages before exploring further.
prediction_markets.markets table is the cross-venue market dimension. Grain: one row per binary market (Polymarket condition_id 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.
Table Schema
| Column | Type | Description |
|---|---|---|
venue | VARCHAR | Venue identifier (polymarket or kalshi) |
market_id | VARCHAR | Unique market identifier within a venue (Polymarket condition_id in 0x-hex, Kalshi ticker) |
event_id | VARCHAR | Parent event grouping. NULL for standalone Polymarket markets; always populated for Kalshi |
series_id | VARCHAR | Recurring template identifier. Kalshi only; NULL on Polymarket |
event_id_or_market_id | VARCHAR | Universal grouping key: event_id when present, otherwise market_id |
yes_outcome_id | VARCHAR | Identifier of the Yes side (Polymarket token_id, Kalshi ticker) |
no_outcome_id | VARCHAR | Identifier of the No side. NULL for Kalshi (No is implicit) |
yes_outcome_name | VARCHAR | Human-readable label of the Yes side |
no_outcome_name | VARCHAR | Human-readable label of the No side |
question | VARCHAR | Market question text |
event_name | VARCHAR | Event title. NULL for standalone Polymarket markets |
category | VARCHAR | Unified category. One of: sports, crypto, politics, finance, technology, culture, weather, world, health, other |
category_native | VARCHAR | Original upstream category value before normalization |
link | VARCHAR | URL to the market on the venue’s web UI |
status | VARCHAR | Unified lifecycle state (active, closed, settled) |
is_resolved | BOOLEAN | TRUE when the market has a final outcome |
is_mve | BOOLEAN | TRUE when the market belongs to a multi-outcome event |
is_parlay | BOOLEAN | TRUE for Kalshi parlay markets. Filter is_parlay = FALSE for fair cross-venue comparisons |
market_start_time | TIMESTAMP | When the market opened for trading |
market_end_time | TIMESTAMP | When the market closes or expires |
settlement_ts | TIMESTAMP | When the market was finalized. NULL until resolved |
resolved_outcome | VARCHAR | Resolution side: yes, no, void, or scalar. NULL while unresolved |
settlement_value_usd | DOUBLE | Per-share payout at settlement. 1.0 for Yes, 0.0 for No, 0.5 for void, fractional for scalar |
strike_type | VARCHAR | Scalar/range market structure (Kalshi only). NULL for Polymarket |
floor_strike | DOUBLE | Lower strike bound for range markets (Kalshi only) |
cap_strike | DOUBLE | Upper strike bound for range markets (Kalshi only) |
neg_risk | BOOLEAN | Polymarket NegRisk flag. FALSE for Kalshi |
source_updated_at | TIMESTAMP | When the upstream venue last refreshed this market record |
_updated_at | TIMESTAMP | When this row was last written by the pipeline |