subject
the Polymarket historical-data market, and whether our archive belonged in it
assessed
3–4 August 2026, with a verification pass on 4 August; published 29 September 2026
evidence
[L] verified live (endpoint probed, file downloaded, data recomputed, on-chain read) · [D] read from the vendor's own API docs, OpenAPI spec, SDK source or contract · [M] measured from our own archive · [A] arithmetic · unlabelled = the vendor's marketing claim
note
Gabbatron is not affiliated with Polymarket. Polymarket is a trademark of its owner.

Why we did not release the archive

2026-08-03
the question

By early August we had two months of Polymarket order-book frames in storage, every frame, with the gaps marked, and a collector that could keep going indefinitely.a The question was whether anyone would pay for the cleaned-up version. We spent two days finding out, against primary sources: vendor API specifications, OpenAPI documents, SDK source, live endpoint probes, package-download statistics, on-chain reads, and a download of the largest free archive. This page is the result, with the evidence class marked on every claim, followed by what the data cost us to keep, which is the half of the question the first pass skipped.

The short version. A free archive matches the venue's own tick cadence, carries full ladder depth, and is larger than the largest paid vendor. Nine paid operators over eleven months produced about $10k a month of visible revenue between them. The one company that charges institutional prices, Tardis.dev, seven years old with 1.48M PyPI downloads a month, sells fifty venues at once, and Polymarket is a line item. Three business models were tested against evidence and all three failed. So we stopped, and this page is the demand test the audit recommended in place of building anything.

a The collector is described on the archiver page: two listeners, every frame byte for byte, per-market coverage markers around every interval received and not received.

Corrections made during the work

The first draft of this assessment was wrong in five places, and every correction made the competition look stronger. That is the honest spine of the document, so it goes first.

We thought breadth was underserved. It is served: Telonex holds 2,472,491 markets, a figure we verified from their own free markets file rather than their marketing.b We thought the free archive was about one percent of our volume and therefore far coarser. It stores 6.0 bytes a row against 200 to 400 bytes for a raw JSON entry; the difference is encoding, and the content is all there. We thought builder codes paid $30k to $60k a month at the top of the leaderboard. Wrong twice: the headline figures are calendar-month-to-date rather than trailing thirty days, and volume is denominated in shares rather than dollars, so applying basis points to the headline overstates revenue about 2.4 times; the top builder charges 0 bps. We thought Polymtrade proved a tool could monetise at about $112k a month. Doubtful: its token gate exempts high-volume users from fees, so the figure is an upper bound assuming no exemptions, and the token behind it is a $215k-market-cap coin trading $355 a day on ten trades. And we thought provenance was a wedge. Nine vendors, none sells it. What replaced it is narrower and concrete: three named, measured defects in the free archive, described below.

b A 1.36 GB Parquet file from Telonex's free tier, read with DuckDB. A DESCRIBE on it is also how we established their completeness disclosure has no way to express an interior gap.

The free archive

pmxt publishes hourly files of Polymarket order-book events under CC BY 4.0, commercial use permitted, no API key.c We downloaded a real 445 MB hourly file and tested its cadence against a live subscription to the venue's own WebSocket, the same 25 assets over 120 seconds [L].

c The archive index is at archive.pmxt.dev; the licence is Creative Commons Attribution 4.0, which permits commercial use with attribution. The collector's source is public, which is how we read its dedup and hash settings.
Gap between consecutive venue timestampspmxt archivelive venue WebSocket
p253 ms4 ms
p5016 ms28 ms
share of gaps under 5 ms30.9%26.6%

At least as fine-grained as subscribing directly. The file held 74.2M rows for the hour, 20,562 rows a second, 9,440 book-update events a second, across 99,979 condition ids and 199,924 asset ids, which is more than our own collector's roughly 74k asset ids at the time. Book events carry the full ladder, a median of 35 bid levels and a maximum of 312, and every one of the 74M rows carries a best bid and best ask with no nulls. Both the venue timestamp and a local capture timestamp are present at millisecond precision. The whole archive is 190 billion rows (190,093,345,724) in 2,680 files, 1.0 TB, growing 11 GB a day, with a genuine long tail: Venezuelan politics, Indian IPOs, Cook Islands elections, sub-$100 football props. That is more rows than Telonex's claimed "100B+ data points". The free archive is larger than the largest paid vendor. (A note on the older v1 archive: its "0.0 MB" listing was an index rendering bug; v1 is real, about 325 GB, and starts 2026-02-21.)

Three defects, all measured, all worst for microstructure work

First, completeness is unaudited and imperfect. Row-level completeness is about 98.6%, but 62 hours (2.3%) sit below 60% of baseline and 7 below 25%. The instructive case is the hour 2026-05-22T17: 220,723 rows across 712 asset ids, 0.3% of normal, yet its timestamps span 17:00:00.326 to 17:59:59.833. A full-looking hour with a full-looking range and almost no data, which a min/max gap check will never catch. There are no manifests, no checksums, no historical gap record, and the advertised gap-telemetry dashboard returned 0 documents. Their claim that a missing hour means zero events is falsified by the neighbouring hours, which held 44.2M and 29.6M rows.

Second, a ten-second content-hash dedup drops repeated book states. It is in their collector's source (DEDUP_TTL_SECONDS, default 10). Measured live on hot assets: 1,514 of 21,384 entries, 7.08%, gone. That is exactly the quote-flicker pattern, a level added, removed and re-added, that arbitrage detection exists to catch.

Third, the venue's own hash field is deliberately excluded (EXCLUDE_HASH in the collector config). It is the one field that lets a consumer verify book-state continuity, and there is no sequence number in its place. Our guide to that hash explains what it covers and why a consumer wants it.

2026-08-03
vendor register

The vendors

Ten operators were live on the assessment days, and one more, Oddpool, surfaced in the verification pass the day after. Domain age is from RDAP, the Wayback column is the count of Internet Archive captures, third-party code use is a GitHub code search for the vendor's package or hostname with the hits read by hand, and revenue is whatever the vendor or a public tracker discloses.d

d Traction sources: RDAP for domain registration dates, the Wayback Machine CDX index for capture counts, the GitHub code-search API, the Discord invite API for member counts, trustmrr for self-reported revenue, pypistats and the npm registry for downloads.
VendorDomain ageWaybackGenuine third-party code use [L]Community [L]Revenue evidenceScale
Tardis.dev7.1 yr (2019-06-12)374994 hits, 49 repos, including a first-class nautilus_trader adapterundisclosed; 9 academic papers cite itestablished business
Telonex10.4 mo656 hits, 21 repos, genuinely integratedpriced $49, then $79, then $199 in six months, plus enterprise tierstens of customers
Oddpoolself-reported $11k MRR, $51k lifetime (trustmrr) [D]missed by the first sweep; added 2026-08-04. Live odds, cross-venue analytics
pmxt (free)6.7 mo62,054 stars, 28 contributors, 30k downloads a monthDiscord 1,226free by design; sponsor-fundedreal open-source project, about zero paying
PolyHistorical4.5 mo00 hitsnoneMRR $870.19, lifetime $2,334 [L]about 30 subscribers (measured)
PolyBackTest7.1 mo275 hits, some real clients"5000+ traders", unsupportedsole operator, low tens
MarketLens4.9 mo114 hits, 7 repos, 1 genuine693 PyPI downloads a month; GitHub org two weeks oldsole operator, low tens
PolymarketData≤ 6.2 mo355 hits, about 1 to 2 real, the rest AI-generated survey notes295 PyPI downloads a month; SDK has one release eversole operator, pre-revenue
PolyTest5.0 mo15 weak hitsnonesole operator, pre-revenue
PMData2.6 mo046 hits, all false positivesDiscord 6nonesole operator, pre-revenue
DepthFeed1.9 mo04 hits, all noisenone; no social linksnonepre-revenue, with a credibility problem
PolyDatadead; the domain serves a Plesk panel [L]

Package downloads over the previous thirty days [L]: on PyPI, tardis-client 752,318, tardis-dev 727,476, pmxt 15,870, telonex 7,894, marketlens 693, polymarketdata-sdk 295; on npm, pmxtjs 14,317 and tardis-dev 8,669.

Claims that did not check out at the time of assessment

At the time of assessment, DepthFeed advertised a "public reproduction repository" under a GitHub account that did not exist; the repository and the whole owner account returned 404, and we ruled out rate limiting with same-session controls [L]. At the time of assessment, Telonex's PyPI page pointed at a GitHub repository that 404ed [L]; the owner was a Lithuanian individual, which sits awkwardly with terms under UK law and no published company number, and the domain was due to expire on 2026-09-22. At the time of assessment, PolymarketData's "researchers at LSE, Cornell, Yale, Boston University, Bocconi" was falsified: an OpenAlex full-text search found 0 papers, arXiv nothing, and the page carried logos only, one of them misspelled as cornel.png; the control query for Tardis returned 9 real papers [L].

Coverage and delivery

Universe size, book resolution, whether both outcome tokens are stored, when book history begins, and what is retained, per vendor. Where a vendor's marketing and its own spec or contract disagree, both are recorded.

VendorUniverseBook resolutionBoth tokensBook history fromRetention
Telonex2,472,491 markets [L]tick, book_snapshot_full; Binance and perps are 100 ms sampled with no _full [D]yes2025-10-11 off-chain; 2022-11-21 on-chain [L]keeps
Tardis.dev693,656 symbols [L]tick, incremental_book_L2yes2026-05-25keeps
PolymarketData1M+ markets, 19B rows1-minute only; "sub-minute doesn't exist… not planning to add it" [D]yesAug 2025 (earlier on enterprise terms)rolling by tier
MarketLens591,076 markets [L]; "one-off markets are not collected", so no elections [D]full ladder [L]; 1 ms deltasyes2026-03-01, continuous only from 04-13 [D]keeps
PMData200K or 260K (pages disagree)tickno: YES side only, NO derived [D]2026-01-26keeps
DepthFeed380K Polymarket, 900K Kalshievent-driven, verified (median 0.265 s gap) [L]; 36 real levels [L]no: down = 1 − up, proven by a float artefact [L]2026-01-01tiered; no commitment
Gabbatron archiver (ours)about 240k active universe [M]tick, byte-verbatim, every frameyesabout 2026-06-05 [M]retained in full while operated
PolyBackTest5,000 markets8 a second (about 125 ms) [D]yesrolling120 days, auto-purged
PolyHistorical13,000 resolved"300 ms", refuted by their own example (about 342 ms, 492 ms gap) [D] [A]mirroredrolling31 to 60 days

What one "request" means varies about a thousandfold between vendors, and the unit is diagnostic. For Telonex a request is one (exchange, channel, asset, day) Parquet file via a redirect to presigned object storage; "no rate limits" is marketing, and Terms §8 reserves request, download and concurrency limits [D]. For Tardis a request is one minute of NDJSON, so an exchange-day is 1,440 requests at 3,000 a minute, with 20, 60 or 240 TB of transfer by billing interval; their local replay server exists to absorb this. MarketLens meters returned rows per day (5M, 5B or unlimited), so the whole 27.87B-row archive is about 5.6 days of pulling on the Pro tier [A]. PolymarketData caps a request at 200 rows counted across all tokens, so a year of one-minute bars for a single token is 2,628 requests [A]. DepthFeed does not disclose its meter; a whoami call leaks the real dimensions, rolling 24-hour delivery bytes and history starts per minute, with no tier's budget published [L]. PolyHistorical hard-caps at 50,000 requests a day, so a full extraction is impossible by design. Serious vendors sell files and barely meter. Thin ones sell a metered JSON API where the metering is the moat.

Prices

VendorFree tierEntryTop published
pmxtCC BY 4.0, commercial use permitteda paid API at $29.99 and $99.99 sells query convenience, not volume
PolyHistoricalyes$17$44
PolyTestyes$17–29
PolyBackTestyes$19.90$709.90 dedicated (one coin, 120 days, 99% SLA)
DepthFeedyes, 7 days$29$249, with no SLA at all (Terms §3) [D]
MarketLensyes, non-commercial only [D]$39 a month or $348 a year$199 a month or $1,788 a year
PMDatatrial$49enterprise, price on application
PolymarketDatayes, no books$60$360 Ultra, unlimited lookback
Telonexmetadata plus 5 downloads$99$199 all venues
Tardis.devthe first day of each month$650$6,000 (Business); see the matrix
e The matrix is server-rendered on tardis.dev/#pricing: five data plans by four subscription types, all per month. Their Polymarket dataset page is documented here.

The Tardis price matrix [L]

Polymarket falls only under the All Exchanges plan.e The word appears zero times in the four category plans, and the tab descriptions say why: Perpetuals means perpetual swaps, Spot means spot instruments, Options means options, Derivatives means futures, swaps and options. A prediction market is none of those, so the only plan that covers it by definition is "all 50+ spot and derivatives exchanges". Polymarket data from Tardis therefore costs $650 to $6,000 a month.

Data planAcademicSoloProfessionalBusiness
Perpetuals$350$700$1,000$3,000
Options$350$700$1,000$3,000
Spot$450$900$1,350$3,500
Derivatives$450$900$1,350$3,500
All Exchanges (50+)$650$1,200$2,200$6,000
FeatureAcademic $650Solo $1,200Professional $2,200Business $6,000
Downloadable CSV filesyesyesyesyes
Raw data replay API (/data-feeds)yesyes
tardis-machine replay APIs (a local HTTP and WebSocket server)yesyes
Instrument metadata APIyesyes
Premium connectivityyesyes
Supportemail, 24 to 48 hpriority, 8 to 12 h
Integration assistanceyes
Active API keys111up to 10
Historical access (yearly billing)4 years4 years4 yearsall available
Data transfer20 TB a month, 240 TB a year20 TB a month20 TB a month60 TB a month, 720 TB a year

Academic is quarterly or yearly billing only, and Academic and Solo are CSV only, with no replay API at all. The line that matters is the third row: tardis-machine, the local WebSocket replay server that lets one parser serve backtest and live, is gated at $2,200 a month, and it is the capability we later identify as the only unoccupied ground for Polymarket. The one vendor who ships it anywhere prices it at that level bundled across fifty venues.

Retention is independently priceable: $60 and $360 at PolymarketData buy the same data at the same granularity and differ only in lookback, 30 days against unlimited. PolyBackTest sells 31, 60 or 120 days as a slider; DepthFeed 7, 30, 90 days or full. Nobody permits redistribution on any tier. Tardis allows derived data only at ten-minute resolution or coarser. Telonex forbids it even on Enterprise. PolymarketData is the harshest: §8.3 of its terms bars reconstructing a dataset "whether for internal reuse", and §8.4 caps caching at 24 hours, so a subscriber can never accumulate an archive.

Completeness disclosure

Nobody but Tardis has a mechanism.

VendorMechanism
Tardis.devThe only real one. In-band empty-line disconnect markers; a machine-readable incidentReports[] with a real disclosed outage (2026-06-23 19:32 to 19:37, "transient London recorder network disruption"); per-symbol per-day availableSince and availableTo; and honest framing: "~99.9%… historical observations, not guaranteed service levels" and "gaps are permanent" [L]. One edge: the CSV exports strip the markers [D].
Gabbatron archiver (ours)Per-market coverage-lifecycle markers in every format, byte-verbatim frames, a parsed layer whose row counts are checked against the raw one, two listeners.
PolyBackTestNo mechanism, but honest prose in at least six places: "a 120-day entitlement is an access limit, not a guarantee that every market has a complete backfill" [D].
TelonexNone. A {from_date, to_date} pair only, which structurally cannot express an interior gap; verified three ways including a DESCRIBE on the real 1.36 GB markets file [L]. Admits pre-2026-01-19 gaps in prose. "PIT accuracy" is Enterprise-only with no methodology.
MarketLensAdvertises a temporalCoverage field that does not exist [L]. Real gap information lives only in the AI-facing llms.txt. An is_reseed flag exists, is undocumented, and their own SDK ignores it [L].
PMDataChangelog prose is the de-facto disclosure, and it documents silent multi-month corruption: before 2026-03-28 the outcome=no price was exported as 1 − true_price [D].
DepthFeedNone: 23 probed routes returned 404; no status page; floors published for 1 of 4 venues. Real gap data exists only inside a benchmark CSV, which reveals that Limitless had a 5-day total outage [L].
PolymarketDataNone; gaps are silent by construction. Marketing claims one-to-one fidelity; its own terms §13.1 and §13.2 disclaim completeness [L].
PolyHistoricalNone whatsoever [D].

Two structural gaps run through the whole field. There is no ordering primitive: at MarketLens 35% of consecutive event pairs share the same millisecond, ordering survives only as array position, and there are no sequence numbers and no checksums [L]; Telonex has no sequence field for Polymarket at all; pmxt strips the venue's hash; both use microsecond-typed fields carrying millisecond data. And there is almost no political or event-market book history. MarketLens collects no one-off markets at all. PolymarketData starts in August 2025, so it holds no 2024 election at any published price. Five vendors are crypto-only. Tardis starts 2026-05-25. Nobody holds order books for the 2024 US election cycle.

2026-07
builder program

Builder codes

The second business model we tested was a quant toolkit paid for by builder fees, and it needed its own measurement. The mechanism is real: a bytes32 builder code in the signed order struct, present in every OrderFilled event, with fees up to 100 bps taker and 50 bps maker, a gasless relayer, free and permissionless, no custody [D].f Attribution is trustless. Payout is an off-chain promise the venue can revoke "for any reason or no reason" [D].

Two measurement traps, both verified [L]. The leaderboard's headline figures are calendar-month-to-date rather than trailing thirty days, and its "volume" is denominated in shares rather than dollars; the pooled average price was 0.421, so dollar notional is about 42% of the headline, and applying basis points to the headline overstates revenue about 2.4 times. Real rates are computable from an undocumented public CLOB endpoint that exposes the builder fee per trade [L].

Across 205 active builders the rate distribution is bimodal: 47% charge 0 bps and 29% charge exactly the 100 bps cap, for a volume-weighted average of 18.7 bps. Program economics for July 2026: 1.345B shares, about $567M notional, about $1.1M a month in total builder fees across 282 builders. The top 12 take 83%; MetaMask alone 23%; 100 of 205 earn exactly $0; only 18 earn more than $10k a month.

Fee tolerance falls as users get more sophisticated

f The venue's own documentation: builders overview, fees, tiers. The on-chain side is the OrderFilled event on the CTF exchange contract on Polygon.
Volume per active usernmedian bpsshare at 0 bpsshare at 50 bps or more
under $2k413534%41%
$2k to $10k607530%57%
$10k to $50k32056%19%
$50k to $250k11073%0%
over $250k11073%0%

Among the 22 builders above $50k of volume per active user, none charges 50 bps or more. A quant toolkit attracts exactly the segment that pays zero. Both close precedents declined the model: NautilusTrader hardcodes a non-overridable builder code, applied unconditionally with tests asserting its presence, and charges 0 bps, forgoing about $25k to $45k a month; SpreadCore, an arbitrage terminal with about 100 users, charges 5 bps and monetises by subscription instead. New entrants fare worse. Across 258 builders in the December 2025 to March 2026 cohorts, median monthly shares decay 1,635, 9,174, 6,485, 1,237, 114, then 0 by month six, with 56% at zero; at the 100 bps cap that is a median of about $0 a month, p75 about $500 to $670, p90 about $3k to $5k. Of 467 builders ever, 79% never reach $1M shares a month.

The counterexample is Polymtrade: $57.9M shares, 10,199 users, 50 and 25 bps, about $112k a month at the upper bound. A tool can monetise at scale as a retail-ish terminal with ten thousand users, which is a different business from a quant toolkit with a hundred. Eight builders exceed the documented cap (MetaMask, RedotPay and blockchain.com at 400 bps, Zengo 333, Axiom 300), all wallets, exchanges or established terminals on negotiated partner terms, zero independents. And the addressable market is smaller than it looks: we verified live that Australia, the United States, the United Kingdom, Canada, France, Germany, Italy, Singapore, Poland, Brazil, Belgium, Thailand, Taiwan and Russia are all close-only [L], so most of the developed retail market cannot open positions.

One later correction, made after the audit and recorded here so the builder-code leg is stated fairly: the venue also pays Verified-tier builders weekly rewards from a venue-funded pool, pro-rata by attributed volume, live since 2025-11-02. That re-explains the 0 bps equilibrium (the toolkits are pool-subsidised) and means "a toolkit cannot monetise via builder codes" does not follow from "users will not pay fees". The pool size is undocumented, the tier is discretionary and revocable, and pro-rata by volume still pays a cold-start entrant about nothing. The leg is unmeasured rather than dead.

2026-08-05
growth measured

What it cost us

The first pass at this question priced the market and forgot to price the supply. Here is the supply side, providers and prices only.

At full-universe width the two listeners together produced 672 GB a day of gzipped frames, measured on 2026-08-05, or about 350 GB a day if the two listeners' copies are deduplicated against each other.g A second measurement a week later, from the storage bucket's own size metric across nine daily readings, gave 0.60 to 0.79 TB a day with a mean of about 0.68 TB a day and 11.811 TB in the bucket on 2026-08-11 [M]. Call it 20 TB a month, growing, for as long as the collector runs.

The archive lived on AWS S3 Standard in us-east-1, which was the right first choice for a collector that had to exist before it had to be cheap: ingress from Europe is free, the SDK is the reference one, and the object store is the only copy so its durability story mattered. Standard storage is $0.023 a GB-month there, $23 a TB-month, with a lifecycle rule moving objects to Glacier Instant Retrieval at 90 days. At 15 TB a month of new data that added about $350 a month of new Standard spend every month. Egress was the killer, not storage. AWS charges $0.09 a GB for the first 10 TB a month out to the internet, then $0.085, $0.07 and $0.05 in tiers, so pulling one full copy of a 40 TB archive back out to a European box costs more than three months of storing it, and a serving business is a business of pulling data out.h

g Two listeners subscribe to the same universe over independent connections so the captures can be compared; the second copy is what makes the timestamp and outage results on the archiver page possible.h Egress means data leaving the provider's network, billed per gigabyte; the concept has a short Wikipedia treatment. AWS's S3 pricing page renders from its bulk price-list API, which is where the rates here were read on 2026-08-03.

The zero-egress providers

On 2026-08-03, and again in a gap-filling sweep on 2026-08-11, we priced every object-storage provider we could find whose egress is free or bundled, all from official pricing pages or price APIs on the day. Live, instant-access storage, per TB-month, US dollars at €1 ≈ $1.10 where the list price is in euros:

ProviderStorage, $/TB-monthEgressCaveats we recorded
AWS S3 Standard, us-east-1 (where we were)23.55$0.09/GB first tier, then $0.085, $0.07, $0.05the price we were paying; egress dominates any serving load
AWS S3 Glacier Deep Archive, us-east-11.01same tiers, plus a restore fee180-day minimum, 12 to 48 hour restore; the cheapest keep-forever tier anywhere, and a bulk restore of a year's 365 TB is about $941 before egress
Cloudflare R2 Standard15.00$0, no destination conditionthe only unconditional zero-egress option at hyperscaler-adjacent scale; no archive class
Backblaze B26.95free up to 3× monthly stored volume, then $0.01/GBregion fixed at account creation (EU is Amsterdam); no minimum duration
Wasabi7.99free while monthly egress ≤ stored volume90-day minimum storage charge; the fair-use line sits exactly where a serving workload lives
Hetzner Object Storage5.49 to 7.101 TB included, then €1/TB; internal traffic to Hetzner boxes freetwo of Hetzner's own pages disagreed (€4.99 vs €6.47); 100 TB per bucket; no published durability figure; short track record
Scaleway Standard (multi-AZ)17.6775 GB free, then €10/TBGlacier tier at $2.79 with a €9/TB restore
OVHcloud Standard8.11$0 outside APACCold Archive (tape) at $2.00 with a 180-day minimum, container-level archiving and a 30-day read window; contradictory egress wording between a 2023 release and the 2026 pages
Storj7.00$7/TB30-day minimum; decentralised node network; egress-priced, so the wrong shape here
IDrive e26.00free up to 3× stored volume a month, then $0.01/GBthe cheapest live storage found in the whole sweep; no minimum duration; 15 regions including two in Frankfurt; a consumer-backup company with a thin enterprise track record
Contabo11.96unlimited, bundledtwo regions; no published durability SLA
UpCloudabout 20unlimited, bundledpricing rested on search-snippet corroboration, not a direct page fetch
Tigris Data20.00$0, no fair-use clause anywhere in its termsthe priciest storage in the set
Leaseweb (committed)about 14.85metered from the first bytethe only mid-tier provider that publishes an eleven-nines durability figure
2026-08-12
3-month comparison

The decision that actually had to be made was smaller than "where should the archive live forever": what is the cheapest place to keep it for the next three months while we found out whether anyone wanted it, with egress bounded at less than one full copy a month. Modelled from the measured 0.68 TB a day, so 22.7, 43.1 and 63.5 TB average held in months one, two and three, 129.3 TB-months in all, and with the egress ceiling set at one full copy a month:i

i Request and operation charges are left out of these totals; at this object count (large hourly files, not millions of small objects) they were under $5 a month for every option. AWS egress here uses the tiered rates with 1 TB taken as 1,000 GB, which is how the $10,938 ceiling reproduces.
WhereStorage, 3 monthsEgress at the ceilingTotal
AWS S3 Standard, as it was$2,974$10,938$2,974 to $13,912
Hetzner Object Storage plus a Cloudflare R2 replica for serving$2,650 to $2,858about $64 replication; $0 out of R2$2,714 to $2,922, flat
Backblaze B2$899$0 within the 3× cap$899
Hetzner Object Storage aloneabout $918about $139 beyond the free 1 TB a monthabout $1,057
Wasabi$1,033$0 if the 1× fair-use line is not tripped$1,033, at the edge of its terms
Contabo$1,546$0$1,546
IDrive e2$776$0 within the 3× cap$776
2026-08-15
moved

IDrive e2 won by a wide margin, about 74% cheaper than the S3 storage-only floor and up to 94% cheaper than S3 at the egress ceiling, with no minimum retention to walk away from. We ran a pilot from both capture boxes on 2026-08-15 (504.4 MB/s aggregate upload from one box and 151.6 MB/s from the other, at four concurrent 100 MB objects, against a combined ingest of about 7.9 MB/s), pointed the new fleet's uploads at it, and switched off the old boxes. The collector's storage client already spoke to any S3-compatible endpoint; the migration was configuration.

The chart below runs the same arithmetic forward over twelve months at the measured rate, storage only, so the shape of the problem is visible: at 20.4 TB a month the archive holds 1,468.8 TB-months over the year, and every provider's line is just its rate times that. The S3 line with the egress ceiling added is the one that ended the "keep it on AWS and serve from there" idea.

fig 1 · cumulative storage cost, twelve months at 20.4 TB a month
Cumulative storage cost over twelve months at 20.4 TB a month of new data: S3 Standard reaches about $33,800, R2 about $22,000, Contabo about $17,600, Wasabi about $11,700, Hetzner about $10,400, Backblaze B2 about $10,200, IDrive e2 about $8,800, and Glacier Deep Archive about $1,500. With one full copy pulled out of S3 each month the S3 line reaches about $140,900. month $35k $25k $15k $5k $0 14710 S3 Standard $33,782 S3 + egress $140,930 ↑ R2 $22,032 Contabo $17,567 Wasabi $11,736 Hetzner $10,428 B2 $10,208 IDrive e2 $8,813 Deep Archive $1,483
Rates: S3 Standard $23 (the $0.023 a GB rate per 1,000 GB, as the three-month comparison used), R2 $15, Contabo $11.96, Wasabi $7.99, Hetzner $7.10, B2 $6.95, IDrive e2 $6, Deep Archive $1.01 per TB-month. With one full copy pulled out of S3 each month the S3 line ends at $140,930.
Cumulative cost of holding the archive for twelve months from an empty bucket, storage only, at the measured 0.68 TB a day (20.4 TB a month, billed on the average volume held each month). Egress is excluded except for the S3 ceiling line, which adds one full copy a month at the tiered rates. Providers with a fair-use cap on egress (B2, Wasabi, IDrive e2) hold their storage price only while pulls stay inside the cap. Rates as published on 2026-08-03 and 2026-08-11; growth measured 2026-08-12. With JavaScript, the buttons add or remove lines.
2026-08-03
serving estimate

Storing the archive is the cheap part. Serving it is the expensive part, and it is the part a data business must do. The platform study of 2026-08-03 priced five end-to-end architectures for landing, processing, archiving and serving 1 to 5 TB a day, and the cheapest of them, a hybrid of Hetzner landing storage, a small ARM processing box, a Cloudflare R2 replica fronted by Cloudflare's CDN for the serving egress, and two independent archive copies (Glacier Deep Archive plus OVH Cold Archive), came to about $1,540 a month by the end of the first year, about $990 a month averaged over that year, and then about $90 a month more with every month that passed, because the keep-forever archive grows forever. All-AWS came to about $1,660 a month at 1 TB a day of serving and about $5,150 a month at 5 TB a day, almost all of the difference being egress.j

Set that against the demand side. Nine independent operators over eleven months showed about $10k a month of visible revenue between them, and adding Oddpool, which the sweep had missed, lifts the field to at least about $21k a month. That figure is a loose lower bound, since enterprise and over-the-counter revenue is invisible by construction, but the structure it shows is clear: the revenue attaches to live, cross-venue tooling (Oddpool, SpreadCore), and historical single-venue bulk earns about nothing (PolyHistorical, flat at $870 a month). The cost of running the platform and the visible revenue of the entire field are the same order of magnitude. That is the sentence that decided it.

j Serving from R2 behind Cloudflare's CDN on a custom domain is explicitly permitted for large files by the current service-specific terms and costs about $30 to $70 a month whether one or five terabytes a day go out; the older trick of serving Backblaze B2 through Cloudflare's free tier is now against the written terms. Every other serving path in the study scaled with volume.

What survived

Three business models, three verdicts. Selling historical order books is dead: pmxt gives away equivalent or better data free, commercial use permitted, and holds more of it than the largest paid vendor. A quant toolkit monetised by builder fees is dead as a self-serve business: the segment it attracts pays zero, twice demonstrated, though the pool-reward leg is unmeasured. Competing with Telonex on breadth or history is losing: they hold 2.47M markets and ten months of book history to our eight weeks at the time, and by 2026-08-04 they had gone multi-venue (Polymarket perpetuals, Predict.fun, Binance spot) and were pitching institutions directly, occupying the one vertical position the first draft had left open.

What is left is narrow and specific. The free archive has a 99.7%-empty hour that looks structurally intact, a ten-second dedup that drops about 7% of book states on hot assets, and the venue's continuity hash stripped, and all three defects bite hardest on arbitrage and microstructure work. So the one defensible claim is fidelity of that grade: every book state, no dedup, continuity verifiable, gaps auditable. The one unoccupied technical position is a Polymarket-native WebSocket replay server, the thing Tardis gates at $2,200 a month across fifty venues and nobody ships for this venue alone, and byte-verbatim frames are its precondition. Corporate standing turned out to matter too. MarketLens's own terms describe it as "operated by Paweł Fijałkowski, an individual based in Poland… not currently operated through a registered business entity"; Telonex publishes no company number; DepthFeed was seven weeks old with a fabricated repository; PolyBackTest's governing-law clause is blank; PMData is a university student under Chinese law. Gabbatron Pty Ltd, registered and GST-registered since 2013, was the only registered company we could identify in the field.

None of that is evidence that anyone pays for it for this venue specifically, and the audit's own recommendation was to find out cheaply rather than build: publish the engineering and the research, name the three things we could provide, and count the inbound. This page, and the archiver page beside it, are that test. The capture fleet was shut down in September 2026. The software is complete, tested and idle.

Three questions no further desk research can settle, recorded as they stood: whether a provenance-buying segment exists for Polymarket specifically; what SpreadCore actually sells, to whom and at what price, since it is the one vendor that chose subscriptions over builder fees and appears to work; and whether a venue-native replay server changes the calculus once unbundled from forty-nine other venues.

Sources

Primary documents, specifications and live probes. PolymarketData: its OpenAPI document, pricing page and terms. Telonex: llms.txt, docs, Polymarket coverage page, its live availability and datasets endpoints, and the free 1.36 GB markets Parquet file. Tardis: llms.txt, Polymarket dataset page, CSV datasets, HTTP API, and its live exchanges endpoint. DepthFeed: docs, llms.txt, liquidity benchmark, its v3 API and MCP server. MarketLens: its OpenAPI document, the marketlens-1.6.2 source distribution, its stats endpoints and compare page. PMData: docs and pricing. PolyBackTest: llms.txt and its OpenAPI document. PolyHistorical: its llms-full.txt. Builder program: the venue's overview, fees and tiers pages, builders.polymarket.com, the data API's leaderboard and volume endpoints, the CLOB builder-trades endpoint, OrderFilled events on Polygon, and the NautilusTrader source. pmxt: archive.pmxt.dev, a 445 MB hourly file, pmxt.dev/pricing, the collector's public source, and a control subscription to the venue's market WebSocket. Traction: RDAP, Wayback CDX, OpenAlex, arXiv, the GitHub API, the Discord invite API, trustmrr, pypistats, the npm registry. Costs: the AWS price-list bulk API, Google Cloud and Azure price pages and APIs, and the pricing pages of every provider named above, all read on 2026-08-03 or 2026-08-11. Our own measurements: the archiver's decision records and analyses, described on the archiver page.

What's available

The archiver is not open source. It is available as:

  • Operated capture. We run the collector against the venues you name, writing into a bucket you own, with the completeness markers and manifests described above.
  • Replay server. A Polymarket-native WebSocket replay of captured frames, so one parser serves backtest and live.
  • Source licence. For teams who want to run it themselves.

Pricing on enquiry. Write to archiver@gabbatron.com.au.

Email us about the archiver

This work was designed, built and operated by Gabbatron Pty Ltd, an independent Australian software company (ABN 98 163 064 524) based in Mackay, Queensland. General enquiries: info@gabbatron.com.au.