Prediction Markets

Polymarket, Kalshi, and cross-platform prediction market data.

31 tables across Polymarket (on-chain, Polygon), Kalshi (centralized), cross-platform analytics, and pre-built custom views.

Polymarket Tables

TableWhat it is
agent.polymarket_tradesIndividual trade events (934M rows)
agent.polymarket_market_detailsMarket metadata (question, status, tags, links)
agent.polymarket_eventsEvent-level metadata grouping related markets
agent.polymarket_prices_dailyDaily outcome token prices
agent.polymarket_prices_hourlyHourly CLOB mid-prices
agent.polymarket_prices_latestLatest price snapshot per condition
agent.polymarket_volume_dailyPre-aggregated daily volume per market
agent.polymarket_volume_hourlyPre-aggregated hourly volume
agent.polymarket_fees_dailyDaily platform fee revenue
agent.polymarket_rolling_metricsPre-computed rolling window metrics
agent.polymarket_open_interest_dailyCumulative OI (sparse — see below)
agent.polymarket_user_activityPer-user trade activity
agent.polymarket_market_rankingOne row per market with volume, OI, category
agent.polymarket_wallet_profilesWallet behavioral labels and profiles
agent.polymarket_market_top_holdersTop holders per market
agent.polymarket_market_leaderboardPer-market trader leaderboard
agent.polymarket_smart_money_walletsIdentified smart money wallet addresses
agent.polymarket_smart_money_positioningSmart money position and flow data
agent.polymarket_positionsCurrent wallet positions with PnL (custom view with market context)
agent.polymarket_realtime_candles_1m1-minute OHLCV candles from real-time CLOB feed

Kalshi Tables

TableWhat it is
agent.kalshi_market_detailsMarket metadata (55.6M rows of snapshots)
agent.kalshi_tradesIndividual trade fills (ReplacingMergeTree — use FINAL)
agent.kalshi_candles_1m1-minute OHLCV candles

Cross-Platform Tables

TableWhat it is
agent.prediction_markets_dailyUnified daily volume/OI across both platforms
agent.prediction_markets_matched_marketsLLM-matched equivalent markets across platforms
agent.prediction_markets_matched_dailyDaily comparison for matched pairs

Key Concepts

Join key: condition_id links all Polymarket tables together. market_ticker links Kalshi tables.

Volume: always one-sided (Paradigm methodology). Each OrderFilled event counted once with account=maker.

Prices: represent implied probability (0–1 range, where 0.65 = 65% chance).

Market deduplication: polymarket_market_details has two rows per condition (one per outcome). Filter outcome_index = 0 for one row per market.

Polymarket OI is Sparse

polymarket_open_interest_daily only has rows on days with OI-changing events (splits, merges, redemptions). To get the latest OI:

SELECT condition_id,
       argMax(open_interest_usd, block_date) AS latest_oi
FROM agent.polymarket_open_interest_daily
GROUP BY condition_id

Do not filter HAVING latest_oi > 0 — neg-risk markets have legitimately negative OI on individual conditions.

Good to Know

  • Polymarket data lag: ~30 min (real-time CLOB), ~1 hour (on-chain BQ). Kalshi lag: ~15 min.
  • Kalshi hierarchy: series → events → markets. MVE (parlay) markets skip the event layer.
  • prediction_markets_daily only includes dates where both platforms have data.
  • Matched market pairs have confidence scores (75–100). Filter 90+ for highest quality.
  • Kalshi trades are anonymous (no wallet attribution). Polymarket uses proxy wallet addresses.

Custom Views

These pre-built views combine data from multiple tables for common agent query patterns.

ViewWhat it is
agent.marketsWide flattened view joining market metadata with real-time prices, implied confidence, and cross-platform spreads
agent.market_snapshotExtended market view with price momentum, volume direction, and whale flow signals
agent.trades_recentLast 24h trades across both Polymarket and Kalshi in a unified schema
agent.whale_activityLast 7 days of Polymarket whale trades enriched with wallet labels and smart money flags
agent.platform_comparisonMatched market pairs with live price spreads from both platforms
Surf — Crypto Intelligence for AI Agents