What Is a Crypto Market Regime — and Why One Signal Isn't Enough
A strategy that prints during a bull breakout gets shredded in chop. An oversold RSI is a buy in accumulation and a knife-catch in a liquidation cascade. The signal is identical; what changed is the regime — the market state the signal fires into.
Most bots fail because they apply one playbook to every condition. The fix is to detect the regime first, then pick the strategy that fits it. That is exactly what the regime taxonomy at cryptodataapi.com/regimes is built for.
We break the market into 14 regimes, each its own API endpoint, and most carry a single 0–100 composite score plus a labelled band. One call per regime tells an AI agent where it is — bull or bear, compressed or expanding, calm or black-swan — before it risks a dollar.
The 14 Crypto Market Regimes at a Glance
The 14 regimes span five tiers: the slow directional backdrop (1, 2, 6), the faster market-state regimes (3, 4, 8, 9, 13), the universal structural overlay (14), the flow regimes (7, 10), and the exogenous shock regimes (5, 11, 12).
| # | Regime | Timescale | What it measures | Deep dive |
|---|---|---|---|---|
| 1 | Macro Trend | Months | Structural posture (HH/HL vs LH/LL), aggregate funding, BTC dominance | Macro & cycle |
| 2 | BTC Cycle | Weeks–months | Halving supply shocks, miner flows, dominance rotations | Macro & cycle |
| 3 | Meme / Speculative | Hours–days | Speculative perp lifecycle: ignition → euphoric → bleeding | Meme regime |
| 4 | Derivatives-Native | Minutes–days | Funding extremes, OI imbalance, liquidation cascades | Derivatives & carry |
| 5 | Event / Catalyst | Hours–weeks | Dated catalysts: token unlocks, macro prints, depegs | Event regime |
| 6 | Macro Correlation | Days–weeks | Crypto as high-beta tech: equities, DXY, gold, yields | Macro & cycle |
| 7 | On-Chain Intelligence | Days–weeks | Exchange flows, stablecoin dry powder, whale accumulation, miners | On-chain & flow |
| 8 | Carry / Basis | Days–weeks | Perp-vs-spot basis term structure; crowding via high basis | Derivatives & carry |
| 9 | Liquidity / Depth | Real-time–days | Book depth, spreads, OI/price divergence, fragility | Liquidity regime |
| 10 | Institutional Flow | Weeks–months | ETF / 401(k) inflows as a structural floor | On-chain & flow |
| 11 | Security / Black Swan | Hours–days | Hacks, exploits, self-custody flight, depeg cascades | Security regime |
| 12 | Geopolitical / Policy | Hours–weeks | Regulatory + geopolitical pressure, signed policy tilt | Policy regime |
| 13 | Volatility | Days–weeks | Realized vol (3 estimators), percentile rank, vol-targeting | Volatility regime |
| 14 | Technical / Structural | Hours–days | SMA crosses, Bollinger squeeze, range, RSI — the universal overlay | Technical regime |
How the 0–100 Regime Scores Work
Most regimes expose a /score endpoint that collapses the regime into a single 0–100 composite, a labelled band, and the weighted sub-scores that built it. The composite is deliberately transparent — you can see which input is driving stress.
The shock regimes share a five-step band vocabulary — dormant, quiet, elevated, heavy, critical — while the continuous regimes use sentiment words like calm, normal, stressed (volatility) or healthy / fragile (liquidity).
Each composite is a fixed weighted blend. A few examples, straight from the services:
| Regime | Score field | Composite formula |
|---|---|---|
| Security / Black Swan | security_stress_score | 0.45·hack + 0.30·flow + 0.25·depeg |
| Geopolitical / Policy | policy_risk_score | 0.40·gdelt + 0.35·cross_asset + 0.25·rate |
| Event / Catalyst | event_risk_score | 0.40·unlock + 0.25·macro + 0.35·depeg |
| Volatility / Liquidity / Meme | composite_score | Regime-mix + percentile blend (see each post) |
Heads-up for parsing: the score key is not uniform. Volatility, liquidity and meme use composite_score; the shock regimes use a named field (security_stress_score, policy_risk_score, event_risk_score). Map them once and you have a clean regime vector.
How Do I Pull Every Regime Score in One Workflow?
Each composite is a plain GET. Start with one:
curl -H "X-API-Key: cdk_live_yourkey" \
"https://cryptodataapi.com/api/v1/volatility/regime/score"Then fan out across the scored regimes to build a single regime vector your agent can condition on. The helper below normalises the differing score keys into one shape:
import httpx
HDR = {"X-API-Key": "cdk_live_yourkey"}
BASE = "https://cryptodataapi.com/api/v1"
SCORES = {
"volatility": "/volatility/regime/score",
"liquidity": "/liquidity/regime/score",
"meme": "/meme/regime/score",
"security": "/security/regime/score",
"policy": "/policy/regime/score",
"event": "/event/regime/score",
}
# score lives under different keys depending on the regime
SCORE_KEYS = ("composite_score", "security_stress_score",
"policy_risk_score", "event_risk_score")
def pick(d):
for k in SCORE_KEYS:
if k in d: return d[k]
return None
regime = {}
for name, path in SCORES.items():
d = httpx.get(BASE + path, headers=HDR).json()
regime[name] = {"score": pick(d),
"band": d.get("sentiment") or d.get("band")}
print(regime)
# {'volatility': {'score': 31.0, 'band': 'calm'},
# 'security': {'score': 12.0, 'band': 'quiet'}, ...}Six reads and your agent has a full risk picture. Cache it — every /score sits behind a TTL cache, so polling on a schedule is essentially free.
Live Signals vs Backfilled History for Backtesting
Not every regime is backfillable, and that distinction matters when you build a backtest.
- Backfillable composites. The score-based regimes carry 60–90 days of history in the archived daily snapshots, so you can replay regime-tagged simulations. Pull them from
/api/v1/backtesting/daily-snapshots/<date>. - Per-symbol detail (Pro+). The
/{symbol}endpoints return a rolling 60-day history for assets you want to drill into. - Forward-only. The liquidity regime is computed from per-minute Hyperliquid L2 book snapshots and cannot be reconstructed historically — it only exists going forward.
- Live sidecars. The shock regimes attach live news sidecars (
security_headlines,policy_headlines) that are present on the live endpoint but not in the historical composite.
Rule of thumb: backtest on the composite scores, then layer the live sidecars in production for the real-time edge.
Combining Regimes: Gate, Size, Time, Veto
The regimes are designed to stack, not compete. A clean four-layer pattern:
- Bias — the directional backdrop (macro, cycle, correlation) decides long vs short vs flat.
- Gate & size — the market-state regimes (volatility, liquidity, derivatives) decide whether to act and how big. Compressed vol + healthy book = size up; fragile book = stand down.
- Time — the technical overlay times the entry inside that context (squeeze break, 200MA reclaim).
- Veto — the shock regimes (security, policy, event) force risk-off when their score goes
elevatedor higher, regardless of everything above.
Concretely: a long bias from the cycle regime, taken only while volatility is compressed and the book is healthy, timed by a technical squeeze break — and cancelled the moment the event or security score crosses heavy. No single endpoint gives you that; the stack does.
Where to Start: A Guide to All 14 Regimes
Each regime has a focused deep dive with response shapes, query filters, and agent wiring:
- Macro, Cycle & Correlation — regimes #1, #2, #6: the slow directional backdrop.
- Meme Coin Regime — regime #3: the speculative lifecycle from ignition to bleeding.
- Derivatives & Carry — regimes #4, #8: funding, OI, liquidations, and the basis term structure.
- Event & Catalyst — regime #5: dated unlocks, macro prints, and depegs on a forward calendar.
- On-Chain & Institutional Flow — regimes #7, #10: smart-money flows and ETF demand.
- Liquidity Regime — regime #9: book depth, spreads, and fragility.
- Security & Black Swan — regime #11: hacks, exploits, and depeg cascades.
- Policy & Geopolitical — regime #12: regulatory pressure and signed policy tilt.
- Volatility Regime — regime #13: realized vol and position-sizing.
- Technical / Structural — regime #14: the universal entry-timing overlay.
When to reach for the framework: any time your bot trades the same way in every market. Wire the regime vector in first, condition your existing strategies on it, and you stop fighting the tape. Browse the live dashboard at cryptodataapi.com/regimes.
New — pair it with probabilities. This framework classifies structural conditions on a slow clock. The new quant HMM engine adds a short-horizon probabilistic layer on top: six market regimes scored every hour with calibrated confidence, plus transition odds and prediction heads and a Monte Carlo of tomorrow. Use the baskets for posture and the regime probabilities for timing — see how the two systems compare and combine.



