Bulk downloads paused for some clients. Requests identifying as "AlphaHound research importer" are blocked while we rebuild the archive, because they took over half of all download capacity. Bulk downloads are also paused while we roll out v3.1 (a new format with smaller files) for "polytaker-source-audit", a python-requests client on one IPv6 network and a client sending a browser user agent from one server. Please contact us for a mirror arrangement: Discord or X.
Polymarket Orderbook Archive archive.pendulumflow.com

Index of /v3.1/

Our own capture, v3.1 format. Live data from PendulumFlow.

Format, provenance and known issues for this data: V3.1 · live beta. What we measured about it, and where it falls short: the audit.

Status

Live beta. New hours are published every hour as they are built. The newest published hour is 2026-11-02 10:00 UTC, and the hours since then (2 so far) are still being caught up. This page reads SHA256SUMS.txt each time it is built, so it is never ahead of what you can download.

Coverage

From 2026-10-27 00:00 UTC to 2026-11-02 10:00 UTC: 155 hours. History from before then, the v3 hours rebuilt in the v3.1 layout, is coming.

What's in an hour

Each hour is one folder, v3.1/YYYY-MM-DD/HH/, and each file name starts with the hour, as in 2026-10-30T08.crypto.parquet. What the published hours hold:

How to download

Download each file once and check it against SHA256SUMS.txt, the list of every published file and its sha256. A file whose hash does not match is a bad download: fetch it again.

# the ledger, then one hour, then check what you got
curl -sO https://dl.pendulumflow.com/v3.1/SHA256SUMS.txt
grep 2026-11-02/10/ SHA256SUMS.txt | awk '{print $2}' | while read p; do
  mkdir -p "$(dirname "$p")" && curl -s -o "$p" https://dl.pendulumflow.com/v3.1/"$p"
done
grep 2026-11-02/10/ SHA256SUMS.txt | sha256sum -c -

Or query a file in place with DuckDB, without downloading it first:

INSTALL httpfs; LOAD httpfs;
SELECT * FROM read_parquet('https://dl.pendulumflow.com/v3.1/2026-11-02/10/2026-11-02T10.ai.parquet') LIMIT 10;

The three hours we shared for testing in October are still there as older preview samples.

The files

v3.1 is in live beta. The format is frozen; if we find a problem, an hour may be re-issued as a new generation. The hour reports are still the v3 design while we build v3.1-specific ones. Coming from v3? Compare the two yourself on the battle test page, and see our step-by-step guide to switching.

Now shipped, in quickstart.py (README):

  • a one-line way to read any hour
  • a ready-made rebuild of the second token's rows
  • a simpler spread

More is coming soon:

  • a per-hour market and category index
  • hourly crypto settlement data (price to beat, final price, average)
  • Chainlink and Binance reference prices
  • the signed orders behind each fill, with links to their blockchain transactions
  • a public order-latency series
  • Polymarket's liquidity-reward parameters, published daily
  • each recorder's connection and gap log for every hour
  • a correction policy, with a changelog for every change that affects the data
  • an opening state with no look-ahead (only what a live observer could have known at the top of the hour)
  • the history back to August

Please tell us what you find, and which of these matter to you: Feedback and requests.

Checksums for this prefix: SHA256SUMS.txt, verify a download with sha256sum -c. It currently names 5694 hourly Parquet files and 342 sidecars (the manifests and capture-timing files), through 2026-11-02T10.

Download this prefix in bulk

You do not need to open the hour pages, and you should not scrape this one. SHA256SUMS.txt lists every file under this prefix, so it is both the download list and the verification file.

# every file URL under /v3.1/
curl -s https://archive.pendulumflow.com/v3.1/SHA256SUMS.txt | awk '{print $2}' \
  | sed 's|^|https://dl.pendulumflow.com/v3.1/|'

# fetch them, four at a time, keeping the directory layout
curl -s https://archive.pendulumflow.com/v3.1/SHA256SUMS.txt | awk '{print $2}' \
  | xargs -P4 -I{} curl -sf --create-dirs -o {} https://dl.pendulumflow.com/v3.1/{}

# then verify the lot, in the directory you downloaded into
curl -sO https://archive.pendulumflow.com/v3.1/SHA256SUMS.txt && sha256sum -c SHA256SUMS.txt

# fetched only PART of it? filter the ledger to MATCH WHAT YOU TOOK
grep <the prefix you fetched> SHA256SUMS.txt | sha256sum -c -

Fetched only part of it? Filter the checksum list to what you took first, for example grep 2026-11-02 SHA256SUMS.txt | sha256sum -c - for one day, or every file you skipped prints as FAILED.

Add | grep 'parquet$' to skip the manifests. Ranges within a file work too, see the format notes.

155 hours, 6032 objects.

‹ prev   page 1 of 2   next ›
Hour (UTC) FilesSizeRowsWitnessesCoverage
1.Mon, 2 Nov 2026 10:004 witnesses380.78 GiB80,196,4574Checks pass – Report
2.Mon, 2 Nov 2026 09:003 witnesses380.67 GiB75,755,8093Checks pass – Report
3.Mon, 2 Nov 2026 08:003 witnesses380.72 GiB76,744,4513Checks pass – Report
4.Mon, 2 Nov 2026 07:003 witnesses380.67 GiB74,360,2003Checks pass – Report
5.Mon, 2 Nov 2026 06:003 witnesses380.66 GiB72,961,7873Checks pass – Report
6.Mon, 2 Nov 2026 05:003 witnesses380.72 GiB75,985,4303Checks pass – Report
7.Mon, 2 Nov 2026 04:004 witnesses380.76 GiB80,859,0004Checks pass – Report
8.Mon, 2 Nov 2026 03:003 witnesses380.80 GiB90,451,2523Checks pass – Report
9.Mon, 2 Nov 2026 02:003 witnesses380.83 GiB93,524,6343Checks pass – Report
10.Mon, 2 Nov 2026 01:003 witnesses380.77 GiB83,968,8053Checks pass – Report
11.Mon, 2 Nov 2026 00:004 witnesses380.78 GiB86,008,8054Checks pass – Report
12.Sun, 1 Nov 2026 23:003 witnesses380.84 GiB93,580,8613Checks pass – Report
13.Sun, 1 Nov 2026 22:004 witnesses381.02 GiB102,683,0704Checks pass – Report
14.Sun, 1 Nov 2026 21:003 witnesses380.91 GiB101,708,5513Checks pass – Report
15.Sun, 1 Nov 2026 20:004 witnesses381.11 GiB103,576,2154Checks pass – Report
16.Sun, 1 Nov 2026 19:004 witnesses381.06 GiB104,912,2904Checks pass – Report
17.Sun, 1 Nov 2026 18:004 witnesses381.08 GiB103,361,3024Checks pass – Report
18.Sun, 1 Nov 2026 17:003 witnesses380.86 GiB87,811,8103Checks pass – Report
19.Sun, 1 Nov 2026 16:004 witnesses380.95 GiB94,014,1444Checks pass – Report
20.Sun, 1 Nov 2026 15:003 witnesses380.93 GiB95,301,2183Checks pass – Report
21.Sun, 1 Nov 2026 14:003 witnesses380.93 GiB94,283,9153Checks pass – Report
22.Sun, 1 Nov 2026 13:003 witnesses380.89 GiB93,634,4063Checks pass – Report
23.Sun, 1 Nov 2026 12:004 witnesses380.94 GiB90,850,6864Checks pass – Report
24.Sun, 1 Nov 2026 11:003 witnesses380.82 GiB86,238,0973Checks pass – Report
25.Sun, 1 Nov 2026 10:003 witnesses380.76 GiB81,779,6993Checks pass – Report
26.Sun, 1 Nov 2026 09:003 witnesses380.74 GiB81,495,0523Checks pass – Report
27.Sun, 1 Nov 2026 08:003 witnesses380.70 GiB80,004,3303Checks pass – Report
28.Sun, 1 Nov 2026 07:003 witnesses380.70 GiB77,811,9423Checks pass – Report
29.Sun, 1 Nov 2026 06:003 witnesses380.61 GiB67,004,9973Checks pass – Report
30.Sun, 1 Nov 2026 05:003 witnesses380.71 GiB71,168,3633Checks pass – Report
31.Sun, 1 Nov 2026 04:004 witnesses380.80 GiB81,085,5674Checks pass – Report
32.Sun, 1 Nov 2026 03:003 witnesses380.81 GiB86,590,2123Checks pass – Report
33.Sun, 1 Nov 2026 02:004 witnesses381.04 GiB109,308,7634Checks pass – Report
34.Sun, 1 Nov 2026 01:003 witnesses381.03 GiB115,146,0123Checks pass – Report
35.Sun, 1 Nov 2026 00:004 witnesses381.09 GiB115,972,8674Checks pass – Report
36.Sat, 31 Oct 2026 23:003 witnesses380.94 GiB104,533,8003Checks pass – Report
37.Sat, 31 Oct 2026 22:003 witnesses380.89 GiB95,346,4733Checks pass – Report
38.Sat, 31 Oct 2026 21:004 witnesses381.03 GiB102,400,6284Checks pass – Report
39.Sat, 31 Oct 2026 20:004 witnesses381.15 GiB109,829,5404Checks pass – Report
40.Sat, 31 Oct 2026 19:004 witnesses401.18 GiB111,277,0884Checks pass – Report
41.Sat, 31 Oct 2026 18:004 witnesses381.12 GiB106,871,2604Checks pass – Report
42.Sat, 31 Oct 2026 17:004 witnesses381.13 GiB106,102,7174Checks pass – Report
43.Sat, 31 Oct 2026 16:004 witnesses381.18 GiB107,579,6294Checks pass – Report
44.Sat, 31 Oct 2026 15:003 witnesses381.02 GiB102,228,0163Checks pass – Report
45.Sat, 31 Oct 2026 14:004 witnesses381.07 GiB98,571,2584Checks pass – Report
46.Sat, 31 Oct 2026 13:003 witnesses380.94 GiB93,958,6063Checks pass – Report
47.Sat, 31 Oct 2026 12:003 witnesses380.84 GiB88,172,4333Checks pass – Report
48.Sat, 31 Oct 2026 11:003 witnesses380.80 GiB81,099,0203Checks pass – Report
49.Sat, 31 Oct 2026 10:003 witnesses380.79 GiB78,452,4593Checks pass – Report
50.Sat, 31 Oct 2026 09:003 witnesses380.80 GiB81,122,3443Checks pass – Report
51.Sat, 31 Oct 2026 08:003 witnesses380.78 GiB81,133,8773Checks pass – Report
52.Sat, 31 Oct 2026 07:003 witnesses380.79 GiB81,610,9053Checks pass – Report
53.Sat, 31 Oct 2026 06:003 witnesses380.79 GiB83,879,3383Checks pass – Report
54.Sat, 31 Oct 2026 05:003 witnesses380.82 GiB81,037,7553Checks pass – Report
55.Sat, 31 Oct 2026 04:003 witnesses380.79 GiB80,883,6213Checks pass – Report
56.Sat, 31 Oct 2026 03:003 witnesses380.82 GiB83,244,1733Checks pass – Report
57.Sat, 31 Oct 2026 02:003 witnesses380.92 GiB93,026,0563Checks pass – Report
58.Sat, 31 Oct 2026 01:003 witnesses381.01 GiB102,115,3583Checks pass – Report
59.Sat, 31 Oct 2026 00:004 witnesses381.06 GiB104,395,4464Checks pass – Report
60.Fri, 30 Oct 2026 23:003 witnesses380.91 GiB96,392,9543Checks pass – Report
61.Fri, 30 Oct 2026 22:003 witnesses380.82 GiB82,210,0593Checks pass – Report
62.Fri, 30 Oct 2026 21:003 witnesses380.80 GiB81,777,9693Checks pass – Report
63.Fri, 30 Oct 2026 20:004 witnesses380.96 GiB86,076,0424Checks pass – Report
64.Fri, 30 Oct 2026 19:003 witnesses380.94 GiB89,125,2553Checks pass – Report
65.Fri, 30 Oct 2026 18:003 witnesses380.85 GiB80,024,4033Checks pass – Report
66.Fri, 30 Oct 2026 17:003 witnesses380.84 GiB80,107,7863Checks pass – Report
67.Fri, 30 Oct 2026 16:003 witnesses380.84 GiB78,768,4443Checks pass – Report
68.Fri, 30 Oct 2026 15:003 witnesses380.81 GiB79,893,2273Checks pass – Report
69.Fri, 30 Oct 2026 14:003 witnesses380.84 GiB82,979,5903Checks pass – Report
70.Fri, 30 Oct 2026 13:003 witnesses380.83 GiB79,984,0473Checks pass – Report
71.Fri, 30 Oct 2026 12:003 witnesses380.75 GiB73,674,1673Checks pass – Report
72.Fri, 30 Oct 2026 11:003 witnesses380.72 GiB70,113,0623Checks pass – Report
73.Fri, 30 Oct 2026 10:003 witnesses380.75 GiB70,979,3483Checks pass – Report
74.Fri, 30 Oct 2026 09:003 witnesses380.71 GiB68,507,1433Checks pass – Report
75.Fri, 30 Oct 2026 08:003 witnesses380.70 GiB68,565,2433Checks pass – Report
76.Fri, 30 Oct 2026 07:003 witnesses380.70 GiB67,513,5633Checks pass – Report
77.Fri, 30 Oct 2026 06:003 witnesses380.71 GiB68,358,9543Checks pass – Report
78.Fri, 30 Oct 2026 05:003 witnesses380.76 GiB67,926,9783Checks pass – Report
79.Fri, 30 Oct 2026 04:003 witnesses380.71 GiB69,661,0553Checks pass – Report
80.Fri, 30 Oct 2026 03:003 witnesses380.74 GiB75,587,2713Checks pass – Report
81.Fri, 30 Oct 2026 02:003 witnesses380.84 GiB83,722,9253Checks pass – Report
82.Fri, 30 Oct 2026 01:003 witnesses380.84 GiB83,557,5393Checks pass – Report
83.Fri, 30 Oct 2026 00:004 witnesses380.98 GiB89,897,2854Checks pass – Report
84.Thu, 29 Oct 2026 23:003 witnesses380.79 GiB78,046,2723Checks pass – Report
85.Thu, 29 Oct 2026 22:003 witnesses380.76 GiB73,318,2593Checks pass – Report
86.Thu, 29 Oct 2026 21:003 witnesses380.75 GiB73,639,7603Checks pass – Report
87.Thu, 29 Oct 2026 20:003 witnesses380.78 GiB74,169,9973Checks pass – Report
88.Thu, 29 Oct 2026 19:003 witnesses380.71 GiB66,348,0843Checks pass – Report incident
89.Thu, 29 Oct 2026 18:003 witnesses380.13 GiB1,254,2473Checks pass – Report incident
90.Thu, 29 Oct 2026 17:003 witnesses380.80 GiB72,301,2943Checks pass – Report
91.Thu, 29 Oct 2026 16:003 witnesses380.79 GiB69,698,3183Checks pass – Report
92.Thu, 29 Oct 2026 15:003 witnesses380.73 GiB69,639,9193Checks pass – Report
93.Thu, 29 Oct 2026 14:003 witnesses380.75 GiB70,419,6353Checks pass – Report
94.Thu, 29 Oct 2026 13:003 witnesses380.69 GiB63,251,3773Checks pass – Report
95.Thu, 29 Oct 2026 12:003 witnesses380.67 GiB60,671,7893Checks pass – Report
96.Thu, 29 Oct 2026 11:003 witnesses380.63 GiB57,731,6913Checks pass – Report
97.Thu, 29 Oct 2026 10:003 witnesses380.63 GiB57,317,7683Checks pass – Report
98.Thu, 29 Oct 2026 09:005 witnesses380.69 GiB58,886,2085Checks pass – Report
99.Thu, 29 Oct 2026 08:005 witnesses380.60 GiB52,827,1095Checks pass – Report
100.Thu, 29 Oct 2026 07:003 witnesses400.56 GiB53,446,0833Checks pass – Report
‹ prev   page 1 of 2   next ›

Thin hours inside these windows line up with the venue pausing, though that is not the whole story for every one: the 26 August entry, for one, records a stretch where the venue was emitting and we were not receiving. Polymarket's status page recorded each incident; the link on each line is their record, and details is what we measured and what we are not claiming.

  • 2026-10-29T18:05Z to 2026-10-29T19:05Z: Exchange in cancel-only mode for an hour after a third-party provider was compromised. Cancel-only mode with relayer actions paused; the venue said a third-party provider was compromised and trading was halted as a precaution, 18:05 to 19:05 (investigating 18:05:18, identified 18:37:02, monitoring 18:55:16, resolved 19:05:22) UTC (their record). 2 hours · details

1 hour is marked small, meaning under a quarter the size of the median hour here (817.2 MiB). That is a fact about volume, not a verdict about capture. Each marker is a link: where the exchange recorded an incident covering the hour it leads to what we know about it, and where nothing is on record it leads to the definition. Hover for the reason without leaving the page. Some of these hours pass the completeness check for all sixty minutes and simply had little happening; a quiet market and a capture problem look the same from the outside. If the difference matters to your work, read the hour's manifest and the audit rather than inferring from the size.

Pendulum Flow Discord

Something wrong with an hour, or a file you need that is not here? Say so in the Discord, where the people who run the site and prediction market data geeks compare notes.

Join the Discord

Credit the collector: pendulumflow for V3 and V3.1, PMXT for V1 and V2, AG6 for their V2 archive. Ours is CC BY-NC 4.0, commercial licence by contact; PMXT's is CC BY 4.0; AG6 states no licence. How to cite.

Serving these bytes is not endorsing them. We are not affiliated with Polymarket.

For AI readers: llms.txt, what this archive holds and the questions it cannot answer.

https://x.com/PendulumFlow

Join the Pendulum Flow Discord: other people who build on prediction-market data, comparing notes and sharing tooling and findings.