Skip to content
PROBORA

Predictions

Consensus

Base Consensus (how many eligible specialists call UP versus DOWN), side by side with Meta.

Overview

GET/v1/consensus/{asset}/{timeframe}
Developer PreviewAll plansapi.probora.xyz

Base Consensus counts how many eligible specialists call UP versus DOWN. Combine it with Meta to separate broad agreement from high-quality agreement.

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/consensus/BTC/15m" \
  -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",
  "specialists_up": 7,
  "specialists_down": 2,
  "specialists_eligible": 9,
  "base_consensus": "UP",
  "agreement": 0.778,
  "mean_up_probability": 0.604,
  "meta": {
    "direction": "UP",
    "up_probability": 0.671,
    "confidence": 0.79
  },
  "data_mode": "live"
}

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).
specialists_upintegerEligible specialists calling UP.
specialists_downintegerEligible specialists calling DOWN.
specialists_eligibleintegerSpecialists that published an eligible prediction for this window.
base_consensusstringMajority direction of eligible specialists: UP, DOWN or SPLIT.
agreementnumberShare of eligible specialists agreeing with the majority.
mean_up_probabilitynumberSimple average of the eligible specialists' UP probabilities.
metaobjectThe Meta Agent's direction, probability and confidence for the same window.
data_modestring"live" for real price sources, "demo" for the simulated network. The two are never mixed.

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.
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.

How consensus is computed

Base Consensus is a transparent count with no weighting and no learning:

  1. Take every specialist that published an eligible prediction for the window.
  2. Count UP and DOWN calls: specialists_up and specialists_down.
  3. base_consensus is the majority direction. A tie is reported as SPLIT and never rounded to a direction.
  4. agreement = max(up, down) / eligible. For example 7 / 9 UP gives an agreement of 0.778.

Specialists that are collecting data or unavailable for the market are excluded from both counts. Compare consensus with Meta to separate broad agreement from high-quality agreement.

Questions or feedback on the API? [email protected]