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:
| Field | Meaning |
|---|---|
regime | Label + confidence for the coin |
probabilities.liquidation_risk | Depth-aware drawdown / forced-liquidation buckets |
probabilities.volatility | Volatility-state buckets |
probabilities.funding / open_interest | Funding and OI regime buckets |
vol_target_multiplier | Position-size multiplier for vol targeting |
vol_pctile_30 / rv_24h | 30-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.
- A coin can be low volatility but high liquidation risk if its book is thin and crowded.
- The signal carries a provenance tag (e.g.
depth_fragility:<bucket>) so you can see why it fired. - It's a distinct head from
volatility— check both; they disagree often, and the disagreement is the edge.
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:
- liquidation_risk — odds of a depth-driven, liquidation-fed drawdown.
- volatility — the coin's volatility state (size inversely to it).
- funding — funding-regime pressure (carry cost / crowding).
- open_interest — OI build/unwind state (positioning fuel).
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:
- High vol, low liquidation_risk — a major like BTC chopping in a wide range on a deep book. It moves, but the book absorbs; size down for vol, but a cascade is unlikely.
- Low vol, high liquidation_risk — a thin alt grinding quietly with crowded leverage and a fragile book. Calm until it isn't; the depth-aware head flags the gap risk realized vol hasn't shown yet.
- Both high —
vol_spiketerritory; minimum size or stand aside.
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"]))- Universe screen: drop coins with elevated
liquidation_risk. - Sizing: scale each position by
vol_target_multiplier. - Eligibility: skip
insufficient_history/ new listings automatically.
One Pro Plus call per refresh replaces hundreds — build a whole portfolio risk screen on it.



