Forecast Evolution — How Predictions Change Over Time

The /forecast-evolution endpoint reveals how the forecast for a symbol has changed over time — direction flips, confidence drift, upside_prob evolution, forecast range revision, and audited accuracy of each revision. Each revision includes market_key (e.g. btc-10m, btc-1h, or null for background scheduler predictions) and the timeframes used. This reveals the trajectory of the model's opinion, not just the latest reading.

Endpoint

GET /api/feeds/kronos/forecast-evolution/:symbolKey?hours=24

Parameters

ParamTypeRequiredDescription
symbolKeypathYesAsset symbol, e.g. btc_usdt, eth_usdt
hoursqueryNoLookback in hours (default: 24, max: 168)
market_keyqueryNoFilter by specific market, e.g. btc-10m, btc-1h
limitqueryNoCap number of revisions (default: 144, max: 1000)
summaryqueryNo1 for summary-only (no revisions array)

Pricing

$0.005 per request (payment after delivery — settled only if the response is successfully sent).

Example request

curl -H "X-PAYMENT: <x402-payment-header>" \
  "https://kronos.seshat.markets/api/feeds/kronos/forecast-evolution/btc_usdt?hours=24"

Example response (truncated)

{
  "symbol": "btc_usdt",
  "hours": 24,
  "summary": {
    "total_revisions": 18,
    "direction_flips": 2,
    "confidence_drift": -0.04,
    "upside_prob_start": 0.68,
    "upside_prob_end": 0.61
  },
  "revisions": [
    {
      "revision_id": 1,
      "predicted_at": "2025-06-15T00:00:00Z",
      "market_key": "btc-1h",
      "direction": "up",
      "upside_prob": 0.68,
      "confidence": 0.72,
      "conformal_lower": 67000,
      "conformal_upper": 68500,
      "audited": true,
      "correct": true,
      "timeframes": ["1h", "4h"]
    },
    {
      "revision_id": 2,
      "predicted_at": "2025-06-15T06:00:00Z",
      "market_key": "btc-1h",
      "direction": "up",
      "upside_prob": 0.64,
      "confidence": 0.69,
      "conformal_lower": 66800,
      "conformal_upper": 68300,
      "audited": false,
      "timeframes": ["1h", "4h"]
    },
    {
      "revision_id": 3,
      "predicted_at": "2025-06-15T12:00:00Z",
      "market_key": null,
      "direction": "down",
      "upside_prob": 0.42,
      "confidence": 0.55,
      "conformal_lower": 66500,
      "conformal_upper": 68000,
      "audited": false,
      "timeframes": ["1h", "4h", "1d"]
    }
  ]
}

Use cases

Flip Detection

When the model flips direction (up→down), it signals a regime change. Track flip frequency — rapid flips mean high uncertainty; a stable direction over 24h means high conviction.

Confidence Trend Analysis

If upside_prob drifts from 0.68 to 0.42 over 12 hours, the model is losing conviction. Act on the trend, not just the latest value — a drifting signal is weaker than a stable one.

Revision Quality Control

Each revision has an audited correct flag. If early revisions are correct but later ones flip wrong, the model over-adjusted. Use this to filter out volatile periods.

Market-Specific Filtering

Filter by ?market_key=btc-1h to see only predictions from the 1h market scheduler. Isolate signal sources — background scheduler predictions vs market-triggered ones may have different accuracy profiles.

Frequently asked questions

How do I track how a crypto forecast changes over time?
Call GET /api/feeds/kronos/forecast-evolution/btc_usdt?hours=24. It shows direction flips, confidence drift, upside_prob evolution, and audited accuracy of each revision. You see the trajectory of the model's opinion, not just the latest reading.
What does it mean when a crypto prediction model flips direction?
A direction flip (up→down) signals a regime change. Track flip frequency — rapid flips mean high uncertainty, while a stable direction over 24h means high conviction. Act on the trend, not just the latest value.
How much does the forecast evolution API cost?
$0.005 per request (payment after delivery). Pay with USDC on Solana or Base via x402. Use ?summary=1 for a compact summary without the full revisions array.
Can I see confidence drift in crypto predictions?
Yes. The confidence_drift field shows how confidence has changed over the lookback window. If upside_prob drifts from 0.68 to 0.42 over 12 hours, the model is losing conviction — a drifting signal is weaker than a stable one.

Related endpoints