Every Polymarket trade.
In your database.

Indexing Polygon

Download every Polymarket trade, position, and payout as Parquet files. Query remotely with DuckDB or load into any database — Postgres, ClickHouse, Excel, whatever you use. Or use our llms.txt to let an AI agent build the integration for you.

What you get
TRIAL
Free / 7 days
LITE
$49/mo
PRO
$149/mo
Data
Full history of trades since 2022 — 865M+ events, 20 GB+ ParquetLast 7 days
Daily position snapshot with PnL (updated 05:00 UTC)
Markets lookup table
UMA resolution — proposals, disputes, settlements
Updated daily (end-of-day)
Parquet format
Real-time
Live API — real-time, at the chain tip
Track any wallet — positions, avg price, realized & unrealized PnL
Push feed — instant alerts on trades and position changes
Firehose stream — catchup & live sync, replace your pipeline
Try freeGet LiteGet Pro
Lite
End-of-day data with full history since 2022. Download fresh Parquet files every morning, query remotely with DuckDB, or load into any database.
Pro
Real-time, at the chain tip. Stream every on-chain event through one WebSocket — automatic catchup from where you left off, then seamless live sync. Keep your own database in perfect sync, track whale wallets, or build copy-trading bots. Zero polling, zero gaps.
865M+
Trades indexed
150M+
Positions with PnL
<1s
Data freshness
Parquet
DuckDB-ready

Real-time feed

connecting...

Every trade and position change on Polymarket, the moment it happens on-chain.

TIME TAKER SIDE AMT PRICE
ADDRESS SHARES AVG PNL

Who uses this

Quant traders
Backtest strategies on 865M+ trades. Build signals from fills, track whale wallets with live PnL, or feed position data into your models.
Researchers & analysts
Study prediction market behavior across 3+ years of data. Analyze market accuracy, trader performance, and liquidity patterns.
Bot & tool builders
Build copy-trading bots, PnL dashboards, or alert systems with the real-time API and WebSocket feed. Sub-second latency at the chain tip.
Journalists & media
Get the raw data behind Polymarket stories. See who's betting, how much, and on what — without trusting someone else's summary.

Why not just use the free Polymarket API?

Polymarket has a public API, but it's designed for their app — not for data analysis. You can look up one wallet or one market at a time, but you can't search across the full dataset.

I want to... Polymarket API Build my own indexer predmktdata
Get all trades from a specific month Can't filter by date Weeks of engineering ✓ One file per day
Find all whales (wallets holding >$10K) Only one wallet at a time Build from scratch ✓ Filter any column
See who made the most money No P&L data Replay millions of events ✓ Pre-computed P&L
Backtest a trading strategy No historical data Months of work ✓ Full history since 2022
Compare activity across markets One market at a time Index 4 contracts, decode 10 event types ✓ All markets in one file
Time to get started Minutes 2–4 weeks + maintenance Minutes
Cost Free Server + node + database From $49/mo

Download the Parquet, open it in Python, DuckDB, or any database — and query whatever you need. Full guide with code examples ↗

Polymarket Data — Prediction Market Data Tables

You get 10 tables covering every type of activity on Polymarket — trades, positions, markets, payouts, and market resolution data. All amounts are in USDC. Using AI? Feed our llms.txt to Claude or GPT and it will build the integration for you.

click any card to see sample data with real column names

Core
order_filled_events
Every buy and sell trade matched on Polymarket — who traded, how much, and at what price
865M+ rows
tx_hashblocktimestampmakertakermaker_amttaker_amtfeeside
0x63ee...e3800000002025-03-15 14:32:010x3884...d510xc904...8d27.153.210sell
0xa21f...17800000122025-03-15 14:32:250x72ab...f030x19de...a4125.0012.500.05buy
0xd8c2...9a800000312025-03-15 14:33:030xb901...e880x5c44...7120.500.850buy
positions
Current state of every wallet — token holdings, avg price, realized & unrealized PnL per position
150M+ rows · Computed
user_addresstoken_idamountavg_pricerealized_pnlunrealized_pnltotal_pnllast_block
0xc23b...f921742633...64551,872.130.553,210.40842.174,052.5764012334
0x5a01...c298301442...1187500.000.72-120.0040.00-80.0080001200
On-chain activity
position_splits
When a user converts USDC into Yes/No outcome tokens to enter a market
ConditionalTokens
tx_hashblocktimestampstakeholdercondition_idamount
0x369e...91790000032025-03-10 08:12:440xe18a...100xdb27...05133.00
0x7b01...c4790000182025-03-10 08:13:140x4a92...b70x91f3...e250.00
position_merges
When a user converts Yes/No tokens back into USDC to exit a market
ConditionalTokens
tx_hashblocktimestampstakeholdercondition_idamount
0x87e0...5c790000082025-03-10 08:12:540xa3ad...660x58f4...9e801.00
0x2cf1...ab790000442025-03-10 08:13:460xd610...230x7e82...f125.50
payout_redemptions
Payouts after a market resolves — how much each winning position received
ConditionalTokens
tx_hashblocktimestampredeemercondition_idpayout
0x9cac...96790000002025-03-10 08:12:280x84b4...a60x3567...1d52.27
0xf320...d8790000552025-03-10 08:14:080x1bc9...e40xaa01...73150.00
position_conversions
Conversions between outcomes in multi-option markets (e.g. elections with 3+ candidates)
NegRisk Adapter
tx_hashblocktimestampstakeholdercondition_idindex_setamount
0xf81e...ed790000052025-03-10 08:12:380x63d4...f10xc04b...001023100.00
0x44b8...3c790000922025-03-10 08:15:220x8f21...a90xe571...b851175.00
Market resolution (UMA Oracle)
resolution_proposals
Who proposed the outcome of each market — address, proposed result (Yes/No), and challenge window
UMA Oracle · 41K+ rows
tx_hashblockproposerproposed_priceancillary_data
0x7b2e...a1652100320x5369...7c1e18 (Yes)Will Bitcoin hit $100k?
0xd91c...f8728300110xcf12...020 (No)Will ETH flip BTC by 2025?
resolution_disputes
When someone challenges a proposed outcome — who disputed, what was disputed, and the original proposer
UMA Oracle · 800+ rows
tx_hashblockdisputerproposerproposed_priceancillary_data
0x3f8c...e2489600550xdcfe...da0x015f...641e18 (Yes)Israeli troops on the ground in Gaza?
0xa42d...b7652150030x0db5...930x8d04...bd0 (No)Will there be flooding in LA?
resolution_settlements
Final resolved outcome and bond payouts — who won the dispute, what the market resolved to
UMA Oracle · 41K+ rows
tx_hashblockproposerdisputersettled_pricepayout
0xe91a...c4652200180x5369...7c0x0000...001e18 (Yes)750.00
0x1bc4...d1728400990xcf12...020xdcfe...da0 (No)1500.00

FAQ

Why not run my own indexer?
You can — the data is public on Polygon. But a full reindex from 2022 means processing 50M+ blocks across 4 smart contracts, decoding 865M+ raw events, and tracking 150M+ positions. That's days of RPC calls, hundreds of dollars in archive node costs, and a custom pipeline you have to build and maintain. We already did that work. You download the Parquet files and skip straight to analysis.
What data is included?
Every on-chain event from Polymarket's contracts on Polygon: exchange fills (CTF + NegRisk), position splits, merges, payout redemptions, and NegRisk conversions. Plus current positions per user per token, and UMA Oracle resolution data — who proposed market outcomes, who disputed them, and final settlements.
How far behind the chain are you?
Under 1 second. The indexer runs at the chain tip with automatic reorg detection and recovery — no finality buffer needed.
How do I get access?
Sign in with Google, pick Lite ($49/mo) or Pro ($149/mo), and pay with Stripe. You get your API key instantly. You can also reach out to contact@predmktdata.com.
How fast is the full backfill?
Download all Parquet files in parallel — full history (865M+ fills) loads in under an hour. Both Lite and Pro include full history since 2022. Pro users can also connect to /events for near real-time sync.
What database should I use?
All dumps are Parquet format. Query files remotely with DuckDB (no download needed), load into any database, or read directly with Python (pandas, polars). Parquet is columnar, compressed, and type-safe — much faster and smaller than CSV. The real-time API returns newline-delimited JSON with gzip or zstd compression.
What does llms.txt do?
It's a machine-readable description of the API — endpoints, parameters, schemas, sync pattern. Feed it to a coding agent (Claude, GPT, Cursor) and it can generate a working integration script without you reading any docs.
Can I cancel anytime?
Yes. Subscriptions are month-to-month through Stripe — cancel from your dashboard at any time. Your access continues until the end of the billing period, and you keep any data you've already downloaded.
Is there a free trial?
Yes. Sign up and start a 7-day free trial — you get the last 7 days of trades, markets, and UMA data as Parquet files. Enough to test your pipeline and see the data quality. Position snapshots and full history require a paid plan. No credit card needed.
Do you offer an SLA?
No formal SLA. The service is provided as-is. In practice, the indexer runs 24/7 at the chain tip with automatic reorg recovery. If something breaks, email contact@predmktdata.com and we'll fix it.
How long are data dumps retained?
Daily event files are retained for 31 days. The positions snapshot is regenerated daily (2 copies kept). The markets lookup is overwritten daily.

Your data. Your database. Parquet.

Full history Parquet dumps from $49/mo. Real-time API from $149/mo.

Get started
Read the docs ↗ | llms.txt ↗
Need help? contact@predmktdata.com