Promethean Markets
Get access
Market data infrastructure

The certified record of prediction markets.

One pipeline from venue socket to signed download. Six sources collected continuously; every completed UTC day certified before it is sold.

availability → download → verify
$ export PM_API=https://api.promethean.markets
$ curl -sH "Authorization: Bearer $PM_KEY" \
"$PM_API/v1/availability?source=binance_spot" | jq '.days|length'
inception 2026-07-13 · 2 released · gapless ✓
$ curl -sH "…Bearer $PM_KEY" -o trades.parquet \
"$PM_API/v1/download?source=binance_spot&channel=crypto_trades&scope=BTC&day=2026-07-13"
253.4 MB · 3,346,374 rows
$ shasum -a 256 trades.parquet
0509c6fe5079163a6dffa9a4c6aa0412de25c68d9ee46374830bd087ea7ce3c2  trades.parquet
matches manifest.sha256 · 2026-07-13 certified
Binance spot2d captured24MrowsBinance USD-M futures2d captured34MrowsPolymarket Up/Down2d captured122MrowsPolymarket broad2d captured6MrowsPolymarket Chainlink RTDS2d captured9MrowsPredict.Fun2d captured18MrowsBinance spot2d captured24MrowsBinance USD-M futures2d captured34MrowsPolymarket Up/Down2d captured122MrowsPolymarket broad2d captured6MrowsPolymarket Chainlink RTDS2d captured9MrowsPredict.Fun2d captured18Mrows
6
Sources released
25
Up/Down selectors
100ms
Grid alignment
150/150
Trade partitions proven
One pipeline

Every completed UTC day runs the full chain.

The day is not released until all five gates pass, in order. A day that fails any gate is recovered and re-run — never skipped, never partially published.

01 Close gateswindow coverage · 100ms floors · freshness lineage
Each selector’s expected market windows are compared against what we observed — including the evidence-gated venue_unlisted disposition. Coverage floors require ≥95% fresh-or-usable with a missing count of exactly 0; a day that misses any floor does not advance.
02 On-chain trade reconciliationevery Polymarket partition proven vs Polygon OrderFilled
150 of 150 trade partitions have reconciled at every certification to date. Every trade row carries the transaction hash it was proven against, so you can spot-check it yourself on Polygon.
03 Artifact auditsschema · timestamp walls · value domains · manifest counts + SHA256
No lookahead is permitted: receive timestamps must be ≥ event timestamps. Row counts and SHA256 in every manifest must match the file exactly, and stable IDs must be unique.
04 Durable mirror + verificationmirrored to object storage, re-verified by SHA256 metadata
Hundreds of files per day are mirrored and then re-verified by their SHA256 metadata — never by trusting storage ETags. A single mismatch blocks the day from release.
05 Gapless promotion gateday D refused unless D-1 is released
The archive can only advance one contiguous day at a time. When a day goes red we recover it and re-run the chain; we never skip it or backfill silently.
What you get

Files, an API, and the means to check both.

Files

Day-partitioned Parquet — one file per source / channel / scope / day, each with a sibling manifest.

binance_spot/
crypto_trades/
BTC/
2026-07-13.parquet
2026-07-13.manifest.json
API

Bearer auth with keys prefixed pmk_. Four endpoints, released days only.

GET /v1/datasets
GET /v1/availability
GET /v1/download
GET /v1/manifest
Verification

Every file ships with a manifest. Re-hash it yourself; it equals the recorded SHA256.

{
"sha256": "0509c6fe5079163a6dffa9a4c6aa0412de25c68d9ee46374830bd087ea7ce3c2",
"row_count": 3346374,
"schema_fingerprint": "4f8b025ecbc7c9cc7b246eda92ff863437722d4c06af919760ff2e0d8cd2d7fc"
}
What it's for

Built to be re-run.

Evidence-grade history for the desks that stress-test it — where a result only counts if it survives being reproduced.

released dayyour modelreproducible result
01
Backtesting

Replay any released day deterministically — same bytes, same manifest, every run.

02
Model research

Per-row freshness and lag fields, so you train on exactly what was knowable at the time.

03
Settlement forensics

Reconstruct any Up/Down settlement from four vantage points on one UTC clock.

04
Cross-venue analysis

Compare Polymarket and Predict.Fun against the reference price and the oracle, aligned to 100ms.

Coverage

An unbroken run since 2026-07-13.

See full status →
2026-07-13released2026-07-14released
releasednot releasedcorrected
Released, last 2 days — by source
Binance spot
Binance USD-M futures
Polymarket Up/Down
Polymarket broad
Polymarket Chainlink RTDS
Predict.Fun
One clock

The same instant, four vantage points.

t = 2026-07-13T00:00:00.000Z
Binance spotBTC book
bid 63,776.94 / ask 63,780.00
Chainlink RTDSBTC oracle
63,741.15992
Polymarket Up/DownBTC 1h books
Up .08/.56 · Down .02/.46
Predict.FunBTC Up/Down books
.01/.56 · .01/.55

BTC and ETH are captured simultaneously across a reference exchange, the settlement oracle, and two prediction venues — every row on one UTC clock, so a settlement can be reconstructed from all four.

The failure surfaces

Data we won't sell you.

Candidates aren't for sale

Kalshi, Limitless, PancakeSwap Prediction and Polymarket US are in candidate collection. None is purchasable until it has its own certified days.

A red day is recovered

Missing data is a hard red, never silently patched. We recover the day and re-run the chain — we do not skip it or backfill quietly.

Venue gaps are disclosed

When a venue never listed an expected window, we say so — venue_unlisted, backed by recorded evidence, not patched over.

How certification works →
Quickstart

First file in under a minute.

Once you have a key: list released days, stream one, verify its hash. That's the whole loop.

Read the quickstart →
three curls
$ curl …/v1/availability?source=binance_spot | jq .days
$ curl -o t.parquet …/v1/download?…&day=2026-07-14
$ shasum -a 256 t.parquet # == manifest.sha256

Start with the catalog, or tell us the coverage you need.

In candidate collection — not yet for sale
KalshiLimitlessPancakeSwap PredictionPolymarket US