For builders
Polymarket backtesting: replay signals over resolved on-chain history
Before a strategy touches real USDC, it should survive the past. CrowdIntel indexes 1.7B on-chain Polymarket trades and their market resolutions, and exposes both a hosted Backtest API and the raw history endpoints to grade any entry rule against what actually happened.
Short answer
Submit a job to POST /api/v1/backtest/run — pick a signal stream (whale / insider / all), filters, a period of up to 3 years, a stake rule, and fee + slippage assumptions — then poll GET /api/v1/backtest/{job_id}for the equity curve. Every simulated entry is graded against the market's real resolution. Prefer your own harness? The same resolved history is queryable endpoint-by-endpoint.
What the hosted backtester simulates
A run replays CrowdIntel's historical whale and insider alerts as if your bot had traded them, with the parameters you control:
signalWhich alert stream to replay: whale, insider, or all.
filtersNarrow the replayed signals: min/max suspicion score, market category, entry-odds band, minimum bet size.
periodSimulation window — up to 3 years of resolved history per run.
stake_ruleFlat stake or fractional-of-bankroll sizing, optionally scaled by signal score.
feesFee and slippage assumptions in basis points, so fills aren't graded at fantasy prices.
initial_capitalStarting bankroll for the equity curve.
Jobs are queued and rate-limited per key (heavy compute is the abuse surface), and windows are bounded so runs return in reasonable time.
Or build your own harness
The hosted backtester is convenience, not lock-in. Everything it reads is exposed raw, free to test on any account:
- •
GET /api/v1/trades— the fill tape, filterable by wallet, market, side, size, or a bounded time window. - •
GET /api/v1/wallets/{address}/trades— full per-wallet history, cursor-paginated. - •
GET /api/v1/signals/*— historical insider-score signals to use as entry triggers. - •Wallet stats with resolved-outcome win rates and PnL — the ground truth to grade against.
CrowdIntel vs the official Polymarket API
You cannot backtest against an execution API — it has no resolved history to test on. That is the whole difference.
| Criterion | CrowdIntel | Official Polymarket API |
|---|---|---|
| History depth | Every on-chain fill since September 2020 — 1.7B+ indexed | Live market state plus recent activity; no multi-year fill archive |
| Wallet intelligence | Resolved-outcome PnL, shrinkage-adjusted win rate, entry-timing edge, insider score | Raw orders and trades — you compute the rest yourself |
| Funding clusters / sybil links | Funding-trace clustering across related wallets | Not provided |
| Backtesting | Hosted backtests over resolved outcomes | Not provided |
| Delivery | REST /api/v1, MCP server (16 tools), webhooks | REST and WebSocket |
| Role | Read-only intelligence layer — no custody, no order placement | Execution: places and manages orders |
Official-API capabilities cited from docs.polymarket.com (Gamma, CLOB and Data API references), read 1 August 2026. CrowdIntel figures are measured against the live index on the same date. The two are complementary, not competing: the official CLOB API is how you trade, CrowdIntel is how you decide.
FAQ
How do I backtest a Polymarket strategy?
Two paths. Hosted: POST /api/v1/backtest/run with a signal type (whale, insider, or all), filters, a period, a stake rule, and fee assumptions — the job queues, runs against resolved on-chain history, and you poll GET /api/v1/backtest/{job_id} for the result. DIY: pull per-wallet trade history and the fill tape from the REST API and grade entries against market resolutions in your own harness.
Why do prediction-market backtests need resolved outcomes?
A backtest on Polymarket is only honest if every simulated entry is graded against how the market actually resolved — WIN or LOSS — not against a later price snapshot. CrowdIntel tracks market resolutions alongside 1.7B indexed trades, so both the hosted backtester and anything you build on the API grade against real resolutions.
What does the hosted Backtest API cost?
The Backtest API is free to test — 3 runs a month on a free key, one job in flight at a time. Paid plans lift the monthly cap and allow 3 concurrent jobs. Runs are queued and the simulation window is capped at 3 years either way.
Can I backtest copy-trading a specific wallet?
Yes, DIY-style: GET /api/v1/wallets/{address}/trades returns the wallet's full cursor-paginated trade history, and wallet stats include resolved-outcome win rates and PnL. Replay those entries with your own sizing to see what following that wallet would have returned — before you follow it live.
Run your first backtest
Full request/response schemas in the API reference; plans and limits on pricing. Related: the Polymarket API for bots overview and what historical data the backtester runs on.
