Schema
Polymarket Data Schema Explained
The Polymarket data schema is small, and understanding it unlocks everything: markets identified by slug and id, frames keyed by second, and outcomes attached to rows. This page documents the schema row by row.
Figures measured as of 2026-09-24 on the published PolyOrderbooks archive.
Tables
The core tables
Joins
How the tables join
The join keys are the market id (for rows) and the UTC second / 250ms bucket (for time). Books, prices, and metrics align by construction on the archive's grid; the tape joins on the same bucket for fill-context studies.
A data consumer that joins on anything else (a rounded timestamp, a display price) builds the classic misalignment bugs; the schema is designed so the correct join is also the easy one.
Enums
The fields that carry meaning
Flags (one-sided, crossed), window types (5m, 15m, 4h), coin/series tags, and the outcome enum (1/0) are the compact fields on which every analysis rests. They are documented alongside the tables in the dataset metadata and the open data page.
The honest note: schema fields are recorded as observed, so flags describe the frame, not an interpretation — the same discipline as the (data-quality) audit.
Honest
The honest framing
A schema is a contract: every column means one thing, and the schema's honesty is that flags and outcomes record what happened, not what would look better in a summary. Datasets version their schema changes, so a cited row means the same thing forever.
Join first
Join before you trust
The schema's design goal is that the correct join is also the easy join: market id for rows, UTC second / 250ms bucket for time, and the flag columns ride along so regime-split studies do not reinvent them. A consumer who joins on a rounded display timestamp will build the exact misalignment bugs the schema exists to prevent.
Every published figure on this site — the 42,254-share median rest at 0.99, the 16.9% one-sided share — is reproducible from the schema fields alone.
FAQ
What tables make up the schema?
Market, books, prices, metrics, and tape — joined by market id and the UTC 250ms bucket.
How do books and prices align?
By construction on the shared grid: books, prices, and metrics carry the same timestamp per 250ms frame.
What do the flags mean?
one-sided and crossed describe the frame as observed — recorded facts, not interpretations.