Promethean Markets
Get access
Verification

Refuse-to-release is the product.

Released days are the only days for sale. The chain below runs nightly on every completed UTC day — five gates, in order. A day that fails any gate is not released; we recover it and re-run, and every correction is dated on the ledger.

5
Gates, in order
150/150
Partitions proven, every day
gapless
Since 2026-07-13
The chain

What runs, what it checks, what makes it fail.

01

Close gates

Per selector, expected market windows are compared against what was observed — including the evidence-gated venue_unlisted disposition. 100ms coverage floors and freshness lineage are checked on every aligned row.

FAILS WHEN → any selector below 95% fresh-or-usable, or missing_count > 0.
coverage/2026-07-14.json
{
"full_day_claim": true,
"expected_windows": 2080,
"observed_windows": 2080,
"fully_book_tracked_windows": 2080,
"missing_expected_windows": 0,
"venue_unlisted_windows": 0, "ok": true
}
02

On-chain trade reconciliation

Every Polymarket trade partition is proven against Polygon OrderFilled events. Every trade row carries the transaction hash it was matched to, so you can re-check it yourself on-chain.

FAILS WHEN → any partition has an unproven or mismatched trade.
reconcile_summary.json
{
"partitions": 150, "proven": 150,
"unmatched": 0
}
03

Artifact audits

Schema contracts, timestamp walls (no lookahead: receive ≥ event), value domains, manifest row counts and SHA256, and stable-ID uniqueness are all enforced against the written file.

FAILS WHEN → receive < event, count mismatch, or a duplicate stable ID.
trades.manifest.json
{
"sha256": "0509c6fe5079163a6dffa9a4c6aa0412de25c68d9ee46374830bd087ea7ce3c2",
"row_count": 3346374,
"schema_fingerprint": "4f8b025ecbc7c9cc7b246eda92ff863437722d4c06af919760ff2e0d8cd2d7fc",
"min_event_ts_ms": 1783900800136,
"max_event_ts_ms": 1783987199920
}
04

Durable mirror + verification

Files are mirrored to object storage and re-verified by their SHA256 metadata — never by trusting storage ETags. Hundreds of files per day, every one re-checked after the copy.

FAILS WHEN → a single post-mirror SHA256 does not match.
mirror_verify.log
files_mirrored 624
sha256_reverified 624
etag_trusted 0
→ all objects verified ✓
05

Gapless promotion gate

Day D is refused unless D-1 is already released. The archive can only advance one contiguous day at a time — a customer never hits a missing day between inception and the latest release.

FAILS WHEN → D-1 is not released. D waits.
promotion.log
candidate 2026-07-14
predecessor 2026-07-13 = released
gates_passed 5/5
→ promote → released ✓
Gapless policy

One contiguous run. No silent gaps.

The D-1 rule holds the archive to a single unbroken run. When a day goes red we recover it and re-run the whole chain — pre-customer re-inceptions have happened and are listed below, in plain language.

2026-07-13released2026-07-14released
releasednot releasedcorrected
Corrections ledger

Every withdrawal and disclosure, dated.

We publish what we withdrew and why. venue_unlisted is recorded as evidence — a venue-side fact with a timestamped transcript — never as an apology for our own gap.

DateScopeTypeReason & action
2026-07-14 Polymarket Up/Down · 5-minute windows RE-INCEPTION
Withdrew 2026-07-10 and 07-11 after 2026-07-12 carried Up/Down windows the venue never created. The chain re-incepted at 2026-07-13, and no customer ever held a withdrawn day — these were pre-customer.
action → inception reset → 2026-07-13
2026-07-12 Polymarket Up/Down · 5-minute windows VENUE_UNLISTED
The venue never created nine expected 5-minute windows. We disclose this as a venue fact, never as our data — and only with recorded proof that we watched for the window across its whole life. Unevidenced absence stays hard red.
action → none — venue-side, not our gap
view evidence →
2026-07-12  polymarket_updown  5m  window 02:25:00–02:30:00Z
  hydration attempts: 58   first 02:25:04Z   last 02:29:56Z
  → window never listed by the venue
  disposition: venue_unlisted   (attempts span the full window)
2026-07-09 Polymarket broad · census RE-INCEPTION
Withdrew the certified 2026-07-07 and 07-08 when 2026-07-09 proved unrecoverable — a broad-universe census gap. Recovered and re-incepted rather than ship a break in the chain.
action → inception reset
Verify it yourself

Three checks you can run on any file.

01 · Re-hash the file
$ shasum -a 256 trades.parquet
$ jq -r .sha256 trades.manifest.json
# the two must be identical
02 · Recompute row counts
$ duckdb -c "select count(*)
  from 'trades.parquet'"
# equals manifest.row_count
03 · Spot-check a trade
# take any row's transaction_hash
$TX_HASH
# find it on Polygon: OrderFilled
Full recipes in the docs →
Language contract

The words, defined once.

released
A day that passed all five gates. The only days we sell.
collected
Captured but not yet certified. Never marketed as available.
candidate
A venue in collection with no certified days yet. Not purchasable.
100ms-aligned
Latest-prior alignment onto a 100ms grid; true density is disclosed per row via freshness fields.
stale-over-policy
A row whose freshest available value exceeds the staleness policy — flagged, never hidden.
venue_unlisted
The venue itself never listed an expected window. A recorded, timestamped venue fact — not our gap.