Risk-Scoring 200 Coins Shouldn't Take 400 API Calls

To risk-screen the whole market, an agent needs each coin's regime, its tail risk, and how to size it. Done naively that's a fan-out: /quant/coins/{symbol} plus /volatility/regime/{symbol} for every perp — roughly two calls per coin, hundreds of round-trips, and a rate-limit headache.

/api/v1/quant/coins/risk collapses that into one call. It batches the per-coin risk model across the entire quant universe — majors included — with values that match the per-symbol endpoints exactly. It's a batched view, not new modelling.

One Call, the Whole Universe's Risk

Each item carries the coin's regime plus the risk-head probabilities and the vol-sizing fields:

FieldMeaning
regimeLabel + confidence for the coin
probabilities.liquidation_riskDepth-aware drawdown / forced-liquidation buckets
probabilities.volatilityVolatility-state buckets
probabilities.funding / open_interestFunding and OI regime buckets
vol_target_multiplierPosition-size multiplier for vol targeting
vol_pctile_30 / rv_24h30-day vol percentile and realized vol

Coins with insufficient history or brand-new listings still appear, flagged in meta, so you can mark them ineligible rather than guess.

The Depth-Aware Liquidation-Risk Head

The newest of the four heads is liquidation_risk, and it's not just volatility renamed. It's a depth-driven prediction: it reads live order-book fragility — how thin the book is around price — to estimate the odds of an outsized, liquidation-fed drawdown.

That's the difference between "this coin moves a lot" and "this coin could gap on a cascade."

Pulling the Batched Risk Model

curl -H "X-API-Key: cdk_live_your_key" \
  "https://cryptodataapi.com/api/v1/quant/coins/risk?horizon=24h"
{
  "count": 187, "universe_size": 187, "horizon": "24h",
  "items": [
    {
      "symbol": "SOL",
      "regime": {"label": "vol_spike", "confidence": 0.71},
      "vol_target_multiplier": 0.55, "vol_pctile_30": 0.88, "rv_24h": 0.043,
      "probabilities": {
        "liquidation_risk": {"elevated": 0.62, "normal": 0.38},
        "volatility": {"high": 0.70, "normal": 0.30}
      },
      "meta": {"status": "ok", "insufficient_history": false}
    }
  ]
}

One response, every coin, ready to rank.

The Four Risk Heads

Each head answers a different risk question:

Together with vol_target_multiplier they're a complete sizing-and-eligibility kit: which coins to trade, how big, and what could blow up.

Liquidation Risk vs Volatility: A Worked Example

Why carry both heads? Because they routinely disagree, and the disagreement is the signal:

A vol-only risk model is blind to the second case — exactly the one that liquidates accounts.

How AI Agents Use the Risk Model

import httpx
r = httpx.get("https://cryptodataapi.com/api/v1/quant/coins/risk?horizon=24h",
              headers={"X-API-Key": "cdk_live_your_key"}).json()

# tradeable, low-liquidation-risk candidates, sized by vol target
book = []
for it in r["items"]:
    if it["meta"]["insufficient_history"]:
        continue
    lq = (it["probabilities"].get("liquidation_risk") or {}).get("elevated", 0)
    if lq < 0.4:
        book.append((it["symbol"], it["vol_target_multiplier"]))

One Pro Plus call per refresh replaces hundreds — build a whole portfolio risk screen on it.