// PREDICT.FUN — ORDER BOOK SNAPSHOTS

Predict.fun order book data,
full-depth snapshots.

Snapshots of each market’s book as Predict.fun published it — both sides of the ladder at full depth, with the venue’s own order fields alongside and two clocks on every row. Snapshots only: this venue’s archive has no separate delta or trade stream, and this page says so up front.

collecting since2026-06-13
Predict.fun assets·
included datasets4
ladder format[price, size]

What ships with the books

The order books, plus what you need to read them against an outcome. Which assets, market periods and days YOUR key reaches comes back from /v1/meta?venue=predict.
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

A real order-book row

The first rows of a real Predict.fun order-book file from the sample day. The ladders are shortened for reading, with the real level count named.
BTC-5M-predict-orderbook-2026-09-08.jsonl.gz39.64 MB
{
  "market_id": 2060207,
  "category_slug": "btc-updown-5m-1788825600",
  "update_ts_ms": 1788825600047,
  "recv_ms": 1788825600097,
  "payload": {
    "asks": [
      [
        0.56,
        50
      ],
      [
        0.58,
        9
      ],
      [
        0.61,
        7
      ]
    ],
    "bids": [
      [
        0.52,
        6.250033333333333
      ],
      [
        0.51,
        26
      ],
      [
        0.5,
        16
      ]
    ],
    "version": 1,
    "marketId": 2060207,
    "orderCount": 295,
    "lastOrderSettled": {
      "id": "3265338980",
      "kind": "LIMIT",
      "side": "Bid",
      "price": "0.52",
      "outcome": "Yes",
      "marketId": 2060207
    },
    "updateTimestampMs": 1788825600047,
    "settlementsPending": {
      "asks": [],
      "bids": [
        [
          0.52,
          11.916649333333334
        ]
      ]
    },
    "_truncated": "showing 3 of 37 bids, 3 of 32 asks"
  }
}
{
  "market_id": 2059641,
  "category_slug": "btc-updown-5m-1788825300",
  "update_ts_ms": 1788825600090,
  "recv_ms": 1788825600154,
  "payload": {
    "asks": [
      [
        0.01,
        1970.6381004641005
      ],
      [
        0.02,
        51
      ],
      [
        0.03,
        154.09
      ]
    ],
    "bids": [],
    "version": 1,
    "marketId": 2059641,
    "orderCount": 270,
    "lastOrderSettled": {
      "id": "3265354192",
      "kind": "LIMIT",
      "side": "Bid",
      "price": "0.01",
      "outcome": "No",
      "marketId": 2059641
    },
    "updateTimestampMs": 1788825600090,
    "settlementsPending": {
      "asks": [],
      "bids": []
    },
    "_truncated": "showing 3 of 27 asks"
  }
}
sha256 02e52cf08d4cd3ce7deae9653e72ab2d864d98bdae37cf39b2015e2610ad3824

Opening rows from the real 2026-09-08 (UTC) files. The JSON is indented for reading and any over-long list of levels or changes shows its first three entries with the real count named; every other value is verbatim. The complete files: Predict.fun sample data download. The same sample is also on Kaggle (decompressed) and Hugging Face.

How to read this venue’s books

01

One normalised book per market

Predict.fun publishes a single book per market; the other outcome is its mirror at 1−px. The archive keeps that one ladder rather than fabricating a second one that never existed upstream — to price the other side, invert it yourself.

02

Full depth, the venue’s fields kept

Each snapshot carries bids and asks as [price, size] pairs at the depth the venue published, together with its own fields — orderCount, lastOrderSettled, settlementsPending, version — exactly as they arrived. Nothing is derived from them and nothing is dropped.

03

Snapshots, not deltas

Unlike the Polymarket archive, there is no stream of changes between snapshots, no separate top-of-book stream and no trade prints. What happened between two snapshots is not in the archive. Snapshots are captured at a cadence that has changed over the archive, so check the gap between rows before assuming it.

04

Two clocks on every snapshot

update_ts_ms is the venue’s own update time and recv_ms is when our collector received the frame, both in milliseconds and never merged into one stamp. The difference between them is yours to measure.

How to pull it

The same /v1/files call as every other dataset, with venue=predict and dataset=orderbook.
BASH
# list the BTC order-book files, newest day your key can reach
curl -H "Authorization: Bearer $OT_KEY" \
     "https://outcometick.com/v1/files?venue=predict&dataset=orderbook&asset=btc"

# download one
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

# best bid and ask of the first snapshot — by price, never by list position
gzip -dc orderbook.jsonl.gz | head -1 \
  | jq '{bid: (.payload.bids | max_by(.[0])), ask: (.payload.asks | min_by(.[0]))}'

You can read these books before buying any. The Predict.fun sample archive is one real day of the same files — run the jq line above against it.

Questions about Predict.fun order books

Does Predict.fun order book data include full depth?

Yes. Each snapshot carries both sides of the ladder as [price, size] pairs at the depth the venue published at that moment.

Is there delta or trade data for Predict.fun?

No. This venue is archived as order-book snapshots only — there is no separate delta, top-of-book or trade-print stream. The Polymarket archive is the one that carries those.

How do I get the best bid and ask?

Compute them from the snapshot — the highest bid price and the lowest ask price — rather than relying on the order of the lists. The jq line above does exactly that.

Which markets are covered?

Predict.fun’s crypto Up/Down markets only. /v1/meta?venue=predict lists the assets and market periods your key reaches.

Backtest against these books

The runner takes venue=predict and fills orders against these snapshots in a sealed sandbox, settling on this venue’s own price feed — priced per market-day scanned.

Predict.fun data by asset

Related