Polymarket microstructure

Polymarket order book data

Tick-level quotes, trades and L2 depth from the 5-minute up/down markets on BTC, ETH, SOL and XRP. Parquet, one file per asset per UTC day, every manifest carrying a sha256.

Assets
BTC ETH SOL XRP
From
30 Jun 2026
Format
Parquet, zstd-6
Price
$3–5 / day
Archive size

What has been recorded so far

Counted across the whole collection period, not just the days on sale. Refreshed once a day.

Read first

Read this part first

Four caveats, up here rather than in a footnote. If any one of them matters to your use case, nothing else on this page will help.

The snapshots are top-of-book

Best bid, best ask, and that is the whole of it. There are level and size columns, but they exist to keep the schema stable across tables, and every row has them at 0. A reconstructed ladder is a different table — and it does not reach all the way back.

Depth starts 20 July 2026

Fifteen days of the thirty-five have it. Everything before is quotes, trades and spot candles: still fine for flow and spread work, useless if you came to model the book. That gap is exactly why those days bill at 55% of a full one.

The clock changes partway through

Up to 20 July the timestamp is ts — our receipt time, rounded to the second. Ordering inside a second is gone and cannot be recovered. If your model cares about sequence at that resolution, buy from 21 July on, where ts_ms is exchange time in milliseconds.

Uptime is measured, not claimed

It runs from 95.8% to 100%, depending on the day. Each day carries its own figure rather than an average across the archive; the calendar shows it, and the price is computed from it.

Pricing

Pick a range, pay by the day

Every purchase covers all four assets, and whatever streams existed on the dates you pick. Longer ranges are cheaper per day.

RangeRateExample
1–6 days$5 / day3 days, $15
7–29 days$4 / day10 days, $40
30+ days$3 / day30 days, $90

Two rules keep the arithmetic honest. Days holding no data are not counted at all, so a range that straddles a gap costs less than its calendar length suggests. And a longer range never costs less than a shorter one — which is why the total flattens at $90 anywhere between 23 and 30 days.

Loading available dates.

Files

What ships

One Parquet file per asset, per table, per day. Each ships with a manifest carrying its sha256, row count and interval bounds, so a download can be verified without taking our word for it.

TableTime columnContentsAvailable
book_snapsts, ts_msBest bid and askAll days
book_depthts_msLadder levels: price, size, side. Around 88 per event.From 20 Jul
clob_tradestsTrades with taker sideAll days
clob_trades_wsts_msTrade stream with tx hash and fee, for VPINFrom 21 Jul
spot_klinestsSpot candles for the underlyingAll days
book_metats_msMarket parameters. In practice only book_hash is populated.From 21 Jul

Four days — 26 to 29 June — are up for free. Read the schema and the file layout before you spend anything. Preview on Hugging Face

Delivery

Getting the files

Payment goes through Plisio, in crypto. Once it confirms you get a download list good for thirty days, with a request budget sized to your order. The bytes come straight from storage and never pass through our server.

A month is several hundred files. Clicking through them by hand is nobody's idea of a good evening, so the order page hands over the whole list as one text file, with a ready-made command under it for Linux, macOS and PowerShell.

If the data disagrees with what this page says, you get your money back. That is the whole reason the caveats sit at the top and not down here in the small print.

Also from this project

The trading code

The same stack that collects this dataset also trades on it. One payment, no subscription, no seats: source, an installer that takes a bare Ubuntu server to a running bot in about half an hour, and the pipeline that trains the models. The models themselves are not included — you train those on your own data, and they are yours.

Paper simulator

Runs the whole loop against live market data without ever placing an order. What you are buying is the plumbing: already built, already running, not sketched.

  • Collector: Polymarket websocket and REST into PostgreSQL, with gap detection
  • Fill simulation with maker/taker fees, spread and settlement against resolutions
  • Feature builder, LightGBM training pipeline and walk-forward validation gates
  • Trade ledger in Parquet, Telegram control bot, web dashboard
  • Gate A, B and C: what may be trained, what may be deployed, and when it has decayed
$149one-time

Live trader

Everything above, except it actually places the orders on the Polymarket CLOB.

  • Signed CLOB order placement, position tracking and reconciliation
  • Wallet credentials connected from Telegram and stored encrypted — never in a config file
  • Risk limits: bet size, open positions, daily loss cap, entry price ceiling
  • Regime router: twelve models across four assets and three market phases
  • Kill switch and paper/live toggle from Telegram
$399one-time
On performance. The strategy this code implements was net negative over the author's own measured sample: about −$277 across 4 280 paper trades, −$371 across 4 722 in the live configuration, at a 47% hit rate against a break-even near 49%. No real order has ever been placed by the author — the execution path is written and exercised against the API, but every one of those trades was simulated. And since no models ship with it, a fresh install has no view of its own at all until you train one, which needs a fortnight of collected data before the gates will allow it. This is sold as working infrastructure, not as a profitable strategy. If you want a bot that makes money out of the box, do not buy this.

Configured from Telegram

Position size, how many trades at once, the daily loss cap, the entry price ceiling — all set from chat, applied to the running bot, no restart. The live edition takes your wallet the same way: a guided prompt that deletes the message with the key in it and stores the key encrypted.

You bring the models

artifacts/ arrives empty. Gate A will not let you train on less than two weeks of collected data, and until there is a model the bot runs, reports and holds. Buying a month of history from the calendar above is the only way to shorten that wait. A first Gate B verdict of FAIL is the ordinary outcome, not a defect.

You need a server and disk

Two cores and 4 GB of RAM are enough, but recording the full book is 25–40 GB a day. The docs cover keeping a window instead, or trimming what you record — and training is hours of CPU you should not run on the box that is collecting.

What arrives

A tarball with the source, an idempotent install.sh, systemd units, the database schema in one file, and documentation written for someone who has not seen the code before. A manifest carries a sha256 for every file in it.

Licence and support

One buyer, any number of your own machines, source included and yours to modify. No redistribution and no running it as a service for other people. Support covers installation and defects — not strategy design.

The download link is emailed here. It is the only way back to the archive if you switch device or clear your browser.
Checked at checkout. Leave empty if you have none.

Payment goes through Plisio, in crypto, same as the datasets. The archive is a single download from the same storage, and the link is good for thirty days — keep a copy of what you download.

Questions before buying? Message @Datasets_support_bot.