# Backtest on every trade ever made

Every trade, transfer, and price since genesis. One schema across every venue. The same API when you go live.

Research and backtest strategies on complete onchain history. Every trade, transfer, and price from genesis, OHLCV candles from 1 second to 1 day, then run live on the same API at 10ms.

- **1s candles** OHLCV resolution, from 1 second up to 1 day.
- **10ms live latency** when your strategy goes to production.

## Everything a backtest needs from one API

Complete history, candles at every resolution, and the wallet behind every fill.

- **Every trade since genesis**: Complete backfilled history for every venue we cover: every trade, transfer, and price.
- **Candles at every resolution**: OHLCV from 1 second to 1 day, ready for any signal window.
- **Flow and attribution built in**: Every trade carries size, market, and the wallet behind it. Reconstruct who moved first.
- **Research to production parity**: The endpoints you backtested against, plus websockets, at 10ms when you go live.

## Built like a research dataset, served like an API

The properties quants check first, before the first backtest runs.

- **History from genesis**: Every trade, transfer, and price since the first block. No gaps, no sampling.
- **Candles at any timescale**: OHLCV from 1 second to 1 day, for scalps and multi-month signals alike.
- **Same schema, every venue**: One backtest framework covers every venue we index. No per-exchange adapters.
- **Bulk pulls, no scraping**: Cursor pagination over millions of records, built for full dataset extraction.
- **The wallet behind every fill**: Reconstruct flow and attribution: who bought, who sold, and at what size.
- **Live on the same API**: When a strategy graduates, the same endpoints plus websockets deliver 10ms production data.

## What it takes to go from notebook to production

Typed tooling, bulk data delivery, and a team on call while your strategy trades.

- **TypeScript SDK**: Typed requests and responses for every endpoint, so research code survives refactors on the way to production.
- **MCP server**: Point your AI tools at the full dataset. Query markets, trades, and wallets in natural language while you explore.
- **Managed Backfill**: Full historical datasets delivered to your own infrastructure when an API call isn't enough.
- **Filters and cursor pagination**: Slice by market, wallet, or time range, then page through millions of records without losing your place.
- **Webhooks for live signals**: HMAC-signed, at-least-once delivery across 20+ event types when your strategy needs a push, not a poll.
- **Your second backend team**: 24/7 support on calls, Telegram, and Slack, with engineers who know the data you're modeling.

## Frequently asked questions

### What can I build with Struct?

Backtesting pipelines, signal research, market-making models, copy-trading and execution systems. We're the data layer, the alpha stays yours.

### Which chains and markets does Struct cover?

Polymarket is self-serve. Historical coverage on other chains is an engagement. Contact us and we'll scope the backtest data.

### How do I get started?

Historical coverage outside Polymarket is custom, not self-serve. Contact us and we'll scope your backtest data, then provision access.

### How far back does the history go?

To genesis. Every market ships fully backfilled: every trade, transfer, and price, ready to query from day one.

### How do I pull millions of records for a backtest?

Cursor pagination lets you page through millions of records reliably. For entire datasets in your own store, ask about Managed Backfill.

### Can I run the strategy live on the same data?

Yes. The same endpoints and schema serve production, and websockets push trades and prices at 10ms. No separate live feed to integrate.

## Learn more

- [REST API](https://www.struct.to/rest-api)
- [WebSockets](https://www.struct.to/websockets)
- [Webhooks](https://www.struct.to/webhooks)
- [Data pipelines](https://www.struct.to/solutions/data-pipelines)
- [Pricing](https://www.struct.to/pricing)
- [Documentation](https://docs.struct.to)
