Promethean Markets
Log inGet started
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
re-incepting
Prior chain withdrawn — see corrections
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. The excerpt is the real 2026-07-17 close — the first LIVE venue_unlisted disposition: one ETH 15m window the venue provably never created, excused by a recorded hydration-attempt proof (docs/evidence/2026-07-18-autonomous-promotion-and-site-live-index.md).

FAILS WHEN → any selector below 95% fresh-or-usable, or missing_count > 0, or an unevidenced absent window.
coverage/2026-07-17.json
{
"full_day_claim": true,
"expected_windows": 2080,
"observed_windows": 2079,
"missing_expected_windows": 0,
"venue_unlisted_windows": 1,
"unlisted_proof_entries": 1, "ok": true
}
02

On-chain trade reconciliation

Every Polymarket trade partition is proven against the CTF-exchange OrdersMatched event on Polygon. 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, per-dataset timestamp walls (receive must not trail event, with the disclosed Predict.Fun clock-ahead exception stored honestly), value domains, manifest row counts and SHA256, and stable-ID uniqueness are all enforced against the written file.

FAILS WHEN → a wall violation, count mismatch, or a duplicate stable ID.
trades.manifest.json
{
"sha256": "79ef9ff6d7753d9c6b7afb9bc6ea6ab04fd0ed1ee7eeaed01c25d7058f5fc80f",
"row_count": 2805821,
"schema_fingerprint": "4f8b025ecbc7c9cc7b246eda92ff863437722d4c06af919760ff2e0d8cd2d7fc",
"min_event_ts_ms": 1784160000154,
"max_event_ts_ms": 1784246399212
}
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 0
sha256_reverified 0
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-17
predecessor 2026-07-16 = released
gates_passed 5/5
→ promote → released ✓ (2026-07-18, autonomous)
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.

The released chain restarts at the ten-source inception day. Every prior day was withdrawn to the public corrections ledger — nothing is sold that did not certify. View the corrections ledger →

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-19Released chain · six sourcesWITHDRAWAL
Ten-source launch reset: the pre-launch chain (2026-07-16..18) was withdrawn whole-day by operator policy; predict_fun orderbooks carried source_ts_ms=0 rows (zero-timestamp defect, fixed same day). The released lane stays empty until all ten sources certify green together — the new inception day starts the customer chain.
action → chain withdrawn → ten-source re-inception pending
2026-07-17Released chain · six sourcesRE-INCEPTION
Withdrew 2026-07-13 and 07-14 after the 2026-07-15 boundary-restart outage left that day unrecoverably red — a gapless chain cannot extend across a hole. The 2026-07-16 close passed every phase (2,080/2,080 expected windows) and became the new inception. No customer ever held a withdrawn day.
action → inception reset → 2026-07-16
2026-07-14Polymarket Up/Down · 5-minute windowsRE-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-12Polymarket Up/Down · 5-minute windowsVENUE_UNLISTED
The venue never created nine expected 5-minute windows — identified by retrospective forensic analysis (G-04), because the live hydration-attempt recorder only exists from 2026-07-15. Pre-recorder days keep hard-red semantics: without collection-time proof this day stays quarantined, never excused. The first LIVE evidenced disposition came on 2026-07-17 (see the close-gate excerpt above).
action → none — day quarantined; pre-recorder, no live evidence standard existed
2026-07-09Polymarket broad · censusRE-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: CTF-exchange OrdersMatched
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.