▌tickfoundry
capture live中文sign inget the data →
◉ live · Polymarket · Kalshi · Hyperliquidfull 25-level L2 · every trade · reference prices · parquet / CSV · REST API

Backtest Polymarket, Kalshi and Hyperliquid against the order book that was actually there.

Full historical L2 depth, every trade and the reference prices, tick by tick, as parquet, CSV or a REST API. Start with 5 free market·days, each one market for one UTC day, no card.

Plans from $29/mo per venue → · every paid plan includes the Lab
BTC-100K-EOYL2 · 25 levels/sideillustrative14:32:08.142 UTC
ASK0.635820
ASK0.6321,450
ASK0.6291,200
ASK0.6263,100← best
spread 0.002
BID0.6244,200← best
BID0.6211,850
BID0.6182,600
BID0.615940
every level · every update · replayablel2.parquet
ticks captured
257,012,443,885
as of 2026-11-07 02:15 UTC · both collectors
archive · compressed
32,108 GB
raw + normalized · since 2026-05-11 · zstd
outcome tokens tracked
481,582
across live + resolved markets
◷Polymarket tick & book capture since 2026-05-11 · order-book history back to February 2026 · on-chain fills back to 2023-08, per market — thinner before 2026.We start clean and accumulate — one contiguous archive, no synthetic backfill, new days added every day. Hyperliquid books & fills since 2025-01-25, below.
00choose a dataset

Three places to start. Or search the whole venue.

One click claims a July 2026 day of a recognisable market — L1, L2, trades and 1-minute candles. Any other market·day is one search away in the catalog; Hyperliquid coins live in their own.

quick first picks
Any July 2026 day of any market on this page can be one of your 5 free downloads — no card. These just skip the choosing: one click claims the last day of July 2026.
Every market below has the same options: any day inside your plan's history window, your choice of files, the full 25-level book on paid plans. Search or scroll.
01from download to dataframe

Load it. Walk the book. See what your backtest was assuming.

This runs on the free sample as shipped — a full UTC day of the BTC Up or Down 4h series, no account. The numbers on the right are what a market buy would actually have paid on its busiest market, walking the 25-level ladder snapshot by snapshot, against the mid-fill a price-series backtest assumes.

load.py · the free samplepython
import pandas as pd
# the free sample: tickfoundry.com/samples — no account
book = pd.read_parquet("l2.parquet") # 25 levels a side, every update
trades = pd.read_parquet("trades.parquet") # every fill the venue reported
tokens = pd.read_csv("reference/tokens.csv", dtype={"token_id": str})
book = book.merge(tokens[["token_id", "outcome_label"]], on="token_id")
book["ts"] = pd.to_datetime(book.ts_recv_ns, unit="ns", utc=True)
book.set_index("ts")[["best_bid", "best_ask", "ask_sz_1"]].resample("1min").last()
market buypaid over midover best ask
$100+1.09¢+0.17¢
$500+2.36¢+1.48¢
$2,000+4.94¢+3.83¢
median across 93,016 book snapshots · YES leg of "Bitcoin Up or Down - August 19, 4:00PM-8:00PM ET" · 2026-08-19 · spread 1.73¢ time-weighted · median $50 resting at the best ask

A mid-fill model prices a $2,000 order about 5¢ too well, half the time, on a contract near 50¢. Around news it is worse: in the Spain–Belgium quarterfinal the spread went to 31¢ while the mid moved 64 points in 0.65 seconds.

Or skip the code. The TickFoundry Lab replays this exact day tick by tick in your browser (chart, depth ladder, trade tape) and simulates what your order would have paid. No install, and no account for this day. Open it in the Lab →

02why this exists

The public API forgets. We don't.

Polymarket's feed is real-time only: once a book update scrolls past, it's gone, and no API call brings it back. Capturing it yourself means sockets to babysit, gaps to fill and storage to run, and it only ever records what you were watching. Here's the line-by-line difference.

dimension
DIY / public API
▌ tickfoundry
Resolution
✕1-min snapshots at best
✓Every tick — nothing between samples
Historical completeness
✕Gaps the moment you blink
✓Every day since February 2026, gaps listed per day
Reliability
✕One socket, your uptime
✓Dual region, sequence-audited
Data prep
✕Parse, dedup, normalize yourself
✓Clean parquet, ready to load
Order-book depth
✕Reconstruct from deltas
✓Full L2 ladder, every level
Replay
✕Not possible after the fact
✓Deterministic tick replay
Coverage
✕Only what you were watching
✓The whole venue, already on disk
Running it
✕Sockets, storage and a 3am page
✓We run it; you pull files
Judge the fidelity yourself — the sample bundle is the real product: one market, one full day, free.
Download the sample →
03also live · hyperliquid

Hyperliquid order books and fills, every coin since 2025-01-25.

Top of book and the 25-level book on every change, and every fill, for every perp, spot pair and HIP-3 market — rebuilt from the chain's own order-event stream, scored against the venue's snapshots and continued every morning. Building this yourself — pulling the chain's order-event archive out of requester-pays S3 and replaying it into books — runs to around $10,000 in egress and compute. Each venue is its own subscription; hold one, two or all three and they add up.

venues
Polymarketbooks & trades since 2026-05-11
Polymarket perpsbooks, BBO, trades, funding, OI
Hyperliquidbooks & fills since 2025-01-25
Kalshibooks & trades since 2026-09-27; trades since 2021-06-30
04faq
How do I backtest Polymarket with this?
Load l2.parquet, look up the book snapshot in force at each decision time, and price every simulated order by walking the resting levels rather than filling at the mid. The step-by-step guide at /how-to-backtest-polymarket does exactly that in pandas on the free sample, with the script and the resulting slippage numbers, and runs unchanged on any market·day you download.
What is the Lab?
A browser workbench on the same data you download. Replay any market·day tick by tick with the chart, depth ladder and trade tape in sync, simulate what an order would have paid against the recorded book, and save the work in private workspaces. Every paid plan includes it and opens the days your plan covers. The public sample day needs no account, and a free account adds the market·days you claim. See /lab.
What exactly do I get?
Three plans per venue, Polymarket, Hyperliquid or Kalshi, each covering every market on it. Starter ($29/mo): top of book and every trade for the whole venue, one series of your choice at full 25-level depth, and the Lab. L10 ($49/mo): the 10-level book on every market, perps in full, REST API. L25 ($99/mo): the full 25-level book, the Binance + Chainlink spot feeds in every bundle, on-chain fills, SFTP and a fair-use API. Every plan reaches 7 days before the day you join plus everything since; earlier months are backfill at the plan's own monthly rate, and a yearly plan includes the archive. Custom adds raw websocket atoms, hourly cadence, team seats and delivery built around your stack. Free gets you 5 market·days to validate the schema first.
How far back does history go?
Hyperliquid order books and fills run back to 2025-01-25, rebuilt from the chain's own order-event archive and continued daily. Polymarket order-book and tick history runs back to February 2026, and our own dual-region capture has run continuously since 2026-05-11 — every market·day from that date on is capture, not reconstruction. On-chain trade fills go deeper still: settled fills read from Polygon, back to 2023, sold separately from the market·day bundles (L25 and up). Coverage there is per market — it begins when that market first traded, and we publish the exact range per unit rather than quoting one floor. Density before 2026 is thinner because our market universe was still filling in. We start clean and accumulate — no synthetic backfill or gaps to paper over. What a plan may PULL is 7 days before your own start date plus every day that lands while you subscribe; any earlier calendar month is a one-time backfill at the plan's own monthly rate ($99 for the full book, $15 for top of book and trades), six months for the price of five, twelve for eight, and a yearly plan includes the archive.
Is there an API?
Yes — a REST API on every paid plan. List the catalog, request a market·day, poll the staging job and stream the bundle down with your API key — downloads are key-authenticated, never public links. Mint your key in the dashboard; it's shown once. Free is dashboard-download only.
What's the rate limit?
Downloads are fair-use on every paid plan — each download is a full market·day bundle, and an anti-burst cap keeps one account from monopolising the build queue. The API is 60 requests/min on Starter and L10 and 600 on L25. The commercial limit is history, not volume: how far before your start date the plan reaches. Custom limits are negotiated per contract.
Who can use a plan?
Every paid plan is one named seat: you, using the data for your own analysis, research and trading. Sharing it with colleagues who have no seat of their own, redistributing it, or embedding it in a product you ship needs a written agreement (the Custom plan).
Do you have other venues or assets?
Three venues are live: Polymarket (prediction markets, full depth, plus its perpetual futures venue — order books, BBO, trades, funding and open interest for 67 instruments), Hyperliquid (every perp, spot pair and HIP-3 market since January 2025, reconstructed from the chain's own order-event stream: top of book and the 25-level book on every change, and every fill — see /hyperliquid-historical-data) and Kalshi (every series from our own capture since 2026-09-27: the 25-level book, top of book, trades and Kalshi's ticker, plus every Kalshi trade back to June 2021 as trades-only history — see /kalshi-historical-data). Each venue is its own subscription — subscribe to one, two or all three, monthly or yearly on each, and they add up, and Polymarket perps ride inside every Polymarket plan ($29/mo on a Hyperliquid plan). L25 and Custom also bundle the Binance + Chainlink spot (RTDS) feeds.
What about gaps?
Two collectors in separate regions capture the same feed; sequence numbers are audited and a gap on one is filled from the other. When the venue itself was down or degraded, that day's bundle ships a known_gaps.csv with the window in UTC and whether it was the venue or us, so a quiet stretch is never a guess. Days before 2026-05-11 predate our own capture.
Why pay when free Polymarket data exists?
Free Polymarket order-book dumps exist, and if one covers your dates, use it. A plan adds four things they do not: new days every day, not an archive that stopped; our own two-region capture since 2026-05-11, with the venue's millisecond timestamp and our nanosecond receive time on every row; a known_gaps.csv in any bundle whose day touched an outage, so a quiet stretch is never ambiguous; and the 25-level book already rebuilt per market, as parquet you can load, instead of a venue-wide event log to replay. Kalshi and Hyperliquid arrive in the same shape.
05the dataset, in plain words

TickFoundry is Polymarket historical data as a product: tick-by-tick price history, full 25-level L2 order-book depth and the trade tape, captured live from the venue since 2026-05-11 and delivered as parquet/CSV downloads, a REST API and SFTP. On-chain trade fills reach further back — back to 2023-08, per market — thinner before 2026 — read from Polygon settlement and sold as their own layer. Since September 2026 TickFoundry also sells Hyperliquid historical data: top of book, the 25-level order book and every fill for every coin since 2025-01-25, rebuilt from the chain's own order-event stream. And since October 2026, Kalshi historical data: the 25-level book and every trade for every series from our own capture since 2026-09-27, plus every Kalshi trade back to June 2021.

Start with the free tick data sample — a real slice of Polymarket order books and trades in the exact schema paid bundles ship in — then browse the catalog of every market·day on disk, or check the research notes computed from the same files we sell.

Every market on the venue.
From $29 a month.

Claim 5 free market·days, buy a single market·day from $2 with no subscription, or pick a plan that covers the whole venue and pull your first archive today, dashboard or API.