Live

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:

  • signal

    Which alert stream to replay: whale, insider, or all.

  • filters

    Narrow the replayed signals: min/max suspicion score, market category, entry-odds band, minimum bet size.

  • period

    Simulation window — up to 3 years of resolved history per run.

  • stake_rule

    Flat stake or fractional-of-bankroll sizing, optionally scaled by signal score.

  • fees

    Fee and slippage assumptions in basis points, so fills aren't graded at fantasy prices.

  • initial_capital

    Starting 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.

CriterionCrowdIntelOfficial Polymarket API
History depthEvery on-chain fill since September 2020 — 1.7B+ indexedLive market state plus recent activity; no multi-year fill archive
Wallet intelligenceResolved-outcome PnL, shrinkage-adjusted win rate, entry-timing edge, insider scoreRaw orders and trades — you compute the rest yourself
Funding clusters / sybil linksFunding-trace clustering across related walletsNot provided
BacktestingHosted backtests over resolved outcomesNot provided
DeliveryREST /api/v1, MCP server (16 tools), webhooksREST and WebSocket
RoleRead-only intelligence layer — no custody, no order placementExecution: 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.

Last updated 2026-09-08. Backtest results are simulations over historical resolved markets — past performance never guarantees future returns.
Live
Beta
···v0.1.0
CrowdIntel needs a newer browser

Your device is on iOS 15 or older. CrowdIntel uses features (color-mix, WebGL2, modern auth) that require iOS 16+ / Safari 16+.

iPhone 7 maxes out at iOS 15, so the site can't render here. Open CrowdIntel on a desktop browser or a newer phone.

crowdintel.xyz

◆ legacy browser fallback