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.
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.
DESCRIBE on it is also how we established their completeness disclosure has no way to express an interior gap.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].
| Gap between consecutive venue timestamps | pmxt archive | live venue WebSocket |
|---|---|---|
| p25 | 3 ms | 4 ms |
| p50 | 16 ms | 28 ms |
| share of gaps under 5 ms | 30.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.)
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.
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
| Vendor | Domain age | Wayback | Genuine third-party code use [L] | Community [L] | Revenue evidence | Scale |
|---|---|---|---|---|---|---|
| Tardis.dev | 7.1 yr (2019-06-12) | 374 | 994 hits, 49 repos, including a first-class nautilus_trader adapter | undisclosed; 9 academic papers cite it | established business | |
| Telonex | 10.4 mo | 6 | 56 hits, 21 repos, genuinely integrated | priced $49, then $79, then $199 in six months, plus enterprise tiers | tens of customers | |
| Oddpool | self-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 mo | 6 | 2,054 stars, 28 contributors, 30k downloads a month | Discord 1,226 | free by design; sponsor-funded | real open-source project, about zero paying |
| PolyHistorical | 4.5 mo | 0 | 0 hits | none | MRR $870.19, lifetime $2,334 [L] | about 30 subscribers (measured) |
| PolyBackTest | 7.1 mo | 2 | 75 hits, some real clients | "5000+ traders", unsupported | sole operator, low tens | |
| MarketLens | 4.9 mo | 1 | 14 hits, 7 repos, 1 genuine | 693 PyPI downloads a month; GitHub org two weeks old | sole operator, low tens | |
| PolymarketData | ≤ 6.2 mo | 3 | 55 hits, about 1 to 2 real, the rest AI-generated survey notes | 295 PyPI downloads a month; SDK has one release ever | sole operator, pre-revenue | |
| PolyTest | 5.0 mo | 1 | 5 weak hits | none | sole operator, pre-revenue | |
| PMData | 2.6 mo | 0 | 46 hits, all false positives | Discord 6 | none | sole operator, pre-revenue |
| DepthFeed | 1.9 mo | 0 | 4 hits, all noise | none; no social links | none | pre-revenue, with a credibility problem |
| dead; 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.
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].
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.
| Vendor | Universe | Book resolution | Both tokens | Book history from | Retention |
|---|---|---|---|---|---|
| Telonex | 2,472,491 markets [L] | tick, book_snapshot_full; Binance and perps are 100 ms sampled with no _full [D] | yes | 2025-10-11 off-chain; 2022-11-21 on-chain [L] | keeps |
| Tardis.dev | 693,656 symbols [L] | tick, incremental_book_L2 | yes | 2026-05-25 | keeps |
| PolymarketData | 1M+ markets, 19B rows | 1-minute only; "sub-minute doesn't exist… not planning to add it" [D] | yes | Aug 2025 (earlier on enterprise terms) | rolling by tier |
| MarketLens | 591,076 markets [L]; "one-off markets are not collected", so no elections [D] | full ladder [L]; 1 ms deltas | yes | 2026-03-01, continuous only from 04-13 [D] | keeps |
| PMData | 200K or 260K (pages disagree) | tick | no: YES side only, NO derived [D] | 2026-01-26 | keeps |
| DepthFeed | 380K Polymarket, 900K Kalshi | event-driven, verified (median 0.265 s gap) [L]; 36 real levels [L] | no: down = 1 − up, proven by a float artefact [L] | 2026-01-01 | tiered; no commitment |
| Gabbatron archiver (ours) | about 240k active universe [M] | tick, byte-verbatim, every frame | yes | about 2026-06-05 [M] | retained in full while operated |
| PolyBackTest | 5,000 markets | 8 a second (about 125 ms) [D] | yes | rolling | 120 days, auto-purged |
| PolyHistorical | 13,000 resolved | "300 ms", refuted by their own example (about 342 ms, 492 ms gap) [D] [A] | mirrored | rolling | 31 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.
| Vendor | Free tier | Entry | Top published |
|---|---|---|---|
| pmxt | CC BY 4.0, commercial use permitted | a paid API at $29.99 and $99.99 sells query convenience, not volume | |
| PolyHistorical | yes | $17 | $44 |
| PolyTest | yes | $17–29 | |
| PolyBackTest | yes | $19.90 | $709.90 dedicated (one coin, 120 days, 99% SLA) |
| DepthFeed | yes, 7 days | $29 | $249, with no SLA at all (Terms §3) [D] |
| MarketLens | yes, non-commercial only [D] | $39 a month or $348 a year | $199 a month or $1,788 a year |
| PMData | trial | $49 | enterprise, price on application |
| PolymarketData | yes, no books | $60 | $360 Ultra, unlimited lookback |
| Telonex | metadata plus 5 downloads | $99 | $199 all venues |
| Tardis.dev | the first day of each month | $650 | $6,000 (Business); see the matrix |
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 plan | Academic | Solo | Professional | Business |
|---|---|---|---|---|
| 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 |
| Feature | Academic $650 | Solo $1,200 | Professional $2,200 | Business $6,000 |
|---|---|---|---|---|
| Downloadable CSV files | yes | yes | yes | yes |
Raw data replay API (/data-feeds) | yes | yes | ||
tardis-machine replay APIs (a local HTTP and WebSocket server) | yes | yes | ||
| Instrument metadata API | yes | yes | ||
| Premium connectivity | yes | yes | ||
| Support | email, 24 to 48 h | priority, 8 to 12 h | ||
| Integration assistance | yes | |||
| Active API keys | 1 | 1 | 1 | up to 10 |
| Historical access (yearly billing) | 4 years | 4 years | 4 years | all available |
| Data transfer | 20 TB a month, 240 TB a year | 20 TB a month | 20 TB a month | 60 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.
Nobody but Tardis has a mechanism.
| Vendor | Mechanism |
|---|---|
| Tardis.dev | The 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. |
| PolyBackTest | No 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]. |
| Telonex | None. 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. |
| MarketLens | Advertises 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]. |
| PMData | Changelog 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]. |
| DepthFeed | None: 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]. |
| PolymarketData | None; gaps are silent by construction. Marketing claims one-to-one fidelity; its own terms §13.1 and §13.2 disclaim completeness [L]. |
| PolyHistorical | None 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.
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.
OrderFilled event on the CTF exchange contract on Polygon.| Volume per active user | n | median bps | share at 0 bps | share at 50 bps or more |
|---|---|---|---|---|
| under $2k | 41 | 35 | 34% | 41% |
| $2k to $10k | 60 | 75 | 30% | 57% |
| $10k to $50k | 32 | 0 | 56% | 19% |
| $50k to $250k | 11 | 0 | 73% | 0% |
| over $250k | 11 | 0 | 73% | 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.
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
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:
| Provider | Storage, $/TB-month | Egress | Caveats we recorded |
|---|---|---|---|
| AWS S3 Standard, us-east-1 (where we were) | 23.55 | $0.09/GB first tier, then $0.085, $0.07, $0.05 | the price we were paying; egress dominates any serving load |
| AWS S3 Glacier Deep Archive, us-east-1 | 1.01 | same tiers, plus a restore fee | 180-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 Standard | 15.00 | $0, no destination condition | the only unconditional zero-egress option at hyperscaler-adjacent scale; no archive class |
| Backblaze B2 | 6.95 | free up to 3× monthly stored volume, then $0.01/GB | region fixed at account creation (EU is Amsterdam); no minimum duration |
| Wasabi | 7.99 | free while monthly egress ≤ stored volume | 90-day minimum storage charge; the fair-use line sits exactly where a serving workload lives |
| Hetzner Object Storage | 5.49 to 7.10 | 1 TB included, then €1/TB; internal traffic to Hetzner boxes free | two 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.67 | 75 GB free, then €10/TB | Glacier tier at $2.79 with a €9/TB restore |
| OVHcloud Standard | 8.11 | $0 outside APAC | Cold 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 |
| Storj | 7.00 | $7/TB | 30-day minimum; decentralised node network; egress-priced, so the wrong shape here |
| IDrive e2 | 6.00 | free up to 3× stored volume a month, then $0.01/GB | the 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 |
| Contabo | 11.96 | unlimited, bundled | two regions; no published durability SLA |
| UpCloud | about 20 | unlimited, bundled | pricing rested on search-snippet corroboration, not a direct page fetch |
| Tigris Data | 20.00 | $0, no fair-use clause anywhere in its terms | the priciest storage in the set |
| Leaseweb (committed) | about 14.85 | metered from the first byte | the only mid-tier provider that publishes an eleven-nines durability figure |
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
| Where | Storage, 3 months | Egress at the ceiling | Total |
|---|---|---|---|
| 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,858 | about $64 replication; $0 out of R2 | $2,714 to $2,922, flat |
| Backblaze B2 | $899 | $0 within the 3× cap | $899 |
| Hetzner Object Storage alone | about $918 | about $139 beyond the free 1 TB a month | about $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 |
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.
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.
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.
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.
The archiver is not open source. It is available as:
Pricing on enquiry. Write to archiver@gabbatron.com.au.
Email us about the archiverThis 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.