Skip to content
PROBORA

Predictions

Historical Predictions

Every published prediction with its outcome, wins and losses alike. Nothing is deleted or rewritten.

Overview

GET/v1/history/{asset}/{timeframe}
Developer PreviewPro plan and aboveapi.probora.xyz

Paginated history of predictions published before settlement, with outcomes, settlement prices and model versions. Nothing is deleted, nothing is rewritten.

Parameters

ParameterInTypeDescription
assetrequiredpathstringAsset symbol. One of BTC, ETH, SOL, XRP, DOGE, HYPE, BNB, GOLD, SILVER, OIL.Example: BTC
timeframerequiredpathstringWindow length. One of 5m, 15m, 1h, 4h, 1d.Example: 15m
agentquerystringFilter by agent slug.Example: meta
fromqueryISO-8601Only include windows starting at or after this instant.Example: 2026-11-01T00:00:00Z
toqueryISO-8601Only include windows starting before this instant.
limitqueryintegerPage size, 1–500. Defaults to 100.Example: 100
cursorquerystringOpaque pagination cursor returned as next_cursor.

Request

# export PROBORA_API_KEY=prb_live_…
curl "https://api.probora.xyz/v1/history/BTC/15m?agent=meta&limit=2" \
  -H "Authorization: Bearer $PROBORA_API_KEY"

Response

200 OK, returned as application/json. Example:

Response · 200
{
  "data": [
    {
      "market_id": "btc-15m-20261114-1945",
      "agent_slug": "meta",
      "direction": "UP",
      "up_probability": 0.64,
      "published_at": "2026-11-14T19:45:00.380Z",
      "settled_at": "2026-11-14T20:00:00.000Z",
      "price_to_beat": 76188.12,
      "settlement_price": 76230,
      "outcome": "UP",
      "result": "WIN",
      "model_version": "meta-btc15-v18"
    },
    {
      "market_id": "btc-15m-20261114-1930",
      "agent_slug": "meta",
      "direction": "UP",
      "up_probability": 0.58,
      "published_at": "2026-11-14T19:30:00.402Z",
      "settled_at": "2026-11-14T19:45:00.000Z",
      "price_to_beat": 76201.5,
      "settlement_price": 76188.12,
      "outcome": "DOWN",
      "result": "LOSS",
      "model_version": "meta-btc15-v18"
    }
  ],
  "next_cursor": "eyJ0IjoiMjAyNi0xMS0xNFQxOTozMDowMFoifQ",
  "data_mode": "live"
}

Response fields

FieldTypeDescription
dataarrayPage of results, newest first.
next_cursorstringOpaque cursor for the next page; null when there are no more results.
data_modestring"live" for real price sources, "demo" for the simulated network. The two are never mixed.

Fields of each item in data

FieldTypeDescription
market_idstringDeterministic market id {asset}-{timeframe}-{YYYYMMDD}-{HHMM} (UTC window start).
agent_slugstringAgent identifier used in paths and filters.
directionstringCalled direction: UP or DOWN.
up_probabilitynumberProbability that the window settles UP, in [0, 1].
published_atstring—
settled_atstring—
price_to_beatnumberProbora Price Index at the window start, rounded to the asset's tick size.
settlement_pricenumberProbora Price Index at the window end; null until settled.
outcomestringUP, DOWN, FLAT (exact tie) or VOID (index quorum not met); null while live.
resultstring—
model_versionstringFrozen model version that produced the prediction.

Errors

Errors use the standard error envelope. Codes this endpoint can return:

CodeStatusMeaning
invalid_request400Invalid request. A parameter is missing or malformed.
invalid_asset400Invalid asset. The asset symbol is not supported.
invalid_timeframe400Invalid timeframe. The timeframe is not one of 5m, 15m, 1h, 4h, 1d.
invalid_agent400Invalid agent. The agent slug is not recognized.
unauthorized401Unauthorized. The API key is missing, malformed or revoked.
plan_required403Plan required. Your plan does not include this endpoint or history depth.
rate_limited429Rate limited. Too many requests. Retry after the time in the Retry-After header.
internal_error500Internal error. Something went wrong on our side. The request id helps us investigate.

Pagination

  • Results are ordered by window start, newest first.
  • limit accepts 1–500 (default 100). Pass next_cursor back as ?cursor= to fetch the next page; it is null on the last page.
  • Cursors are stable: settled history is immutable, so pages never shift underneath you.
  • Combine from / to with agent to build backtests over exact periods.

Nothing is removed

Losing predictions are never deleted and published predictions are never edited. FLAT windows appear with result PUSH and VOID windows with result VOID; both are excluded from accuracy.

History depth by plan

PlanHistory depthHistorical analytics
Free7 days—
Pro90 daysIncluded
Trader365 daysIncluded
APIFull historyIncluded
EnterpriseFull historyIncluded

Requests reaching beyond your plan's depth return 403 plan_required.

Questions or feedback on the API? [email protected]