Stop scraping. Start analyzing.
Structured, analysis-ready datasets — trader histories with computed P&L, per-market profitability, and report exports.
Raw Polymarket data is a mess
Polymarket's CLOB API returns raw transaction logs: condition IDs, token amounts, and block timestamps. Turning that into something useful means writing your own indexer, stitching together BUY/SELL/MERGE/REDEEM events, computing cost basis across partial fills, and handling edge cases like splits, maker rebates, and losing positions that never get redemption events.
Most teams spend weeks building this pipeline before they can run their first analysis. And even then, the numbers don't always match because Polymarket's size field is share count (not USDC), endDate is unreliable, and losing shares silently disappear from the ledger.
We've already solved all of this. You get the finished product.
Raw on-chain data tells you what happened. Our datasets tell you what it means.
What's in the file
Each trader dataset is a single JSON export containing 6 sections. Reports export as JSON too.
Every trade with market context, outcome labels, USDC sizing, and provider-backed market categories.
{ "time": "2026-01-15T14:32:07.123Z", "type": "TRADE", "condition_id": "0x8a2fc3e1...9f02", "slug": "will-btc-hit-150k-by-march", "title": "Will BTC hit $150K by March?", "outcome": "Yes", "side": "BUY", "size": 2500.0, "usdc_size": 1050.00, "price": 0.42, "category": "Crypto" }
Day-by-day profit breakdown with pair profit, cumulative totals, volume, and daily change.
{ "date": "2026-01-15", "pair_profit": 847.32, "markets_traded": 5, "total_volume": 15420.00, "cumulative_profit": 24891.07, "total_pnl": 1326.22, "daily_change": 412.80 }
Per-market position data: cost basis, average entry, shares held, pairing info, profitability, and trading duration.
{ "condition_id": "0x71b49f02...c3e1", "title": "US GDP Q1 2026 above 3%?", "slug": "us-gdp-q1-2026-above-3", "category": "Economics", "market_start": "2025-12-01T10:00:00Z", "last_trade_at": "2026-01-18T15:30:00Z", "n_trades": 12, "up_shares": 5000.0, "dn_shares": 0.0, "up_bought": 5000.0, "dn_bought": 0.0, "paired_shares": 0.0, "pair_cost": 0.0, "avg_price": 0.35, "is_profitable": true, "realized_pnl": 3250.00, "trading_duration": 4147200, "entry_offset": 86400, "outcome_up": "Yes", "outcome_dn": "No", "status": "resolved", "cost_basis": null }
Aggregated stats: total P&L, volume, win rate, 7d/30d performance, realized vs unrealized breakdown.
{ "address": "0x7a3f...b291", "username": "signal_trader_42", "total_volume": 1847203.00, "total_pnl": 241329.47, "markets_traded": 312, "win_rate": 64.1, "biggest_win": 47820.00, "positions_value": 15230.00, "pnl_7d": 4210.50, "pnl_30d": 18930.00, "synced_realized_pnl": 238100.00, "total_realized_pnl": 239450.00, "unrealized_mtm": 1879.47, "resolved_win_rate": 66.3, "markets_resolved": 298, "markets_open": 14, "cost_basis_locked": 13350.53 }
Position sizing distribution: average, median, max, standard deviation, and portfolio concentration.
{ "avg_position_size": 2500.00, "median_position_size": 1800.00, "max_position_size": 18400.00, "position_size_stddev": 2140.00, "total_positions": 312, "large_position_count": 23, "concentration": 0.15 }
Win rate, expectancy, and P&L broken down by market category, trade duration, and time of day.
{ "by_duration": [ { "category_value": "<24h", "n_markets": 45, "win_rate": 73.3, "total_pnl": 31200.00 }, { "category_value": "1-7d", "n_markets": 102, "win_rate": 62.7, "total_pnl": 87500.00 } ], "by_category": [ { "category_value": "Politics", "n_markets": 89, "win_rate": 61.8, "total_pnl": 94300.00 }, { "category_value": "Sports", "n_markets": 42, "win_rate": 69.0, "total_pnl": 28700.00 } ] }
Download any daily, weekly, and monthly report as structured JSON with all large trades and aggregate stats.
{ "export_metadata": { "type": "daily", "label": "Friday, February 27, 2026", "exported_at": "2026-02-27T14:30:00Z", "source": "0xinsider.com" }, "summary": { "total_whale_trades": 1847, "total_whale_volume": 18420300.00, "biggest_trade_size": 312400.00, "active_traders": 493 }, "whale_trades": [ { "trade_time": "2026-02-27T03:22:07Z", "side": "BUY", "title": "Will BTC hit $150K?", "outcome": "Yes", "size": 312400.00, "price": 0.62, "market_category": "Crypto", "platform": "polymarket", "trader_grade": "S" } ], "categories": [ { "category": "Crypto", "whale_trade_count": 412, "category_volume": 8200000.00 } ], "grade_distribution": [ { "grade": "S", "count": 23 }, { "grade": "A", "count": 87 } ] }
| Feature | Polymarket API | 0xinsider Dataset |
|---|---|---|
| Trade history | Raw tx hashes, token IDs | Labeled trades with market title, outcome, side, USDC size |
| P&L | Not available | Daily pair profit, cumulative performance, and volume |
| Cost basis | Not available | Per-market avg entry price across partial fills |
| Win rate | Approximate (active markets included) | Resolved markets only, losing shares correctly zeroed |
| Position data | Current balances only | Full history: shares, pairing, duration, entry timing |
| Risk metrics | Not available | Position sizing distribution, concentration, large bet count |
| Category analysis | Not available | Performance by market category, duration, and time of day |
| Format | Paginated REST, multiple endpoints | Single JSON file, one click |
Whether you're building models, writing research, or running a fund — the dataset is the starting point.
Your spreadsheet called. It wants better data.
Enriched trade histories, computed P&L, and per-market analytics — one click, one JSON file. Data that doesn't exist anywhere else.
7-day money-back guarantee · Cancel anytime · View pricing