Polymarket Data Dictionary
Cross-sport betting and DFS rows point at an underlying event through a polymorphic (league_code, competition_id) pair, resolved through the main.competitions view — competition_id is a team-sport games.id or a golf.tournaments.id.
Main
polymarket.events18 fieldsendpoints →
A real-world event that anchors a set of Polymarket markets — a single sports game, an election, a futures question, or any other resolvable scenario. E.g., "Mavericks vs Suns" game event or "2026 NBA Champion" futures event.
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| competition_id | bigintnullable | — | 144 | Polymorphic cross-schema ref — {league}.games (team sports) or golf.tournaments (golf), resolved at app level by slug parsing via league_code. Dereference via main.competitions. NULL until linked. |
| condition_id | string | — | 10354 | Polymarket event condition ID (stable identifier) |
| away_team | stringnullable | — | MIN | Tricode: "DAL" |
| description | stringnullable | — | asd | — |
| end_date | timestamptznullable | — | 2025-02-09T12:00:00.000Z | — |
| fetched_at | timestamptz | — | 2026-06-18T02:27:34.870Z | — |
| game_date | datenullable | — | 2025-04-11T04:00:00.000Z | Game date parsed from slug |
| home_team | stringnullable | — | MIN | Tricode: "PHX" |
| league_code | stringnullable | — | nba | e.g. "nba", denormalized for filtering Values nbanflmlbnhl |
| liquidity | bigintnullable | — | 272 | Current liquidity in USDC minor units |
| market_count | integernullable | — | 1 | — |
| neg_risk | boolean | — | false | True for multi-outcome groups (e.g., 30-team NBA Champion) Values falsetrue |
| slug | string | — | nba-play-in-lakers-vs-pelicans | URL slug, e.g. "nba-dal-phx-2026-04-08" |
| start_date | timestamptznullable | — | 2024-08-17T12:00:00.000Z | — |
| status | string | — | closed | "active", "closed", "resolved" Values closedactive |
| title | string | — | NBA | — |
| volume | bigintnullable | — | 150 | Lifetime volume in USDC minor units |
polymarket.tokens10 fields· 3 refsendpoints →
The tradable outcome tokens within a Polymarket market — YES and NO for binary markets, or one token per outcome for multi-outcome markets (e.g., each team in a championship futures market). The clobTokenId is used to query CLOB API for pricing and trades.
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| event_id | bigintnullable | → polymarket.events | 1088 | Denormalized for direct event queries |
| market_id | bigint | → polymarket.markets | 1 | — |
| token_id | string | → polymarket.tokens | 112051992614671133201592400050969953043323338832721778933622167799976620794248 | Polymarket clobTokenId (used for CLOB API queries) |
| fetched_at | timestamptz | — | 2026-06-18T02:27:34.870Z | — |
| final_price_bps | integernullable | — | 10000 | Settlement price (10000 for winner, 0 for loser) |
| outcome | string | — | Yes | Outcome label: team name, "Yes", "No" |
| outcome_index | integer | — | 0 | 0-based index of this outcome within the market |
| price_bps | integernullable | — | 10000 | Latest price in basis points (0-10000) |
| winner | booleannullable | — | false | True if this outcome won, null if unresolved Values falsetrue |
polymarket.markets21 fields· 2 refsendpoints →
An individual prediction market on Polymarket — a specific question tied to an event, resolved on-chain, with one or more tradable outcome tokens. Each market has 2+ tokens representing outcome positions.
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| competition_id | bigintnullable | — | 2398 | Polymorphic cross-schema ref (denormalized from event) resolved at app level by league_code. Dereference via main.competitions. NULL until linked. |
| condition_id | string | — | 0x141f2fb7dc316ca019d7ce9d0fe530a78e18b637ea84211d8f4cebe43742a7bb | Polymarket market condition ID (stable identifier) |
| event_id | bigint | → polymarket.events | 1088 | — |
| payout_token_id | stringnullable | → polymarket.tokens | 112051992614671133201592400050969953043323338832721778933622167799976620794248 | Token ID that paid out at 1.00 (winner) |
| active | boolean | — | true | — Values truefalse |
| best_ask_bps | integernullable | — | 10000 | Basis points (0-10000) |
| best_bid_bps | integernullable | — | 100 | Basis points (0-10000) |
| closed | boolean | — | true | — |
| fetched_at | timestamptz | — | 2026-06-18T02:27:34.870Z | — |
| last_trade_price_bps | integernullable | — | 10000 | Basis points (0-10000) |
| liquidity | bigintnullable | — | — | — |
| neg_risk | boolean | — | false | — Values falsetrue |
| outcome_count | integer | — | 2 | Number of tokens/outcomes (2 for binary, N for multi-outcome) |
| question | stringnullable | — | Over 229.5 | Full question text |
| resolution_source | stringnullable | — | uma | "uma", "manual", etc. |
| resolved_at | timestamptznullable | — | 2024-05-07T23:10:10.610Z | When the market was resolved |
| result | stringnullable | — | Over | Winning outcome string, null if unresolved |
| slug | stringnullable | — | nba-play-in-lakers-vs-pelicans | — |
| status | string | — | closed | "active", "closed", "resolved" |
| volume | bigintnullable | — | 150 | — |
Markets
polymarket.candles11 fields· 2 refsendpoints →
OHLC candlestick price summaries for Polymarket outcome tokens — the open, high, low, close, and volume over standard time bins (1 minute, 5 minute, 1 hour, 1 day). Bucketed by (token_id, period_interval, end_period_ts).
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| market_id | bigint | → polymarket.markets | 51150 | — |
| token_id | string | → polymarket.tokens | 66335248502015003064991075849688982103034628117228927894281920977953935738380 | — |
| close_bps | integernullable | — | 9980 | — |
| end_period_ts | integer | — | 1775238091 | Unix epoch second of period end |
| high_bps | integernullable | — | 9980 | — |
| low_bps | integernullable | — | 9980 | — |
| open_bps | integernullable | — | 9980 | — |
| period_interval | integer | — | 1 | Period length in seconds (1, 60, 300, 3600) |
| size | bigint | — | 5000000 | Total share size in micro-units |
| volume | integer | — | 1 | Trade count in period |
polymarket.market_snapshots9 fields· 1 refsendpoints →
Market-level snapshots on Polymarket — aggregate volume, open interest, last trade price, and resolution status captured over time as the market trades. Tracks bid/ask/last and volume/liquidity over time. Coverage begins 2026-04; cadence is roughly hourly.
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| condition_id | string | — | 0x141f2fb7dc316ca019d7ce9d0fe530a78e18b637ea84211d8f4cebe43742a7bb | Denormalized for efficient queries |
| market_id | bigint | → polymarket.markets | 1 | — |
| best_ask_bps | integernullable | — | 10000 | — |
| best_bid_bps | integernullable | — | 100 | — |
| captured_at | timestamptz | — | 2026-04-03T03:33:29.023Z | — |
| last_trade_price_bps | integernullable | — | 10000 | — |
| liquidity | bigintnullable | — | — | — |
| volume | bigintnullable | — | 150 | Cumulative at capture time |
polymarket.order_book_snapshots10 fields· 2 refsendpoints →
Order-book depth snapshots for Polymarket outcome tokens — the bid and ask ladders captured at a point in time, showing the resting liquidity at each price level. Top 10 levels per side per token at capture time. Coverage begins 2026-04; pregame cadence (captures generally stop shortly after tip-off).
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| market_id | bigint | → polymarket.markets | 51444 | — |
| token_id | string | → polymarket.tokens | 105983149291166245579206436144214783081695033861675074016914765045586521795190 | — |
| captured_at | timestamptz | — | 2026-04-11T04:19:05.691Z | — |
| depth_rank | integer | — | 0 | 0=best (top of book), 1=second best, etc. |
| midpoint_bps | integernullable | — | 15 | Midpoint price at capture time |
| price_bps | integer | — | 10 | Price level in basis points |
| side | string | — | ASK | "BID" or "ASK" Values ASKBID |
| size | bigint | — | 25000000 | Size at this level in micro-units |
| spread_bps | integernullable | — | 10 | Bid-ask spread at capture time (top of book only) |
polymarket.price_histories10 fields· 2 refsendpoints →
Historical price tracks for each Polymarket outcome token — the full time-series of trading prices since the market opened. Analogous to kalshi.candle.
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| market_id | bigint | → polymarket.markets | 51144 | Denormalized for market-level queries |
| token_id | string | → polymarket.tokens | 5771676627182954113677164857547228277089396639521594262964034606220001939923 | Polymarket clobTokenId |
| close_bps | integer | — | 5 | — |
| high_bps | integer | — | 5 | — |
| interval_seconds | integer | — | 86400 | Period length in seconds (60, 3600, 86400) |
| low_bps | integer | — | 5 | — |
| open_bps | integer | — | 5 | Opening price in basis points |
| period_start | timestamptz | — | 2026-04-03T03:36:43.000Z | Start of this OHLC period |
| volume | bigintnullable | — | — | Period volume |
polymarket.public_trades10 fields· 2 refsendpoints →
Every executed trade on Polymarket — price, size, side (buy or sell of each token), and timestamp, comprising the public market tape. Represents completed market trades.
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| market_id | bigint | → polymarket.markets | 51137 | Denormalized for market-level queries |
| token_id | string | → polymarket.tokens | 44914465637297319816681463234953032477919413063019359633128421605039733545953 | Polymarket clobTokenId |
| trade_id | string | — | 0x8cf169f32ea173f635deebbeab98aeb505e9b654687ec7a243d288e3ab12a3f3 | Trade ID from Polymarket API |
| maker_address | stringnullable | — | 0x88906147a72d6e22a916f9bd17351a01e045cefb | Maker address (limit order provider) from on-chain event |
| price_bps | integer | — | 6300 | Trade price in basis points (0-10000) |
| side | string | — | BUY | "BUY" or "SELL" Values BUYSELL |
| size | bigint | — | 5000000 | Trade size (number of shares) |
| taker_address | stringnullable | — | 0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e | Taker address (market order) from on-chain event |
| traded_at | timestamptz | — | 2026-03-18T20:53:01.000Z | — |
polymarket.token_snapshots5 fields· 2 refsendpoints →
Token-level snapshots on Polymarket — the bid, ask, and last trade price for each outcome token captured over time as the market trades. Critical for multi-outcome markets where each token moves independently. Coverage begins 2026-04; cadence is roughly 1-2 hours.
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| market_id | bigint | → polymarket.markets | 1 | Denormalized for market-level queries |
| token_id | string | → polymarket.tokens | 112051992614671133201592400050969953043323338832721778933622167799976620794248 | Polymarket clobTokenId |
| captured_at | timestamptz | — | 2026-04-03T03:33:29.023Z | — |
| price_bps | integer | — | 10000 | Price in basis points (0-10000) |
Misc
polymarket.sports5 fields· 1 refsendpoints →
Sport categories used on Polymarket — basketball, football, baseball, hockey, soccer, MMA, and other tags that organize sports markets. Small reference table (~20 rows).
| Field | Type | References | Example | Description |
|---|---|---|---|---|
| idkey | bigint | — | — | Primary Key |
| sport_id | integernullable | → polymarket.sports | — | Polymarket sport ID from API |
| fetched_at | timestamptz | — | — | — |
| name | string | — | — | Display name, e.g. "NBA" |
| tag_slug | string | — | — | e.g. "nba", "nfl", "soccer" |