Skip to content
PROBORA

Predictions

Meta Agent

The Meta Agent's independent probability, with the Base Consensus it was built on.

Overview

GET/v1/predictions/{asset}/{timeframe}/meta
Developer PreviewTrader plan and aboveapi.probora.xyz

The Meta Agent's independent probability, learned on top of all specialists, including how reliable each specialist has been for that exact market and regime.

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

Request

# export PROBORA_API_KEY=prb_live_…
curl "https://api.probora.xyz/v1/predictions/BTC/15m/meta" \
  -H "Authorization: Bearer $PROBORA_API_KEY"

Response

200 OK, returned as application/json. Example:

Response · 200
{
  "asset": "BTC",
  "timeframe": "15m",
  "market_id": "btc-15m-20261114-2000",
  "price_to_beat": 76230,
  "agent": "Meta",
  "agent_slug": "meta",
  "status": "published",
  "direction": "UP",
  "up_probability": 0.671,
  "down_probability": 0.329,
  "confidence": 0.79,
  "historical_accuracy": 0.652,
  "sample_size": 48291,
  "model_version": "meta-btc15-v18",
  "prediction_timestamp": "2026-11-14T20:00:00.412Z",
  "settlement_timestamp": "2026-11-14T20:15:00.000Z",
  "data_mode": "live",
  "base_consensus": {
    "specialists_up": 7,
    "specialists_down": 2,
    "direction": "UP",
    "agreement": 0.778
  }
}

Response fields

FieldTypeDescription
assetstringAsset symbol, e.g. BTC.
timeframestringWindow length: 5m, 15m, 1h, 4h or 1d.
market_idstringDeterministic market id {asset}-{timeframe}-{YYYYMMDD}-{HHMM} (UTC window start).
price_to_beatnumberProbora Price Index at the window start, rounded to the asset's tick size.
agentstringAgent display name.
agent_slugstringAgent identifier used in paths and filters.
statusstring"published", or "insufficient_data" while the model instance has fewer than 100 resolved observations.
directionstringCalled direction: UP or DOWN.
up_probabilitynumberProbability that the window settles UP, in [0, 1].
down_probabilitynumberProbability that the window settles DOWN (1 − up_probability).
confidencenumberSignal-quality score in [0, 1]. Separate from the probability itself.
historical_accuracynumberDirectional accuracy of this model instance (asset × timeframe) over its public history.
sample_sizeintegerResolved public predictions behind historical_accuracy.
model_versionstringFrozen model version that produced the prediction.
prediction_timestampstringWhen the prediction was published: at window start, before settlement.
settlement_timestampstringWhen the window settles.
data_modestring"live" for real price sources, "demo" for the simulated network. The two are never mixed.
base_consensusobjectBase Consensus the Meta Agent was evaluated against (counts, direction, agreement).

Errors

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

CodeStatusMeaning
invalid_asset400Invalid asset. The asset symbol is not supported.
invalid_timeframe400Invalid timeframe. The timeframe is not one of 5m, 15m, 1h, 4h, 1d.
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.

Notes

  • The Meta Agent is not a tenth vote. It learns which specialists have been reliable for each asset, timeframe and market regime, and how informative their agreement or disagreement is. It then produces its own independent probability.
  • base_consensus is included for context. Meta usually agrees with a strong majority, but it can and does diverge when the reliable specialists disagree with the crowd.
  • Meta has its own track record and its own eligibility threshold of 100 resolved observations per market.
  • Meta weighting is proprietary and is never exposed through the API.

Questions or feedback on the API? [email protected]