// PREDICT.FUN — SECOND VENUE, SAME API

Predict.fun historical data,
behind the same API.

Predict.fun sits behind the same API and the same key as Polymarket. Its raw files keep this venue’s own field names; the backtest runner is what maps them into the shared event model.

collecting since2026-06-13
Predict.fun assets·
included datasets4
shared with PolymarketAPI + key

What is in the archive

The two venues cover different assets, so nothing here carries over from the Polymarket page: call /v1/meta?venue=predict with your key for the assets, intervals and date range you actually have.
orderbook
Order-book snapshots (Predict.fun)
markets
Per-market metadata, strike and settlement outcome
prices
Settlement feed, tick by tick (instantaneous Chainlink stream)
klines
OHLC candles derived from the settlement feed, with a tick count — no trade volume; the settlement feed is a price feed

What is different about this venue

01

One book, and its own vocabulary

Predict.fun quotes a single normalised book; the other side is its mirror at 1−px. We archive it as it comes rather than fabricating a second ladder that never existed upstream — so the files you download carry this venue’s field names (market_id, category_slug, its own timestamp column), not Polymarket’s.

The backtest runner is where the two venues become one event model, so a strategy does not care which it is replaying. If you are parsing the raw files yourself, read each venue’s schema — they are documented separately because they are different.

02

Cross-venue on one clock

Both venues are captured with an upstream timestamp and our receive time kept apart, and archived on the same UTC day boundary, so the two line up without a clock-alignment step first. Collection runs next to each venue’s own infrastructure.

What does not line up is where they start: each venue has its own first complete archive day, and they are not the same date. Coverage is reported per venue for that reason, never merged.

How to pull it

Add venue=predict to the same endpoints. Nothing else about the call changes.
BASH
# list this venue’s files, newest day your key can reach
curl -H "Authorization: Bearer $OT_KEY" \
     "https://outcometick.com/v1/files?venue=predict&asset=btc"

# per-market metadata, strike and outcome
curl -H "Authorization: Bearer $OT_KEY" \
     "https://outcometick.com/v1/files?venue=predict&dataset=markets"

# download one — filter to the dataset you are naming the file after
URL=$(curl -s -H "Authorization: Bearer $OT_KEY" \
     "https://outcometick.com/v1/files?venue=predict&dataset=orderbook&asset=btc" \
     | jq -er '.files[0].url')
curl -L -H "Authorization: Bearer $OT_KEY" "$URL" -o orderbook.jsonl.gz

This venue has its own free sample. The Predict.fun sample archive is one real day of the same files, so you can read the schema and write your parser before deciding whether to buy anything.

Backtest against it too

The runner takes venue=predict and replays it in the same sealed sandbox, through the same event model — settling on this venue’s own price feed rather than Polymarket’s.

Related