API Reference
Complete reference for the Crypto Data API. All endpoints require an API key unless noted otherwise. Base URL: https://cryptodataapi.com
Authentication
Include your API key in every request using the X-API-Key header.
curl "https://cryptodataapi.com/api/v1/market-health" \ -H "X-API-Key: cdk_live_your_key_here"
Rate Limits
Rate limits depend on your API key tier:
| Tier | Daily Limit | Burst (per min) |
|---|---|---|
| Free | 1,000 requests 100 until email confirmed | 10 |
| Pro | 10,000 requests | 30 |
| Pro Plus | 50,000 requests | 60 |
Authentication
Create, inspect, rotate, and revoke API keys.
Create a new free-tier API key. The full key is only shown once.
| Name | Type | Required | Description |
|---|---|---|---|
| string | Yes |
curl -X POST "https://cryptodataapi.com/api/v1/auth/keys" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Revoke the current API key. 7-day cooldown before new key creation.
curl -X DELETE "https://cryptodataapi.com/api/v1/auth/keys" \ -H "X-API-Key: cdk_live_your_key"
Get information about the current API key: tier, requests used today, and the effective rate limits. On the free tier email_verified tells you which allowance the key is on — when it is false, verified_daily_limit and upgrade_message describe what confirming the address unlocks (1,000 requests/day, 24 hours of Pro, and a discount code).
curl "https://cryptodataapi.com/api/v1/auth/keys/me" \ -H "X-API-Key: cdk_live_your_key"
Re-send the confirmation link for this key's email address. Clicking that link lifts the same key from 100 to 1,000 requests/day, switches Pro on for 24 hours and emails a single-use discount code — nothing to re-install. Already-verified keys get status: "already_verified". Re-sends are throttled to one per 10 minutes.
curl -X POST "https://cryptodataapi.com/api/v1/auth/resend-verify" -H "X-API-Key: cdk_live_your_key"
Rotate the current API key. Invalidates the old key.
curl -X POST "https://cryptodataapi.com/api/v1/auth/keys/rotate" \ -H "X-API-Key: cdk_live_your_key"
Coins
Coin profiles, search, categories. 500+ coins aggregated from multiple sources.
List all coins, paginated by market cap rank.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| page | int | No | 1 | min: 1 |
| per_page | int | No | 50 | min: 1, max: 250 |
curl "https://cryptodataapi.com/api/v1/coins?page=1&per_page=50" \ -H "X-API-Key: cdk_live_your_key"
Search coins by name or symbol.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| q | string | Yes | — |
curl "https://cryptodataapi.com/api/v1/coins/search" \ -H "X-API-Key: cdk_live_your_key"
Get top N coins by market cap.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| limit | int | No | 20 | min: 1, max: 100 |
curl "https://cryptodataapi.com/api/v1/coins/top?limit=20" \ -H "X-API-Key: cdk_live_your_key"
Get all unique coin categories.
curl "https://cryptodataapi.com/api/v1/coins/categories" \ -H "X-API-Key: cdk_live_your_key"
Curated coin-category themes — 20+ major categories spanning AI, Layer-1 & Layer-2, DeFi, DEX, lending, liquid staking, stablecoins, exchange tokens, meme, privacy, RWA, NFT, gaming, metaverse, DePIN, oracles, interoperability, storage, Bitcoin/Solana/Cosmos ecosystems, PoW and derivatives. Each group carries a plain-English description and its resolved coin list (live price, market cap, rank, 24h/7d change), sorted by market-cap rank. Unlike /coins/categories (raw CoinGecko tag names), this is an editorial set powering the Coin Categories page. Query param: limit (max coins per group, default 25).
curl "https://cryptodataapi.com/api/v1/coins/category-groups?limit=25" \ -H "X-API-Key: cdk_live_your_key"
Get a single coin profile by symbol (e.g., BTC, ETH).
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes |
curl "https://cryptodataapi.com/api/v1/coins/BTC" \ -H "X-API-Key: cdk_live_your_key"
Market Health
Dual-score market health system with 11 components split into long-term trend and short-term momentum.
Full dual-score market health result with all 11 components. **`indicators` contract** Top-level `indicators` is a flat denormalization of the most-filtered values from `components.<x>.details`. Keys are **omitted entirely** when the source value is unavailable (never null) so consumers can safely use `dict.get(key, default)` for fallbacks. Committed key set: - `long_short_ratio` (float) — BTC long/short ratio (Binance perps) - `funding_rate` (float, %) — avg funding rate (aliased from `avg_funding_rate`) - `buy_ratio` (float, 0–1) — weighted taker-buy ratio across top spot pairs - `fear_greed_value` (int, 0–100) — averaged Fear & Greed index - `breadth_pct` (float, %) — share of top-30 coins above their 200D MA - `pct_from_200ma` (float, %) — BTC distance from 200D MA - `cross_status` (str) — Golden | Death | Neutral - `stablecoin_change_7d` (float) — 7-day stablecoin market-cap change Health is computed cross-exchange (CoinGlass aggregate + Binance) and is not scoped by any per-exchange filter. The `long_short_ratio` is BTC-on-Binance, used as a market-wide sentiment signal.
curl "https://cryptodataapi.com/api/v1/market-health" \ -H "X-API-Key: cdk_live_your_key"
Scores + sentiment only (lightweight).
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| format | string | No | — | Response format: 'markdown' for LLM-friendly plain text |
curl "https://cryptodataapi.com/api/v1/market-health/summary" \ -H "X-API-Key: cdk_live_your_key"
All 11 component details.
curl "https://cryptodataapi.com/api/v1/market-health/components" \ -H "X-API-Key: cdk_live_your_key"
Get a single component by name.
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Yes |
curl "https://cryptodataapi.com/api/v1/market-health/component/price_trend" \ -H "X-API-Key: cdk_live_your_key"
Health score history from database.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 365 | min: 1, max: 730 |
curl "https://cryptodataapi.com/api/v1/market-health/history?days=365" \ -H "X-API-Key: cdk_live_your_key"
Altcoin breadth - % of coins above their MA with per-coin detail.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| ma_period | int | No | 200 | min: 5, max: 365 |
curl "https://cryptodataapi.com/api/v1/market-health/altcoin-breadth?ma_period=200" \ -H "X-API-Key: cdk_live_your_key"
Force recalculate health score (Pro and Pro Plus tiers).
curl -X POST "https://cryptodataapi.com/api/v1/market-health/refresh" \ -H "X-API-Key: cdk_live_your_key"
Sentiment & Macro
Fear & Greed index, macro indicators, and stablecoin flows.
Fear & Greed index (multi-source averaged).
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| format | string | No | — | Response format: 'markdown' for LLM-friendly plain text |
curl "https://cryptodataapi.com/api/v1/sentiment/fear-greed" \ -H "X-API-Key: cdk_live_your_key"
Macro indicators: EUR/USD, gold, treasury yields.
curl "https://cryptodataapi.com/api/v1/sentiment/macro" \ -H "X-API-Key: cdk_live_your_key"
Stablecoin market cap + 14d/90d flows.
curl "https://cryptodataapi.com/api/v1/sentiment/stablecoins" \ -H "X-API-Key: cdk_live_your_key"
Daily stablecoin mcap + inflows, derived from our own DefiLlama history.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 90 | min: 1, max: 365 |
curl "https://cryptodataapi.com/api/v1/sentiment/stablecoins/remote-history?days=90" \ -H "X-API-Key: cdk_live_your_key"
Raw stablecoin market cap history timeseries.
curl "https://cryptodataapi.com/api/v1/sentiment/stablecoins/history" \ -H "X-API-Key: cdk_live_your_key"
Derivatives
Binance Futures derivatives data and cross-exchange comparisons.
Binance perpetual funding rate history.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | BTCUSDT | |
| limit | int | No | 30 | min: 1, max: 100 |
curl "https://cryptodataapi.com/api/v1/derivatives/binance/funding-rates?symbol=BTCUSDT&limit=30" \ -H "X-API-Key: cdk_live_your_key"
Binance open interest + 30-day trend.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | BTCUSDT |
curl "https://cryptodataapi.com/api/v1/derivatives/binance/open-interest?symbol=BTCUSDT" \ -H "X-API-Key: cdk_live_your_key"
Binance long/short account ratio.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | BTCUSDT |
curl "https://cryptodataapi.com/api/v1/derivatives/binance/long-short-ratio?symbol=BTCUSDT" \ -H "X-API-Key: cdk_live_your_key"
All-in-one Binance derivatives summary.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | BTCUSDT |
curl "https://cryptodataapi.com/api/v1/derivatives/binance/summary?symbol=BTCUSDT" \ -H "X-API-Key: cdk_live_your_key"
Daily derivatives data (funding, OI, L/S) from our own funding + OI archives.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 30 | min: 1, max: 90 |
curl "https://cryptodataapi.com/api/v1/derivatives/binance/history?days=30" \ -H "X-API-Key: cdk_live_your_key"
Funding rates across Binance + Hyperliquid.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | No | BTC |
curl "https://cryptodataapi.com/api/v1/derivatives/funding-rates?coin=BTC" \ -H "X-API-Key: cdk_live_your_key"
Open interest across Binance + Hyperliquid.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | No | BTC |
curl "https://cryptodataapi.com/api/v1/derivatives/open-interest?coin=BTC" \ -H "X-API-Key: cdk_live_your_key"
Combined cross-exchange derivatives overview.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | No | BTC | |
| format | string | No | — | Response format: 'markdown' for LLM-friendly plain text |
curl "https://cryptodataapi.com/api/v1/derivatives/summary?coin=BTC" \ -H "X-API-Key: cdk_live_your_key"
Hyperliquid
Hyperliquid perpetual futures data — prices, funding, OI, candles, order book.
Exchange metadata: assets, max leverage, specs.
curl "https://cryptodataapi.com/api/v1/hyperliquid/meta" \ -H "X-API-Key: cdk_live_your_key"
All mid prices across Hyperliquid assets.
curl "https://cryptodataapi.com/api/v1/hyperliquid/prices" \ -H "X-API-Key: cdk_live_your_key"
Current + historical funding rates for a coin.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | No | BTC | |
| limit | int | No | 20 | min: 1, max: 100 |
curl "https://cryptodataapi.com/api/v1/hyperliquid/funding-rates?coin=BTC&limit=20" \ -H "X-API-Key: cdk_live_your_key"
Open interest across all Hyperliquid assets.
curl "https://cryptodataapi.com/api/v1/hyperliquid/open-interest" \ -H "X-API-Key: cdk_live_your_key"
OHLCV candles for a coin.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | No | BTC | |
| interval | string | No | 1h | |
| limit | int | No | 200 | min: 1, max: 1000 |
curl "https://cryptodataapi.com/api/v1/hyperliquid/candles?coin=BTC&interval=1h&limit=200" \ -H "X-API-Key: cdk_live_your_key"
L2 order book snapshot.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | No | BTC |
curl "https://cryptodataapi.com/api/v1/hyperliquid/l2-book?coin=BTC" \ -H "X-API-Key: cdk_live_your_key"
All-in-one perp data for a coin.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | No | BTC |
curl "https://cryptodataapi.com/api/v1/hyperliquid/summary?coin=BTC" \ -H "X-API-Key: cdk_live_your_key"
Liquidity / Market Depth
Per-minute L2 book snapshots across the top-25 HL perps, joined to OI — powers the Liquidity / Market Depth regime on the /regimes page. Detects deep-book, OI-vs-price divergence, depth withdrawal, and post-cascade impaired regimes.
Current per-coin depth/spread snapshot for the tracked universe (top-25 HL perps by 24h volume). Each record includes bid/ask depth at {10, 25, 50, 100}bps, spread in bps, book imbalance within 10bps, and joined open interest.
curl "https://cryptodataapi.com/api/v1/liquidity/depth" \ -H "X-API-Key: cdk_live_your_key"
Per-coin OI vs price change across 1h/4h/24h windows, ranked by 4h divergence (oi_change_4h_pct − price_change_4h_pct). Positive divergence = OI rising faster than price = fragile positioning.
curl "https://cryptodataapi.com/api/v1/liquidity/oi-divergence" \ -H "X-API-Key: cdk_live_your_key"
Per-coin regime label (deep_book / oi_price_divergence / depth_withdrawal / post_cascade_impaired / neutral) + market-wide aggregate + composite fragility score (0-100; higher = healthier). Pro and Pro Plus.
curl "https://cryptodataapi.com/api/v1/liquidity/regime" \ -H "X-API-Key: cdk_live_your_key"
Composite liquidity fragility score (0-100) + sentiment band (healthy / leaning_healthy / neutral / leaning_fragile / fragile) + regime aggregate. Trimmed companion to /liquidity/regime — same composite, no per-coin list. Pro and Pro Plus.
curl "https://cryptodataapi.com/api/v1/liquidity/regime/score" \ -H "X-API-Key: cdk_live_your_key"
Per-coin rolling depth history (up to 24h of 1-min samples). BTC on any tier; the full universe requires Pro.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| minutes | int | No | 60 | min: 1, max: 1440 |
curl "https://cryptodataapi.com/api/v1/liquidity/depth/BTC?minutes=60" \ -H "X-API-Key: cdk_live_your_key"
Volatility Regime
The Crypto Volatility Index (CVI): a volume-weighted market-wide realized-volatility index plus BTC/ETH implied vol (Deribit DVOL) and the variance risk premium. Backed by the per-asset realized-volatility risk-sizing overlay (Regime #13) — per-asset vol regime, multi-estimator realized vol, 90d vol percentile + z-score, term structure, regime run-length, and a vol-target position-size multiplier — computed from daily klines, fully backfillable.
The Crypto Volatility Index. cvi_realized_30 / cvi_realized_7 are the headline: volume-weighted annualized 30d / 7d realized vol (%) across the universe (each coin weighted by mean daily notional; pegs excluded). Plus a 0-100 composite_score vol-stress breadth gauge + sentiment, regime_mix shares, and majors — BTC & ETH realized vs implied (Deribit DVOL) with the variance risk premium (vrp = implied − realized). One call for the whole volatility picture. Tiers: the market-wide CVI headline is on every plan; majors is BTC-only on Free and adds ETH on Pro / Pro Plus.
curl "https://cryptodataapi.com/api/v1/volatility/index" \ -H "X-API-Key: cdk_live_your_key"
BTC & ETH implied vol from Deribit's DVOL index (the 30-day forward implied vol — crypto's VIX equivalent) plus the variance risk premium vs realized. Tiers: Free = BTC only (current DVOL, 24h change, realized_30, vrp); Pro = BTC + ETH; the full DVOL history series and the ATM implied-vol term_structure (per listed expiry) are Pro Plus only (detail: true). Implied vol exists only for the options-liquid coins (BTC, ETH).
curl "https://cryptodataapi.com/api/v1/volatility/implied" \ -H "X-API-Key: cdk_live_your_key"
Daily CVI + vol-stress history reconstructed from the daily archive — one point per archived UTC day with cvi_realized_30, cvi_realized_7, composite_score and sentiment. The series starts when CVI was first archived. Pro Plus only.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 90 | min: 1, max: 365 |
curl "https://cryptodataapi.com/api/v1/volatility/index/history?days=90" \ -H "X-API-Key: cdk_live_your_key"
Every Hyperliquid perp with its live 24h notional (volume_24h), its 30-day baseline (avg_volume_30d / median_volume_30d) and the multiplier between them — how many times its own normal daily volume a coin is trading right now. 3.0 = three times normal. multiplier_median is the same ratio against the 30d median, far less distorted by a single prior blow-off day; when the two disagree sharply the coin's history is lumpy. Each row carries an activity band (dormant / quiet / normal / elevated / surging / extreme), plus volume_change_24h (live 24h notional vs the most recent settled day — a like-for-like ~24h window, where multiplier compares against the 30-day norm) and spark_7d (the last 7 settled days of daily notional, for sparklines). Note change_24h is the price change; volume_change_24h is the volume one. The baseline uses 30 settled UTC days — today's partial day is excluded. Perps listed under 7 days ago report multiplier: null + band: "unknown" rather than a spurious number. Tiers: Free returns the top 20 perps by 24h volume; Pro / Pro Plus return the full universe.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| band | string | No | — | dormant / quiet / normal / elevated / surging / extreme / unknown |
| min_multiplier | float | No | — | Only perps at or above this multiple of their 30d average |
| sort | string | No | multiplier | multiplier / volume_24h / symbol / change_24h |
| limit | int | No | 250 | min: 1, max: 500 |
curl "https://cryptodataapi.com/api/v1/volume/scanner?min_multiplier=3" \ -H "X-API-Key: cdk_live_your_key"
One perp's volume multiplier plus its history — the 30-day daily notional series the baseline is built from, one point per settled UTC day. Hyperliquid thousand-unit tickers (kBONK, kPEPE, kSHIB) are accepted as aliases of the plain symbol. Pro / Pro Plus only.
curl "https://cryptodataapi.com/api/v1/volume/scanner/BTC" \ -H "X-API-Key: cdk_live_your_key"
Per-asset realized-vol regime (compressed / expanding / vol_shock / mean_reverting / normal) across the SIGNUM_RGG universe. Each entry carries 7d/30d vol (close-to-close, Parkinson, Garman-Klass), the 90d vol percentile and z-score (rv_z_30 / rv_z_7), term structure (7d/30d), a vol-target position-size multiplier, and a regime run-length (days_in_regime + prev_regime + regime_changed) so a strategy can detect the cross into a new regime point-in-time. Pegged tokens carry an is_stable data-quality flag. Backfillable from daily klines. Screen with ?regime=compressed&sort=days_compressed or ?sort=vol_target_multiplier&order=desc. Tiers: Free is scoped to BTC only; Pro / Pro Plus return the full universe.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| source | string | No | — | binance_spot | hyperliquid_perp |
| regime | string | No | — | vol_shock | expanding | compressed | mean_reverting | normal |
| sort | string | No | vol_pctile_30 | symbol | rv_gk_30 | rv_gk_7 | vol_pctile_30 | term_structure_ratio | vol_target_multiplier | days_compressed |
| order | string | No | desc | asc | desc |
| limit | int | No | 250 | min: 1, max: 500 |
curl "https://cryptodataapi.com/api/v1/volatility/regime?regime=compressed&sort=days_compressed&order=desc" \ -H "X-API-Key: cdk_live_your_key"
Market-wide volatility-stress composite (0-100; higher = more stress, size down) + sentiment band (stressed / elevated / normal / calm / dormant) + median 30d vol percentile + regime aggregate. Also carries a universe-wide gross_exposure_multiplier (0.5–1.0; the market-wide analog of the per-asset vol-target multiplier) and the target_vol numerator. Trimmed companion to /volatility/regime — no per-coin list.
curl "https://cryptodataapi.com/api/v1/volatility/regime/score" \ -H "X-API-Key: cdk_live_your_key"
Per-asset Volatility regime detail with 60d daily history (close, 30d close-to-close vol, 30d Garman-Klass vol) for sparkline rendering. Tiers: coin scope follows the plan — Free = BTC only, Pro / Pro Plus = any coin; the 60d history series is Pro Plus only (empty on Free / Pro).
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Bare ticker (e.g. BTC, ETH); USDT suffix stripped automatically |
curl "https://cryptodataapi.com/api/v1/volatility/regime/BTC" \ -H "X-API-Key: cdk_live_your_key"
Force recompute the Volatility regime cache across the full universe. Pro / Pro Plus only.
curl -X POST "https://cryptodataapi.com/api/v1/volatility/regime/refresh" \ -H "X-API-Key: cdk_live_your_key"
Quant Probabilities
HMM-derived regime + probability engine for the whole market and every Hyperliquid perp. A Hidden Markov Model trained on years of hourly bars classifies each scope into one of 6 regimes (strong_trend_bull / strong_trend_bear / range_low_vol / choppy_high_vol / vol_spike / squeeze) and emits calibrated probability buckets for direction, volatility, liquidation risk, funding, breadth and open interest at 4h / 24h horizons, refreshed every 15 minutes. Nothing is a black box: every response carries an explain block (feature z-scores, state posteriors, hysteresis state, calibration applied) and /quant/history records every call point-in-time with live-vs-backfilled flags. All data endpoints require Pro Plus; the model card and taxonomy are open to any key.
The archived catalyst tape with measured market-response labels — the backtestable form of /api/v1/news/market-moving. Every qualified event carries its impact_score, signed bias and corroboration, plus what actually happened next: ret_15m, ret_1h, ret_4h, vol_mult (vs that coin's own 30-day baseline), oi_change_pct, funding_shift and a combined abnormality. Those columns are what make the impact score calibratable rather than merely asserted — you can check whether high-scoring events actually preceded abnormal moves. Only qualified events are archived: stories that failed the noise gate or scored below the threshold were discarded at ingest and no row exists for them, so this is not "all news". History starts when the feature shipped and cannot be backfilled, because RSS only serves a recent window. Response columns are null for windows that have not matured yet — that means "not yet measured", not "no reaction". Archived daily to Parquet as the news_events type. Pro Plus only.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| start | string | Yes | — | ISO 8601 or unix ms |
| end | string | No | now | ISO 8601 or unix ms. EXCLUSIVE |
| symbol | string | No | — | HL perp symbol, or MARKET |
| min_impact | float | No | 0.0 | Minimum impact_score |
| limit | int | No | 500 | min: 1, max: 5000 |
curl "https://cryptodataapi.com/api/v1/backtesting/news-events?start=2026-08-01&min_impact=0.6" \ -H "X-API-Key: cdk_live_your_key"
A per-coin news feature series across the Hyperliquid perp universe — the endpoint built to join straight onto price. news_pressure (0..1) is the recency-weighted sum of the impact scores of that coin's qualified catalysts, saturating so a burst compounds but stays bounded. news_tilt (-1..+1) is the impact-weighted direction; negative is risk-off. event_count and top_impact tell you whether the pressure is one big story or a steady drip. headlines is raw coverage — how many stories in the current window name that coin, whether or not any cleared the catalyst bar. That is attention, not an event: the funnel discards ~95% of what it reads, so most coins sit at news_pressure: 0 while headlines keeps counting, and a coin high on headlines with no pressure is being talked about without anything happening. Every active perp gets a row — a coin with no news is news_pressure: 0, not a missing row, because a cross-sectional ranking needs the zeros and an absent symbol should always mean a pipeline failure. Rows are ranked by pressure first, then headlines. Tiers: Free returns the top 10 rows; Pro / Pro Plus return the full universe.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| hours | float | No | 24 | Lookback window. min: 1, max: 168 |
curl "https://cryptodataapi.com/api/v1/news/pulse?hours=24" \ -H "X-API-Key: cdk_live_your_key"
The filtered catalyst tape — only events that cleared the impact threshold. Roughly 300-500 stories a day are ingested from free feeds and only the ~15-40 that matter are kept; sub-threshold stories are discarded outright, so there is no raw-feed endpoint at any tier and you cannot query "all news about a coin". Each event carries symbol (the HL perp, or MARKET for stories that move everything), category, impact_score (0..1), a signed bias (negative = risk-off) and corroboration — how many independent sources carried the same story, the strongest single indicator that it is real rather than syndicated. Every event also states how its coin was matched via match_mode, because the perp universe is full of ordinary English words (TRUMP, MOVE, NOT, S, W, ME, GAS, SAND) — those only ever match on a cashtag or their full project name. hl_listing / hl_delisting come from our own Hyperliquid universe diff, so they are exact and immediate. Pro Plus additionally returns the score components and market_response: the measured move at 15m / 1h / 4h (ret_pct, oi_change_pct, funding_shift, volume_multiplier, abnormality) — a headline that moved nothing scores near zero. Windows fill in as they mature, so a recent event reports null for 4h: that means "not yet", not "no reaction". Latency: RSS lags the source by ~30s-5min, so this is a context and event-study feed, not a listing-sniping tool. Tiers: Free = BTC / ETH / MARKET over 24h, top 10; Pro = every perp over 7 days; Pro Plus = full retained history.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter to one Hyperliquid perp, or MARKET |
| hours | float | No | 24 | Lookback window. min: 1, max: 336 |
| min_impact | float | No | 0.45 | Minimum impact_score. Cannot go below the pipeline threshold |
| limit | int | No | 50 | min: 1, max: 500 |
curl "https://cryptodataapi.com/api/v1/news/market-moving?min_impact=0.6" \ -H "X-API-Key: cdk_live_your_key"
Qualified events plus news_pressure and news_tilt for a single Hyperliquid perp. The path parameter accepts the HL coin name (BTC, SOL, kPEPE). Tiers: Free is limited to BTC and ETH; Pro and above may query any perp; Pro Plus additionally receives the score components and market_response.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| hours | float | No | 72 | Lookback window. min: 1, max: 336 |
curl "https://cryptodataapi.com/api/v1/news/coin/SOL" \ -H "X-API-Key: cdk_live_your_key"
Per-feed health, the funnel counts and the published coverage gap. sources[].not_modified distinguishes "answered 304, nothing new" from "dead" — both look like zero fresh items otherwise, which is how a silently broken feed hides. funnel_24h is hourly counts only (ingested, dropped_noise, dropped_no_catalyst, dropped_no_entity, dropped_below_threshold, qualified) with no titles or URLs retained for discarded stories — enough to see the filter over-tightening without keeping a news archive. unresolvable lists active perps whose ticker is an ordinary English word and which have no safe project name, so they can only ever be matched by a cashtag: the coverage gap is a published field rather than a silent blind spot.
curl "https://cryptodataapi.com/api/v1/news/sources" \ -H "X-API-Key: cdk_live_your_key"
Whole-market regime (label + calibrated confidence + candles-in-regime) and probability buckets for direction (5 buckets), volatility, liquidation risk, funding, breadth, open interest and regime transitions at the requested horizon. The market liquidation_risk bucket is depth-aware — it reads live order-book fragility (thin book + wide spread → higher forced-liquidation odds), not just realized volatility; explain.heads_provenance tags the source (e.g. depth_fragility:thin). The 24h horizon adds seeded Monte Carlo tomorrow stats (return quantiles, P(visit vol_spike), P(drawdown>5%)). The explain block exposes feature z-scores, raw state posteriors, the hysteresis rule state and raw-vs-calibrated confidence. Pro tier (market-wide; per-coin data is Pro Plus).
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| horizon | string | No | 24h | 4h | 24h |
curl "https://cryptodataapi.com/api/v1/quant/market?horizon=24h" \ -H "X-API-Key: cdk_live_your_key"
Trimmed regime summary for every active Hyperliquid perp (~200+): regime + confidence, p_direction_up, most likely transition, current OI, and data-quality flags (insufficient_history under 60d, warming_up under 30d, new_listing under 7d). This is the heatmap feed; full probability matrices live at /quant/coins/{symbol}. Pro.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| horizon | string | No | 24h | 4h | 24h |
| regime | string | No | — | Filter by label, e.g. squeeze |
| sort | string | No | oi | oi | confidence | symbol | p_up |
| order | string | No | desc | asc | desc |
| limit | int | No | 250 | min: 1, max: 300 |
curl "https://cryptodataapi.com/api/v1/quant/coins?regime=squeeze&sort=oi" \ -H "X-API-Key: cdk_live_your_key"
One call that batches /quant/coins/{symbol} and /volatility/regime/{symbol} across the whole quant universe — majors (BTC/ETH/SOL) included. Each item: regime + confidence, the volatility / liquidation_risk / funding / open_interest probability buckets (verbatim from the per-coin endpoint), the vol-sizing fields (vol_target_multiplier, vol_pctile_30, rv_24h), and a meta block flagging insufficient_history / new_listing. Purpose-built so consumers don't fan out ~2 calls per perp. Values match the per-symbol endpoints for the same symbol/horizon. Pro.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| horizon | string | No | 24h | 4h | 24h |
curl "https://cryptodataapi.com/api/v1/quant/coins/risk?horizon=24h" \ -H "X-API-Key: cdk_live_your_key"
Full per-coin probability object, conditioned on the whole-market regime: the coin's transition matrix is the market-posterior-weighted mixture (inspect explain.transition_mixture_weights — SOL can read squeeze while the market reads range). Includes the explain block and recent_regimes (last ~48 inference rows for sparklines). Coins under 60d of history return the object flagged insufficient_history rather than 404. Pro.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | HL coin name (e.g. BTC, SOL, kPEPE) |
curl "https://cryptodataapi.com/api/v1/quant/coins/SOL" \ -H "X-API-Key: cdk_live_your_key"
Point-in-time record of every probability the engine emitted — the verification surface. Each row carries backfilled (live 15-min inference vs retro-computed 1h history) and model_version, so you can audit our calls against what actually happened. Flattened numeric columns; format=csv streams CSV. Pro Plus only.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| scope | string | No | market | 'market' or a coin symbol |
| start | string | Yes | — | ISO 8601 or unix ms |
| end | string | No | now | ISO 8601 or unix ms |
| horizon | string | No | — | 4h | 24h |
| limit | int | No | 500 | min: 1, max: 2000 |
| format | string | No | json | json | csv |
curl "https://cryptodataapi.com/api/v1/quant/history?scope=BTC&start=2026-06-01&format=csv" \ -H "X-API-Key: cdk_live_your_key"
Bulk download of the full market 6-regime history as a Parquet file (returns a pre-signed URL). One hourly row per bar from 2020 to yesterday, each carrying the full distribution over all 6 regimes at three horizons — now, 4h, 24h (columns p_now_0..5, p_4h_0..5, p_24h_0..5, keyed by regime id; see regime_map). The deep history is labeled by the same model that serves live, run over the public Binance archive it trained on (no hindsight); the source column marks the Binance-archive vs live-Hyperliquid seam. Use this for backtesting instead of paginating /quant/history. Rebuilt daily. Pro Plus only.
curl "https://cryptodataapi.com/api/v1/quant/regimes/history" \ -H "X-API-Key: cdk_live_your_key" # -> { "download_url": "https://...signed...", "expires_in": 3600, # "rows": 56480, "model_version": "2.0.0", # "horizons": ["now","4h","24h"], # "regime_map": {"0":"strong_trend_bull", ...} }
Daily market regime label from 2019 to now, produced by running the live model over its full training history — the COVID crash, 2021 bull, LUNA/FTX bear and 2024 ETF bull, labeled by the same model with no hindsight relabeling. Regenerated on every retrain. Pro Plus only.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| start | string | No | — | ISO date filter, e.g. 2022-01-01 |
curl "https://cryptodataapi.com/api/v1/quant/timeline?start=2022-01-01" \ -H "X-API-Key: cdk_live_your_key"
Per-coin long/short/net/gross notional split by trader type — market_maker, whale, other, all — across the full Hyperliquid account universe (every account ≥ $100k holding a position, ~5-min fresh). Trader type comes from a behavioral classifier (monthly turnover, market breadth, leverage, PnL consistency, curated known-MM/vault list); each bucket reports its distinct account count. The market_maker bucket is the basis for /quant/gex. Pro.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter to one coin, e.g. BTC |
curl "https://cryptodataapi.com/api/v1/quant/positioning?symbol=BTC" \ -H "X-API-Key: cdk_live_your_key"
Dealer positioning / Gamma Exposure — the perpetuals analog of options GEX, built from market-maker accounts. Per coin: mm_net_delta (dealer inventory long/short), gamma_profile (MM liquidation-density by price = where forced unwinds cluster) and gamma_flip (the inflection where MM long-liq-below crosses short-liq-above). Each coin also carries a composite regime flag — amplify (crowded book + dense clusters near mark → forced flow follows through), dampen (balanced, mean-reverting) or transitional (on the flip line) — joining funding skew, OI rate-of-change, the realized-liquidation cascade signal and dist_to_flip_pct, with every sub-signal in regime.inputs. regime.confidence (0–1) scales with the MM account count + gross book behind the read so thin-sample regimes can be down-weighted. gamma_flip is capped to within ±30% of mark and returns null when there is no in-band liquidation crossover (rather than a far-away stale level). Top-level funding_rate/oracle_price/premium/open_interest and a meta.maintenance_margin_tiers ladder are included too. Each coin also carries distribution_context — trailing-30-day percentile ranks of the near-mark cluster density, |distance to flip|, normalized MM skew (mm_net_delta/mm_gross), regime score and funding rate (e.g. “fuel density at the 92nd percentile of 30d”), with history_days/sample_count/status honesty fields; every *_pctile is null while status is warming (<2 days of hourly samples — the history is forward-only) and meta.distribution_legend documents each field. The full per-coin map (incl. distribution_context) is archived at 5-min cadence as the gamma_exposure snapshot type for backtesting. Honest framing: perps have no literal options gamma — this is a behavioral analog from MM inventory + liquidation-driven forced flow, with a heuristic MM set. Full universe on Pro and Pro Plus.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter to one coin, e.g. BTC |
curl "https://cryptodataapi.com/api/v1/quant/gex?symbol=BTC" \ -H "X-API-Key: cdk_live_your_key"
Hyperliquid whale activity — the entire ≥$100k account universe (the same ~5-min-fresh set behind /quant/positioning and /quant/gex) rolled up into one read. summary: accounts tracked, the behavioral-class split (market_maker / whale / other), aggregate long vs short notional, the long/short ratio and the whole-book net_bias (risk-on/risk-off). top_coins: the cryptos whales hold the most by total notional — per coin the long_usd/short_usd/net_usd/gross_usd, distinct account counts, dominant side and directional_net_usd (net excluding market-maker liquidity = the conviction read). Scope is Hyperliquid perpetuals (the whale margin book); meta.segment is perp and meta.spot_status flags that spot-wallet balances are not yet collected. Crypto-only (no tokenized equities). Full universe on Pro and Pro Plus.
curl "https://cryptodataapi.com/api/v1/quant/whales" \ -H "X-API-Key: cdk_live_your_key"
Daily time-series of aggregate whale positioning — per UTC day the total long_usd/short_usd/net_usd/gross_usd across the ≥$100k book, plus the day's top coins by net. Full-universe collection is recent, so the earlier portion is modeled: each point carries source (seed | live) and estimated, a seeded baseline anchored to the first live reading that is replaced by observed snapshots as they accrue. meta.seeded_count/live_count report the split. Pro Plus only.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | integer | No | 180 | Trailing window length in days (7–540) |
curl "https://cryptodataapi.com/api/v1/quant/whales/history?days=180" \ -H "X-API-Key: cdk_live_your_key"
Full model transparency on any valid key: version, family, feature lists, raw state counts, walk-forward validation metrics straight from the artifact, artifact sha256, human approval stamp, and live runtime health (universe coverage, log-likelihood drift vs the training baseline, last inference). loaded: false means the data endpoints are 503 (no model deployed yet).
curl "https://cryptodataapi.com/api/v1/quant/model" \ -H "X-API-Key: cdk_live_your_key"
The 6-regime vocabulary used by every quant endpoint: id, label, display name, description and the suggested algo-basket stance per regime (e.g. squeeze → "breakout algos primed, sizing up"). Open to any valid key.
curl "https://cryptodataapi.com/api/v1/quant/regimes" \ -H "X-API-Key: cdk_live_your_key"
Force an immediate inference cycle instead of waiting for the next 15-minute tick. Pro Plus only.
curl -X POST "https://cryptodataapi.com/api/v1/quant/refresh" \ -H "X-API-Key: cdk_live_your_key"
Market Regimes (Long-Horizon)
A single 10-state taxonomy that maps the full crypto market lifecycle — Structural Shock → Established Bear → Capitulation → Bottoming → Early Recovery → BTC-Led Bull → Broadening Bull → Broad Bull → Speculative Euphoria → Distribution / Deleveraging — plus a live, transparent classification of which regime the market is in right now. The classifier composes existing signals (market-health cycle condition, the quant HMM overlay, the volatility / meme / security composites, BTC dominance, OI and liquidations), all returned under signals for inspection. The long-horizon (weeks–months) counterpart to the quant engine (a 24h read). Also rendered on the /regimes page.
The 10-state long-horizon taxonomy (regimes: id 1–10, machine regime id, name, description, typical duration, directional bias) plus current — the live regime with a plain-English rationale, the inspectable signals that drove it, and an internal stage (Distribution: early_distribution / active_deleveraging) or euphoria_score (Speculative Euphoria: alt_expansion vs blow_off). The published id moves slowly by design: a new candidate must be the raw classification for pending.needed consecutive ~15-min refreshes, AND the outgoing regime must have satisfied a minimum-dwell floor scaled to its own typical_duration — 48h for the “Weeks-Months”/“Months” states (#2, #4, #6, #8), 24h for “Weeks” (#5, #7), 12h for “Days-Weeks” (#3, #9, #10) and 2h for #1 Structural Shock, which is an emergency override and is also exempt from the floor when entering. current.stability is emitted on every response (score, raw_agreement, confirmations_against/needed, held_s, dwell_floor_s, and locked_for_s — the seconds the regime is mechanically guaranteed to survive), and current.thresholds gives the distance from every numeric cutoff in the cascade to flipping, so you can build hysteresis on published boundaries instead of guesses. current.raw is the ungated live read; pending is null exactly when raw.matches_committed is true. Open to any valid key.
curl "https://cryptodataapi.com/api/v1/regimes" \ -H "X-API-Key: cdk_live_your_key"
Just the current long-horizon regime — machine id, name, rationale, optional stage / euphoria_score, the classifier signals, the ungated raw read, pending, stability, thresholds, in_regime_since and an as_of timestamp. The trimmed companion to /regimes. Open to any valid key.
curl "https://cryptodataapi.com/api/v1/regimes/current" \ -H "X-API-Key: cdk_live_your_key"
The committed long-horizon regime transition sequence over a window — /regimes is live-only, so without this the sequence that produced the current regime cannot be reconstructed from the API. Each entry is one committed run: id, regime, anchor, name, committed_at, ended_at (null while current), dwell_seconds, the rationale served at the time, optional stage/euphoria_score, plus first_observed_at/last_observed_at/observations. committed_at is exact, taken from the in_regime_since stamped at commit time and carried in every archived snapshot — the ~25-min archive cadence bounds when a change was noticed, not when it is reported to have happened; and since every regime is protected by a dwell floor of at least 2h, no transition can fall between two samples. Coverage starts 2026-08-07 and cannot be backfilled — the published regime is a stateful commit through the dwell gate, not a pure function of the archived signals, so replaying older inputs would invent a sequence that was never served; coverage_start reports the true start. truncated true means limit clipped the recent end (rows are read oldest-first) — narrow the window. Not to be confused with /quant/regimes/history, the short-horizon 6-state HMM Parquet. Pro Plus only.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| from | string | No | 30 days ago | Window start, inclusive. ISO-8601 or unix ms. |
| to | string | No | now | Window end, exclusive. ISO-8601 or unix ms. Window capped at 400 days. |
| limit | integer | No | 5000 | Max archive samples scanned (~57/day), not transitions returned. Max 25000. |
curl "https://cryptodataapi.com/api/v1/regimes/history?from=2026-08-07&to=2026-09-01" \ -H "X-API-Key: cdk_live_your_key"
Trading Strategy Baskets
A practical catalogue of 50 top-level trading-strategy meta-baskets across 6 thematic groups (cycle & leadership, funding/leverage/liquidation, technical structure, macro & institutional flows, crypto-specific catalysts, narrative & sector rotation). The top-level taxonomy — finer setups are modelled as sub-strategies, signals or directional variants beneath them. Also rendered on the /trading-strategy-baskets page.
The 50 top-level strategy meta-baskets across 6 groups (A–F). Returns groups (each with id, name and its baskets) plus group_count and basket_count; every basket has a stable slug, name and one-line description. Pro tier.
curl "https://cryptodataapi.com/api/v1/trading-strategy-baskets" \ -H "X-API-Key: cdk_live_your_key"
Meme Regime
Meme / Speculative lifecycle classifier (Regime #3). A curated perp universe (DOGE/SHIB/PEPE/WIF/BONK/POPCAT…, including k-prefixed Hyperliquid listings like kPEPE/kBONK resolved back to their base ticker) labelled euphoric / distribution / ignition / bleeding / dormant from trailing returns, a volume-spike ratio, 30d vol percentile, SMA-20 extension, regime run-length, and live Hyperliquid funding / OI. Each coin carries an hl_symbol exact-join key. Price/vol features are backfillable; funding/OI are live-only.
Per-asset meme lifecycle regime (euphoric / distribution / ignition / bleeding / dormant) across the curated meme-perp universe. Each entry carries 1d/7d/30d returns, a volume-spike ratio, 30d realized-vol percentile, SMA-20 extension, a regime run-length (days_in_regime + prev_regime + regime_changed, to catch the cross into ignition point-in-time), the exact Hyperliquid hl_symbol join key, and live funding / open interest. Price/vol features are backfillable; funding_rate / oi_usd are live-only (so distribution, and the run-length of any funding-gated state, only resolve live). Screen with ?regime=ignition&sort=vol_spike or ?regime=euphoric&sort=ret_7d&order=desc.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| source | string | No | — | binance_spot | hyperliquid_perp |
| regime | string | No | — | euphoric | distribution | ignition | bleeding | dormant |
| sort | string | No | ret_7d | symbol | ret_7d | ret_30d | vol_spike | vol_pctile_30 | sma20_extension_pct | funding_rate | oi_usd |
| order | string | No | desc | asc | desc |
| limit | int | No | 250 | min: 1, max: 500 |
curl "https://cryptodataapi.com/api/v1/meme/regime?regime=ignition&sort=vol_spike&order=desc" \ -H "X-API-Key: cdk_live_your_key"
Market-wide meme-hype composite (0-100; higher = frothier) + sentiment band (euphoric / heating / neutral / cooling / dormant) + cross-meme co-movement correlation + a meme_season flag (broad heating + correlated pack move) + live median funding + regime aggregate. Also carries a live fresh_issuance froth gauge (DEX-promotion breadth/spend + GoPlus rug density) alongside the backfillable composite. Trimmed companion to /meme/regime — no per-coin list.
curl "https://cryptodataapi.com/api/v1/meme/regime/score" \ -H "X-API-Key: cdk_live_your_key"
Per-asset Meme regime detail with 60d daily history (close, 30d Garman-Klass vol) for sparkline rendering. Pro / Pro Plus only.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Bare ticker (e.g. WIF, PEPE); USDT suffix stripped automatically |
curl "https://cryptodataapi.com/api/v1/meme/regime/WIF" \ -H "X-API-Key: cdk_live_your_key"
Force recompute the Meme regime cache across the full meme universe. Pro / Pro Plus only.
curl -X POST "https://cryptodataapi.com/api/v1/meme/regime/refresh" \ -H "X-API-Key: cdk_live_your_key"
Token Supply
Circulating float, dilution overhang and the forward token-unlock calendar — the supply side of a token, split out from the Event/Catalyst regime that consumes the same unlock data for its risk composite. Float is computable for essentially every coin we hold; unlock schedules exist only for the protocols DefiLlama tracks, so every row states which of the two it has. Public page: /token-unlocks.
Circulating float and dilution overhang per coin, ranked by ascending float — tightest first, because that is the end of the distribution where supply is the story. A coin trading at a 22% float with three times its market cap still locked is a different instrument from one that is fully distributed. float_pct (0–1) is circulating ÷ supply_basis, and supply_basis tells you which denominator was used — max_supply when the token is genuinely capped, else total_supply. That matters: max_supply is absent for over half the universe, and “share of max” and “share of total” are different claims. dilution_overhang is the locked value as a multiple of current market cap — above 1.0x there is more value locked than the market prices today. next_unlock carries the soonest dated cliff, same-day tranches summed and priced against float. unlock_coverage: not_tracked means no vesting schedule is published for that token in our source — NOT that it has no unlock scheduled. Do not read a null as safe. Tiers: Free returns the top 25 rows; Pro / Pro Plus return the full board and the filters.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| min_market_cap | float | No | 500000000 | Market-cap floor. Below it a tight float is usually a nominal total_supply rather than a vesting schedule, and those artifacts dominate the ranking. Pass 0 for the full set |
| min_locked_usd | float | No | 0 | Only rows with at least this much locked value |
| max_float_pct | float | No | 1.0 | Only rows at or below this float (0-1) |
| symbol | string | No | — | Filter to one ticker |
| limit | int | No | 250 | Max rows. min: 1, max: 2000 |
curl "https://cryptodataapi.com/api/v1/supply/float?max_float_pct=0.4" \ -H "X-API-Key: cdk_live_your_key"
The forward token-unlock calendar — dated vesting cliffs, each sized in tokens, USD and share of circulating float. That last one is the number that matters: ten million tokens unlocking into a twenty-million float is a different event from the same ten million landing on a two-billion float. This is a cliff calendar, not an emissions feed — continuous emission (mining inflation, linear vesting, runs of identical daily releases) is deliberately excluded, because a drip is not a step and listing it buries the events that move a market. Coverage is bounded by the protocols DefiLlama's emissions data tracks, so absence here is not evidence that a token has no unlock scheduled. Tiers: Free is limited to the next 7 days; Pro / Pro Plus get the full horizon.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| window_days | int | No | 30 | Forward horizon. min: 1, max: 35 |
| symbol | string | No | — | Filter to one ticker |
curl "https://cryptodataapi.com/api/v1/supply/unlocks?window_days=30" \ -H "X-API-Key: cdk_live_your_key"
Event / Catalyst Regime
Event / Catalyst regime (Regime #5) — the only event-centric regime. A forward calendar of discrete, dated catalysts (token unlocks, scheduled macro prints, stablecoin depegs) plus a market-wide Event Risk composite (0–100, baseline 0; bands dormant / quiet / elevated / heavy / critical). Unlocks bias short (supply overhang), macro prints are risk flags (the surprise is unknown pre-event), major depegs bias short. Unlocks / macro / depeg backfill; the sector_rotation (CoinGecko categories) sidecar is live-only.
Forward catalyst calendar — every dated catalyst in the next window_days (default 7) with its type (unlock token vesting cliffs, macro_print, depeg, and mint stablecoin mint / burn steps), date, days-until, affected symbol(s), directional bias, and magnitude, plus the market-wide Event Risk score and band. The main Event/Catalyst payload; use /event/calendar for richer filtering and /event/regime/score for the composite alone.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| window_days | int | No | 7 | Forward horizon, min: 1, max: 30 |
curl "https://cryptodataapi.com/api/v1/event/regime?window_days=7" \ -H "X-API-Key: cdk_live_your_key"
Market-wide Event Risk composite (0-100, baseline 0) + band (dormant / quiet / elevated / heavy / critical) + the unlock / macro / depeg sub-scores. Composite = 0.40·unlock + 0.25·macro + 0.35·depeg, re-normalized over available feeds (partial / inputs_available flag which were live). Carries a live-only sector_rotation (CoinGecko categories) sidecar, excluded from the composite so live and backfilled scores stay comparable.
curl "https://cryptodataapi.com/api/v1/event/regime/score" \ -H "X-API-Key: cdk_live_your_key"
The queryable forward calendar (up to 30d out). Narrow by catalyst type, affected symbol, bias, min_magnitude, and window_days.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| type | string | No | — | unlock | macro_print | depeg | mint |
| window_days | int | No | 30 | min: 1, max: 30 |
| symbol | string | No | — | Filter to catalysts affecting this ticker |
| bias | string | No | — | long | short | neutral | risk_flag |
| min_magnitude | float | No | 0.0 | min: 0.0, max: 1.0 |
curl "https://cryptodataapi.com/api/v1/event/calendar?type=unlock&window_days=30" \ -H "X-API-Key: cdk_live_your_key"
Per-symbol catalyst overlay — pending catalysts for a coin in the next 7d, its net bias, net magnitude, nearest-event days, and the exact Hyperliquid hl_symbol join key. Pro / Pro Plus only.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Bare ticker (e.g. ARB, OP); USDT suffix stripped automatically |
curl "https://cryptodataapi.com/api/v1/event/regime/ARB" \ -H "X-API-Key: cdk_live_your_key"
Force recompute the Event / Catalyst regime cache. Pro / Pro Plus only.
curl -X POST "https://cryptodataapi.com/api/v1/event/regime/refresh" \ -H "X-API-Key: cdk_live_your_key"
Security / Black Swan Regime
Security / Black Swan regime (Regime #11) — an event-driven regime measuring acute security stress. A market-wide Security Stress composite (0–100, baseline 0; bands dormant / quiet / elevated / heavy / critical) = 0.45·hack + 0.30·flow + 0.25·depeg, re-normalized over available feeds. Hacks come from the dated, USD-quantified DefiLlama hacks registry; flow stress is the worst net-CEX-flow z-score (self-custody flight); depeg reuses the #5 cascade measure. Hack / flow / depeg backfill; the security_headlines advisory sidecar (rekt.news / SlowMist RSS) is live-only.
Recent security events — confirmed hacks/exploits and live stablecoin depegs in the last window_days (default 10), each with affected symbol(s), severity, and acute short bias, plus the market-wide Security Stress score and band. Use /security/regime/score for the composite alone.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| window_days | int | No | 10 | Lookback, min: 1, max: 10 |
curl "https://cryptodataapi.com/api/v1/security/regime?window_days=10" \ -H "X-API-Key: cdk_live_your_key"
Market-wide Security Stress composite (0-100, baseline 0) + band + the hack / flow / depeg sub-scores, the largest in-window hack, and the worst flow symbol/z-score. Composite = 0.45·hack + 0.30·flow + 0.25·depeg, re-normalized over available feeds (partial / inputs_available). Carries a live-only security_headlines sidecar (classified rekt.news / SlowMist RSS), excluded from the composite.
curl "https://cryptodataapi.com/api/v1/security/regime/score" \ -H "X-API-Key: cdk_live_your_key"
The queryable recent security-events list (up to 10d back). Narrow by event type, affected symbol, and min_severity.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| type | string | No | — | hack | depeg |
| window_days | int | No | 10 | min: 1, max: 10 |
| symbol | string | No | — | Filter to events affecting this ticker |
| min_severity | float | No | 0.0 | min: 0.0, max: 1.0 |
curl "https://cryptodataapi.com/api/v1/security/events?type=hack" \ -H "X-API-Key: cdk_live_your_key"
Per-symbol security overlay — the security events implicating a coin, its acute bias, max severity, and the exact Hyperliquid hl_symbol join key. Pro / Pro Plus only.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Bare ticker (e.g. ETH, SOL); USDT suffix stripped automatically |
curl "https://cryptodataapi.com/api/v1/security/regime/ETH" \ -H "X-API-Key: cdk_live_your_key"
Force recompute the Security / Black Swan regime cache. Pro / Pro Plus only.
curl -X POST "https://cryptodataapi.com/api/v1/security/regime/refresh" \ -H "X-API-Key: cdk_live_your_key"
Geopolitical / Policy Shock Regime
Geopolitical / Policy Shock regime (Regime #12) — a market-wide, event-driven regime. A Policy Risk composite (0–100, baseline 0; bands dormant / quiet / elevated / heavy / critical) = 0.40·gdelt + 0.35·cross-asset + 0.25·rate, plus a signed policy_tilt (−1 restrictive … +1 pro-crypto). Backbone: GDELT news volume + tone (geopolitics), safe-haven cross-asset dislocation (gold / treasuries), and the scheduled rate calendar — all backfillable. The policy_headlines (Federal Register / SEC / CFTC) sidecar is live-only.
Policy Risk score + signed policy_tilt (pro-crypto vs restrictive) + the upcoming rate catalysts (FOMC decisions) within window_days. Use /policy/regime/score for the full sub-score breakdown and /policy/headlines for the live US-regulatory feed.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| window_days | int | No | 45 | Forward horizon for rate catalysts, min: 1, max: 45 |
curl "https://cryptodataapi.com/api/v1/policy/regime" \ -H "X-API-Key: cdk_live_your_key"
Market-wide Policy Risk composite (0-100, baseline 0) + band + signed policy_tilt + the gdelt / cross_asset / rate sub-scores (with the raw GDELT volume z-score & tone). Composite = 0.40·gdelt + 0.35·cross_asset + 0.25·rate, re-normalized over available feeds. Carries a live-only policy_headlines (Federal Register / SEC / CFTC) sidecar, excluded from the composite.
curl "https://cryptodataapi.com/api/v1/policy/regime/score" \ -H "X-API-Key: cdk_live_your_key"
The live breaking-news sidecar — recent US-regulatory headlines (Federal Register / SEC / CFTC) classified pro-crypto vs restrictive, with an aggregate regulatory_pressure magnitude and a signed headline_tilt. Live-only; not part of any backfillable composite.
curl "https://cryptodataapi.com/api/v1/policy/headlines" \ -H "X-API-Key: cdk_live_your_key"
Force recompute the Geopolitical / Policy Shock regime cache. Pro / Pro Plus only.
curl -X POST "https://cryptodataapi.com/api/v1/policy/regime/refresh" \ -H "X-API-Key: cdk_live_your_key"
Market Data
Binance Spot market data — klines, tickers, prices, exchange info.
OHLCV klines from Binance Spot.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | BTCUSDT | |
| interval | string | No | 1d | |
| limit | int | No | 200 | min: 1, max: 1000 |
curl "https://cryptodataapi.com/api/v1/market-data/klines?symbol=BTCUSDT&interval=1d&limit=200" \ -H "X-API-Key: cdk_live_your_key"
24hr ticker stats from Binance Spot.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | BTCUSDT |
curl "https://cryptodataapi.com/api/v1/market-data/ticker/24hr?symbol=BTCUSDT" \ -H "X-API-Key: cdk_live_your_key"
Current price from Binance Spot.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | BTCUSDT |
curl "https://cryptodataapi.com/api/v1/market-data/ticker/price?symbol=BTCUSDT" \ -H "X-API-Key: cdk_live_your_key"
BTC price history with 200D MA.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 365 | min: 1, max: 730 |
curl "https://cryptodataapi.com/api/v1/market-data/btc-price-history?days=365" \ -H "X-API-Key: cdk_live_your_key"
Daily volume + buy ratio, derived from our own kline + taker archives.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 30 | min: 1, max: 90 |
curl "https://cryptodataapi.com/api/v1/market-data/volume-history?days=30" \ -H "X-API-Key: cdk_live_your_key"
Short-term BTC price momentum metrics (on-demand computation).
curl "https://cryptodataapi.com/api/v1/market-data/short-term-price" \ -H "X-API-Key: cdk_live_your_key"
Exchange pair info from Binance Spot.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | BTCUSDT |
curl "https://cryptodataapi.com/api/v1/market-data/exchange-info?symbol=BTCUSDT" \ -H "X-API-Key: cdk_live_your_key"
Exchanges
Venue directory — profiles, specs and our partner sign-up links. Public, no API key.
Every exchange we profile, with its sign-up link where we hold one. Returns exchanges[], all_slugs[], count and disclosure. Each row carries slug, name, kind (CEX / DEX / Broker), website, tagline, about, founded, based, focus[], specs, plus signup_url, signup_incentive, referral_code and is_referral_link.
Sign-up URLs are CryptoDataAPI partner/referral links. signup_incentive is what the end user gets for using one — Hyperliquid pays them a 4% discount on spot and perpetual trading fees. If you surface signup_url, surface the response's disclosure with it.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| referral_only | boolean | No | false | Return only venues we hold a partner sign-up link for |
curl "https://cryptodataapi.com/api/v1/exchanges?referral_only=true"
One venue by slug, same row shape as /exchanges, wrapped as {exchange, disclosure}. Returns 404 for an unknown slug — the known set is in the list endpoint's all_slugs.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| slug | string | Yes | — | hyperliquid, binance, bybit, okx, asterdex, lighter, robinhood |
curl "https://cryptodataapi.com/api/v1/exchanges/hyperliquid"
DEX & Meme Coins
Trending DEX pools across chains. High-frequency discovery data for meme coin alpha.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| chain | string | No | — | Filter by chain: solana, ethereum, base, bsc, arbitrum |
| universe | string | No | — | Filter to token universe: hl_perps |
curl "https://cryptodataapi.com/api/v1/dex/trending" \ -H "X-API-Key: cdk_live_your_key"
Newest DEX pools — early discovery of new token launches.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| chain | string | No | — | Filter by chain: solana, ethereum, base, bsc, arbitrum |
curl "https://cryptodataapi.com/api/v1/dex/new-pools" \ -H "X-API-Key: cdk_live_your_key"
Token info + top pools for a specific token on a chain.
| Name | Type | Required | Description |
|---|---|---|---|
| chain | string | Yes | |
| address | string | Yes |
curl "https://cryptodataapi.com/api/v1/dex/token/solana/So11111111111111111111111111111111" \ -H "X-API-Key: cdk_live_your_key"
Recently promoted/boosted tokens — marketing spend signal.
curl "https://cryptodataapi.com/api/v1/dex/promoted" \ -H "X-API-Key: cdk_live_your_key"
Top promoted tokens ranked by promotion spend.
curl "https://cryptodataapi.com/api/v1/dex/promoted/top" \ -H "X-API-Key: cdk_live_your_key"
Token security report — rug detection, honeypot check, risk scoring.
| Name | Type | Required | Description |
|---|---|---|---|
| chain | string | Yes | |
| address | string | Yes |
curl "https://cryptodataapi.com/api/v1/dex/security/solana/So11111111111111111111111111111111" \ -H "X-API-Key: cdk_live_your_key"
Daily Snapshot
Full daily bulk snapshot of all current data in a single response.
Full daily snapshot of all current (non-history) data in one response. Excludes Binance spot prices and Hyperliquid data which are available via dedicated ``/daily/prices`` and ``/daily/hyperliquid`` endpoints. **Market health block (`market_health`)** Dual-score architecture: 4 long-term components (Price Trend, Market Breadth, Stablecoin Flow 90d, Macro/DXY) + 7 short-term components (Volume Quality, Fear & Greed, Derivatives, Market Breadth Short, Volatility, Short-Term Price, Stablecoin Flow 14d). Combined score = 0.5·LT + 0.5·ST. - `market_health.total_score` / `long_term_score` / `short_term_score`: int 0–100 - `market_health.sentiment` / `long_term_sentiment` / `short_term_sentiment`: BULLISH | NEUTRAL | BEARISH - `market_health.components`: `{name: {score, weight}}` (per-component details are stripped from `/daily`; hit `/market-health` for component `.details`) - `market_health.indicators`: flat denormalization for quick consumption (below) **`market_health.indicators` contract** A flat dict of the most-filtered values from `components.<x>.details`. Keys are **omitted entirely** when the source value is unavailable (never null) so consumers can safely use `dict.get(key, default)` for fallbacks. Committed key set: - `long_short_ratio` (float) — BTC long/short ratio (Binance perps) - `funding_rate` (float, %) — avg funding rate (aliased from `avg_funding_rate`; CoinGlass cross-exchange when available, Binance fallback) - `buy_ratio` (float, 0–1) — weighted taker-buy ratio across top spot pairs - `fear_greed_value` (int, 0–100) — averaged Fear & Greed index - `breadth_pct` (float, %) — share of top-30 coins above their 200D MA - `pct_from_200ma` (float, %) — BTC distance from 200D MA - `cross_status` (str) — Golden | Death | Neutral - `stablecoin_change_7d` (float) — 7-day stablecoin market-cap change **Cross-exchange scope** `market_health` is computed cross-exchange (CoinGlass aggregate + Binance) and is **not** scoped by the `exchange` query param. The `exchange` filter only trims the `coins`, `coinglass.funding`, and `coinglass.liquidations` lists. In particular `indicators.long_short_ratio` is BTC-on-Binance, used as a market-wide sentiment signal — not a per-exchange Hyperliquid metric. **Payload trimming and filter-source readiness** To keep responses small, `coinglass.funding` and `coinglass.liquidations` are always capped at the top 100 entries (sorted by max absolute funding rate and 24h liquidation USD respectively) regardless of the `exchange` filter. The full long tail is available at the dedicated `/market-intelligence/funding-rates` and `/market-intelligence/liquidations` endpoints. When `exchange` is set to a specific venue whose coin set has not yet loaded after server start, this endpoint returns `503` rather than silently emitting the unfiltered payload.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| exchange | string | No | hyperliquid | Filter coins by exchange: hyperliquid, binance_spot, asterdex, or 'all' for unfiltered |
| format | string | No | — | Response format: 'markdown' for LLM-friendly plain text |
| technical_detail | boolean | No | false | Include the full per-symbol technical_regime.by_symbol map (keyed by ticker; ma/bollinger/range_state/rsi per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}. |
curl "https://cryptodataapi.com/api/v1/daily?exchange=hyperliquid" \ -H "X-API-Key: cdk_live_your_key"
All Binance spot price pairs (~2,500 symbols).
curl "https://cryptodataapi.com/api/v1/daily/prices" \ -H "X-API-Key: cdk_live_your_key"
Hyperliquid perpetuals: prices, funding rates, and open interest (~230 assets). Each entry in ``funding_oi`` contains both raw and derived fields: - ``funding_rate`` — Hyperliquid's own funding rate, per HL funding interval (1h on HL by default). Negative values indicate shorts paying longs. This is **Hyperliquid-specific**; cross-exchange averaged funding lives in ``/market-health`` and ``/market-intelligence/funding-rates``. - ``open_interest`` — **in base-coin units** (number of contracts), mirroring the Hyperliquid API. For BTC this might be ``28846.42`` meaning ~28.8K BTC. Use this when comparing across exchanges that quote OI in the same units. - ``open_interest_usd`` — derived notional in USD = ``open_interest * mark_price``. Use this for "is this market large enough to trade?" thresholds. - ``mark_price`` / ``oracle_price`` — both USD. - ``day_ntl_vlm`` — 24h notional volume, **already USD-denominated**. Coverage: every active HL perp (~230). Refresh cadence: 1 minute. Note that thinly-traded perps may emit ``open_interest = 0`` legitimately when no positions are open.
curl "https://cryptodataapi.com/api/v1/daily/hyperliquid" \ -H "X-API-Key: cdk_live_your_key"
Top trader leaderboard, wallet positions, and tracking metadata.
curl "https://cryptodataapi.com/api/v1/daily/hl-traders" \ -H "X-API-Key: cdk_live_your_key"
Health
System health check endpoint.
Basic health check endpoint (no auth required).
curl "https://cryptodataapi.com/api/v1/health"
Basic health check endpoint (no auth required).
curl -X HEAD "https://cryptodataapi.com/api/v1/health"
Meta
API version signal and change history.
Curated history of breaking and notable response-shape changes, newest first, plus the current api_version (CalVer YYYY-MM-DD). The same string ships on every /api/* response as the X-API-Version header, so you can detect that the API changed without diffing payloads, then poll this to see what changed. Every entry carries an honest breaking flag.
/changelog returns this identical JSON to any non-browser caller and the human-readable changelog page to browsers. This path always returns JSON regardless of Accept — prefer it for integrations.
curl "https://cryptodataapi.com/api/v1/changelog"
Indicators
SIGNUM_RGG trend radar across all Hyperliquid perps + top 100 Binance USDT pairs. Each asset gets a daily RED/GREY/GREEN color from ADX(14)+DMI with hysteresis, plus days-in-color, flip date, % change since flip, and (for grey) the 20-day consolidation range.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| color | string | No | — | |
| source | string | No | — | |
| min_days | int | No | — | min: 0 |
| max_days | int | No | — | min: 0 |
| sort | string | No | days_in_color | |
| order | string | No | desc | |
| limit | int | No | 250 | min: 1, max: 500 |
curl "https://cryptodataapi.com/api/v1/indicators/signum-rgg?sort=days_in_color&order=desc&limit=250" \ -H "X-API-Key: cdk_live_your_key"
Per-asset SIGNUM_RGG detail with the last 60 days of color history.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes |
curl "https://cryptodataapi.com/api/v1/indicators/signum-rgg/BTC" \ -H "X-API-Key: cdk_live_your_key"
Force recompute the SIGNUM_RGG cache (Pro tier).
curl -X POST "https://cryptodataapi.com/api/v1/indicators/signum-rgg/refresh" \ -H "X-API-Key: cdk_live_your_key"
Technical / Structural regime overlay (Regime #14, Pro tier). Per-asset price-structure state across the SIGNUM_RGG universe: SMA-50/100/200 + last cross, Bollinger-band squeeze + 90d bandwidth percentile, 20d range position, and RSI(14) extremes on daily + 1h. Combine filters: ?bb=in_squeeze&sort=squeeze_days&order=desc, ?ma_state=reclaim_200, ?rsi=oversold&min_days_in_state=2.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| source | string | No | — | binance_spot | hyperliquid_perp |
| ma_state | string | No | — | above_200 | below_200 | breakdown_200 | reclaim_200 |
| bb | string | No | — | in_squeeze | expanding |
| range_zone | string | No | — | near_low | mid | near_high |
| rsi | string | No | — | overbought | oversold | extreme (>80 or <20) |
| min_days_in_state | int | No | — | min: 0; applies to squeeze or RSI extreme filter |
| sort | string | No | symbol | symbol | price | rsi_1d | bb_bandwidth | squeeze_days | dist_from_200 | position_in_range |
| order | string | No | desc | asc | desc |
| limit | int | No | 250 | min: 1, max: 500 |
curl "https://cryptodataapi.com/api/v1/indicators/technical?bb=in_squeeze&sort=squeeze_days&order=desc&limit=50" \ -H "X-API-Key: cdk_live_your_key"
Per-asset Technical / Structural detail with 60d daily history (close, RSI-14, BB bandwidth, SMA-200, above_200) for sparkline rendering.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes |
curl "https://cryptodataapi.com/api/v1/indicators/technical/BTC" \ -H "X-API-Key: cdk_live_your_key"
Force recompute the Technical / Structural cache (Pro tier).
curl -X POST "https://cryptodataapi.com/api/v1/indicators/technical/refresh" \ -H "X-API-Key: cdk_live_your_key"
Hyperliquid Traders
Scored leaderboard of top traders filtered by performance criteria.
curl "https://cryptodataapi.com/api/v1/hyperliquid/top-traders" \ -H "X-API-Key: cdk_live_your_key"
Current positions for tracked wallets. For non-tracked addresses, queries Hyperliquid on-demand.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| address | string | No | — | Filter by wallet address (0x...) |
curl "https://cryptodataapi.com/api/v1/hyperliquid/wallet-positions" \ -H "X-API-Key: cdk_live_your_key"
Position change signals: entries, exits, size increases/decreases.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| minutes | int | No | 10 | Look-back window in minutes (min: 1, max: 1440) |
| address | string | No | — | Filter by wallet address (0x...). Comma-separated for multiple. |
curl "https://cryptodataapi.com/api/v1/hyperliquid/wallet-signals?minutes=10" \ -H "X-API-Key: cdk_live_your_key"
Trade profiles with win rate, PnL, classification, and edges.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| address | string | No | — | Filter by wallet address (0x...) |
curl "https://cryptodataapi.com/api/v1/hyperliquid/trader-profiles" \ -H "X-API-Key: cdk_live_your_key"
Force a synchronous refresh of trade profiles for all tracked wallets. Pro Plus tier — expensive (~15-30s, sequential Hyperliquid calls). Use after a deploy or when cached profiles look stale; the daily 19:00 UTC scheduled refresh covers normal operation.
curl -X POST "https://cryptodataapi.com/api/v1/hyperliquid/trader-profiles/refresh" \ -H "X-API-Key: cdk_live_your_key"
Force a synchronous refresh of the Hyperliquid leaderboard cache. Pro Plus tier — fetches a ~28 MB payload and takes ~25-30s. Use when /copy-signals or /wallets/search return 0 results and you suspect the in-memory leaderboard is empty (e.g. a startup fetch timed out). The 2-min position refresh job will also auto-recover an empty leaderboard; this endpoint is for forcing it sooner.
curl -X POST "https://cryptodataapi.com/api/v1/hyperliquid/leaderboard/refresh" \ -H "X-API-Key: cdk_live_your_key"
Search the cached top-leaderboard pool for wallets matching arbitrary gates. Read-only — does not modify the watchlist. Pool is the same ~50-wallet set that auto-watchlist evaluation considers. Refreshed daily at 19:00 UTC.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| min_score | float | No | 0 | Minimum top-trader score (min: 0, max: 100) |
| min_win_rate | float | No | — | Minimum 30d win rate (0-1) (min: 0, max: 1) |
| min_profit_factor | float | No | — | Minimum profit factor (min: 0) |
| min_trades_30d | int | No | — | Minimum trades in 30d. Defaults to 30 to filter tiny-sample wallets. Pass 0 explicitly to disable. (min: 0) |
| min_avg_duration_hours | float | No | — | Min avg trade duration (hours) (min: 0) |
| exclude_types | string | No | — | Comma-separated trader types to exclude, e.g. 'hft,scalper' |
| limit | int | No | 50 | Max wallets to return (min: 1, max: 50) |
curl "https://cryptodataapi.com/api/v1/hyperliquid/wallets/search?min_score=0&limit=50" \ -H "X-API-Key: cdk_live_your_key"
List all watchlisted wallet addresses.
curl "https://cryptodataapi.com/api/v1/hyperliquid/watchlist" \ -H "X-API-Key: cdk_live_your_key"
Add wallet addresses to the watchlist. Automatically starts tracking for signals.
| Name | Type | Required | Description |
|---|---|---|---|
| entries | array | Yes |
curl -X POST "https://cryptodataapi.com/api/v1/hyperliquid/watchlist" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Remove wallet addresses from the watchlist.
| Name | Type | Required | Description |
|---|---|---|---|
| addresses | array | Yes |
curl -X DELETE "https://cryptodataapi.com/api/v1/hyperliquid/watchlist" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Get current auto-managed watchlist configuration and status.
curl "https://cryptodataapi.com/api/v1/hyperliquid/watchlist/auto" \ -H "X-API-Key: cdk_live_your_key"
Auto-populate watchlist from top traders based on configurable criteria.
| Name | Type | Required | Description |
|---|---|---|---|
| mode | string | No | Source mode (currently only 'top_traders') |
| max_wallets | integer | No | Max wallets in auto-managed set |
| min_score | integer | No | Minimum top-trader score |
| filters | any | No | |
| auto_refresh | boolean | No | Re-evaluate daily and update automatically |
curl -X POST "https://cryptodataapi.com/api/v1/hyperliquid/watchlist/auto" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Disable auto-management and remove all auto-managed entries.
curl -X DELETE "https://cryptodataapi.com/api/v1/hyperliquid/watchlist/auto" \ -H "X-API-Key: cdk_live_your_key"
Top traders with their recent signals in a single response. Replaces the 3-step workflow (top-traders → watchlist → signals) with one call. Only returns traders that have signals in the given time window. Profile filters (min_win_rate, min_profit_factor, min_trades_30d, min_avg_duration_hours, exclude_types) are optional and only applied when passed — preserves backward compatibility. Recommended: pass min_trades_30d=30 to drop tiny-sample wallets.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| min_score | int | No | 80 | Minimum trader score (min: 0, max: 100) |
| minutes | int | No | 60 | Signal look-back window in minutes (min: 1, max: 1440) |
| min_win_rate | float | No | — | Minimum 30d win rate (0-1) (min: 0, max: 1) |
| min_profit_factor | float | No | — | Minimum profit factor (min: 0) |
| min_trades_30d | int | No | — | Minimum trades in 30d. Pass 30+ to filter tiny-sample wallets (e.g. '100% WR over 2 trades'). Not auto-defaulted here for backward compatibility. (min: 0) |
| min_avg_duration_hours | float | No | — | Min avg trade duration (hours) (min: 0) |
| exclude_types | string | No | — | Comma-separated trader types to exclude, e.g. 'hft,scalper' |
curl "https://cryptodataapi.com/api/v1/hyperliquid/copy-signals?min_score=80&minutes=60" \ -H "X-API-Key: cdk_live_your_key"
On-demand trade profile for ANY Hyperliquid address. Fetches fill history and computes stats.
| Name | Type | Required | Description |
|---|---|---|---|
| address | string | Yes |
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 30 | Analysis period in days (min: 1, max: 90) |
curl "https://cryptodataapi.com/api/v1/hyperliquid/trader-profile/So11111111111111111111111111111111?days=30" \ -H "X-API-Key: cdk_live_your_key"
Historical trades for any Hyperliquid address with summary statistics.
| Name | Type | Required | Description |
|---|---|---|---|
| address | string | Yes |
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 30 | Trade history period in days (min: 1, max: 90) |
curl "https://cryptodataapi.com/api/v1/hyperliquid/wallet-trades/So11111111111111111111111111111111?days=30" \ -H "X-API-Key: cdk_live_your_key"
Market Intelligence
All 8 BTC cycle indicators.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 30 | Number of daily entries to return (0 = all, default 30) (min: 0) |
curl "https://cryptodataapi.com/api/v1/market-intelligence/btc/cycle-indicators?days=30" \ -H "X-API-Key: cdk_live_your_key"
Single BTC cycle indicator by name.
| Name | Type | Required | Description |
|---|---|---|---|
| indicator | string | Yes | Indicator name |
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 30 | Number of daily entries to return (0 = all, default 30) (min: 0) |
curl "https://cryptodataapi.com/api/v1/market-intelligence/btc/cycle-indicators/puell_multiple?days=30" \ -H "X-API-Key: cdk_live_your_key"
BTC spot-ETF assets under management, reconstructed from the full daily flow history since the Jan 2024 launch: aum_usd_from_flows, btc_held_from_flows, cumulative_net_flow_usd, price_appreciation_usd plus method, excludes and caveats. A derived estimate — it covers BTC accumulated through flows, so it excludes GBTC’s pre-conversion stake.
curl "https://cryptodataapi.com/api/v1/market-intelligence/etf/btc/aum" \ -H "X-API-Key: cdk_live_your_key"
BTC, ETH or SOL spot-ETF latest-day net flow. XRP is not supported — no free source publishes XRP spot-ETF flows.
| Name | Type | Required | Description |
|---|---|---|---|
| asset | string | Yes | Asset: btc, eth, or sol |
curl "https://cryptodataapi.com/api/v1/market-intelligence/etf/btc/flows" \ -H "X-API-Key: cdk_live_your_key"
Cross-exchange liquidation data. Defaults to Hyperliquid perps coins only. **Filter semantics:** ``exchange=`` is a **coin-set filter**, not an exchange-data filter. With ``exchange=hyperliquid`` you get the coins listed on Hyperliquid, but the liquidation values inside each entry are CoinGlass cross-exchange aggregates (Binance, OKX, Bybit, …). For Hyperliquid's own per-asset trading data use ``/daily/hyperliquid``.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter to a single coin (e.g. BTC) |
| exchange | string | No | hyperliquid | Filter to coins on exchange: hyperliquid, binance_spot, asterdex, or all |
| type | string | No | perps | Instrument type (perps) |
| limit | int | No | 250 | Max coins to return (default 250) (min: 1, max: 500) |
curl "https://cryptodataapi.com/api/v1/market-intelligence/liquidations?exchange=hyperliquid&type=perps&limit=250" \ -H "X-API-Key: cdk_live_your_key"
Coins whose forced-liquidation flow is one-sided and abnormal right now. A cascade tripwire, not a news feed.
Scored catalysts on /news/market-moving are 15–45 minutes behind a breaking story — RSS is polled every 5 minutes and desks publish well after the fact — which is no use to a leveraged position. This reads the liquidation websocket directly: on 2026-08-19 the BTC tape printed $322.8M of short liquidations in one 5-minute bucket at a 334x short/long ratio, 23 minutes before the first related headline qualified for the tape.
direction names the side being LIQUIDATED, not the price. A short liquidation is the exchange closing a short at market — forced buying — so short_squeeze is upward pressure and long_flush is downward, and the label is correct before price confirms it.
oi_state separates the two cases that matter. Open interest falling into a short squeeze means shorts are being closed out (the move is consuming its own fuel); OI rising means fresh positioning is being added into it. Reads null until the OI history has two samples, and unclear inside a ±0.5% noise band rather than being forced into a story.
Severity is built from ratios, not dollars: spike_ratio (this window against the coin's own trailing-24h mean) and asymmetry (the dominant side's share) carry 80% of the weight. Absolute notionals are the figure most distorted by the coverage gap below, so they are weighted least.
triggered needs all five gates. spike_ratio ≥ 2, asymmetry ≥ 0.70, severity ≥ 0.35, window notional ≥ $100k, and ≥ 1h of baseline history. suppressed_by names whichever blocked it and is empty when triggered. The two absolute floors exist because notional is only 20% of the severity weight — without them a perfectly one-sided window scores 0.80 on any size at all, which in production raised alerts on $760 of liquidations. The floors gate the alert, not the scoring, so include_quiet=true still returns the row with the reason attached.
Coverage: the same venue subset as /market-intelligence/liquidations (OKX + Bybit + Hyperliquid where armed; Hyperliquid is exact per-fill). Binance geo-blocks its liquidation stream from our infrastructure, so notionals run below a true all-exchange total. Check baseline_span_h — the hours of history actually behind spike_ratio. Not window_uptime_h, which is process uptime: the feed restores up to 24h of events from its snapshot on boot, so uptime resets on every deploy while the history does not. Triggering is gated on the span.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter to a single coin (e.g. BTC) |
| window_s | int | No | 300 | Trailing window in seconds (min: 60, max: 3600) |
| min_severity | float | No | 0.35 | Minimum severity to report (min: 0, max: 1) |
| include_quiet | bool | No | false | Return every coin with a usable window, not just the ones firing. For calibration |
| limit | int | No | 250 | Max coins to scan (min: 1, max: 500) |
curl "https://cryptodataapi.com/api/v1/market-intelligence/squeeze-alerts?window_s=300" \ -H "X-API-Key: cdk_live_your_key"
BTC options data (OI, volume, max pain).
curl "https://cryptodataapi.com/api/v1/market-intelligence/options" \ -H "X-API-Key: cdk_live_your_key"
Exchange BTC balance and flow data.
curl "https://cryptodataapi.com/api/v1/market-intelligence/exchange-balance" \ -H "X-API-Key: cdk_live_your_key"
Cross-exchange funding rates. Defaults to Hyperliquid perps coins only. **Filter semantics:** ``exchange=`` is a **coin-set filter**, not an exchange-data filter. With ``exchange=hyperliquid`` you get the coins listed on Hyperliquid, but each entry's ``stablecoin_margin_list`` / ``token_margin_list`` still shows funding rates from every exchange (Binance, OKX, Bybit, …). For Hyperliquid's own per-asset funding rate use ``/daily/hyperliquid``.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter to a single coin (e.g. BTC) |
| exchange | string | No | hyperliquid | Filter to coins on exchange: hyperliquid, binance_spot, asterdex, or all |
| type | string | No | perps | Instrument type (perps) |
| limit | int | No | 250 | Max coins to return (default 250) (min: 1, max: 500) |
curl "https://cryptodataapi.com/api/v1/market-intelligence/funding-rates?exchange=hyperliquid&type=perps&limit=250" \ -H "X-API-Key: cdk_live_your_key"
Cross-exchange open interest. Returns multi-symbol data (top ~25 perps) when available, falling back to BTC-only from the fast-refresh cache. **Filter semantics:** ``exchange=`` is a **coin-set filter**, not an exchange-data filter. With ``exchange=hyperliquid`` you get the coins listed on Hyperliquid, but each entry's ``exchange_list`` still aggregates open interest across all CEXes. For Hyperliquid's own per-asset OI use ``/daily/hyperliquid`` — note that ``open_interest`` there is in base-coin units, with ``open_interest_usd`` as a derived USD notional.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter to a single coin (e.g. BTC) |
| exchange | string | No | hyperliquid | Filter to coins on exchange: hyperliquid, binance_spot, asterdex, or all |
| type | string | No | perps | Instrument type (perps) |
| limit | int | No | 250 | Max coins to return (default 250) (min: 1, max: 500) |
curl "https://cryptodataapi.com/api/v1/market-intelligence/open-interest?exchange=hyperliquid&type=perps&limit=250" \ -H "X-API-Key: cdk_live_your_key"
Taker buy/sell volume ratio by exchange, per coin (4h window).
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter by symbol (BTC, ETH, SOL, DOGE, XRP, ADA). Omit for all. |
curl "https://cryptodataapi.com/api/v1/market-intelligence/taker-buy-sell" \ -H "X-API-Key: cdk_live_your_key"
BTC liquidations broken down by exchange over the trailing 4h — exchange, total/total_usd, long_usd, short_usd, largest first. Coverage is OKX + Bybit + Hyperliquid, so totals run under a true all-exchange number (Binance geo-blocks its liquidation stream from our IPs).
curl "https://cryptodataapi.com/api/v1/market-intelligence/liquidations/by-exchange" \ -H "X-API-Key: cdk_live_your_key"
Fear & Greed index history with dated entries.
curl "https://cryptodataapi.com/api/v1/market-intelligence/fear-greed-history" \ -H "X-API-Key: cdk_live_your_key"
Stablecoin market cap history timeseries.
curl "https://cryptodataapi.com/api/v1/market-intelligence/stablecoin-history" \ -H "X-API-Key: cdk_live_your_key"
Market intelligence collector status and rate usage.
curl "https://cryptodataapi.com/api/v1/market-intelligence/status" \ -H "X-API-Key: cdk_live_your_key"
On-Chain Intelligence
Leading on-chain signals sourced from QuickNode RPC nodes, mempool.space, Ethplorer, and CoinMetrics Community. Covers exchange flows, stablecoin reserves, miner activity, dormancy / MVRV, whale accumulation, and a composite health score.
CEX stablecoin reserves across ETH/Tron/BSC. Aggregate USDT/USDC/etc. balances held in known hot/cold wallets of the top-5 centralized exchanges. Rising = dry powder accumulating (bullish); falling = capital deployed.
curl "https://cryptodataapi.com/api/v1/on-chain/stablecoin-reserves" \ -H "X-API-Key: cdk_live_your_key"
Dry-powder signal: z-score of current CEX stablecoin reserves vs trailing 30-day baseline. Returns "accumulating" (z > +1), "neutral", or "depleting" (z < -1). Returns "unknown" until ≥8 historical snapshots collected.
curl "https://cryptodataapi.com/api/v1/on-chain/stablecoin-reserves/dry-powder" \ -H "X-API-Key: cdk_live_your_key"
Net Transfer flow to/from CEX wallets for a symbol, summed across all chains the symbol exists on. Coverage: ETH (50 ERC-20s + native ETH via balance-delta polling), BSC (9 tokens), Tron (USDT, USDC), and Solana (13 via Helius enhanced API). Returns 1h/6h/24h/7d windows, per-exchange 24h breakdown (binance, coinbase, kraken, bybit, okx), and rolling z-scores. Positive net = deposits (often bearish). Negative net = withdrawals (often bullish). 90d historical depth via /backtesting/daily-snapshots with per-chain breakdown under exchange_flows.by_chain.<chain>.
Caveats: (1) Solana SPL/SOL inflow numbers are systematically low (withdrawals-only bias from CEX-deposit-account model — outflow numbers are accurate). EVM chains unaffected. (2) Native ETH symbol (vs wrapped WETH) is live-only — no historical backfill, accumulates forward from collector start.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Token symbol (e.g. USDT) |
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| exchange | string | No | — | Filter to one exchange (e.g. binance) |
curl "https://cryptodataapi.com/api/v1/on-chain/exchange-flows/USDT" \ -H "X-API-Key: cdk_live_your_key"
Recent large transfers (≥ min_amount, default $1M) to/from tracked CEX wallets. Useful for catching whale-sized deposits in real time across ETH and BSC chains.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| min_amount | float | No | 1000000 | Minimum transfer size in token units |
| limit | int | No | 50 | max: 500 |
curl "https://cryptodataapi.com/api/v1/on-chain/exchange-flows/spike-alerts?min_amount=5000000" \ -H "X-API-Key: cdk_live_your_key"
BTC miner pool reserves + 24h/7d/30d net flow per pool. Tracks reward addresses for Foundry USA, AntPool, F2Pool, ViaBTC, and Binance Pool. Negative net = miner selling pressure; positive net = miner accumulation.
curl "https://cryptodataapi.com/api/v1/on-chain/miners/reserves" \ -H "X-API-Key: cdk_live_your_key"
Hash Ribbon indicator: 30dMA vs 60dMA of BTC hashrate. States: "capitulation" (30dMA < 60dMA), "recovery" (just crossed back above within 14d — strongest BTC bottom signal historically), or "normal". Sourced from mempool.space hashrate index (3y daily history).
curl "https://cryptodataapi.com/api/v1/on-chain/miners/hash-ribbon" \ -H "X-API-Key: cdk_live_your_key"
BTC supply-shock / dormancy signals via CoinMetrics Community API. Returns MVRV with zone classification (capitulation < 1.0, accumulation 1.0-1.5, neutral 1.5-2.5, elevated 2.5-3.5, euphoria > 3.5), active addresses, issuance USD, and chain-wide exchange flow USD as a cross-check on QuickNode ERC-20 flows.
curl "https://cryptodataapi.com/api/v1/on-chain/dormancy/btc" \ -H "X-API-Key: cdk_live_your_key"
🚧 Coming soon — temporarily disabled (currently returns HTTP 503). Top-100 non-CEX holders across USDT, USDC, WBTC, and WETH on Ethereum. CEX wallets and contract addresses are filtered out so the remaining set represents genuine large economic holders.
curl "https://cryptodataapi.com/api/v1/on-chain/whales" \ -H "X-API-Key: cdk_live_your_key"
🚧 Coming soon — temporarily disabled (currently returns HTTP 503). Top non-CEX holders of one ERC-20 (USDT, USDC, WBTC, WETH) with 24h/7d/30d aggregate balance deltas. Includes top-5 holder list and the discrete accumulation_signal field (accumulating / neutral / distributing / unknown).
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | USDT / USDC / WBTC / WETH |
curl "https://cryptodataapi.com/api/v1/on-chain/whales/USDT" \ -H "X-API-Key: cdk_live_your_key"
🚧 Coming soon — temporarily disabled (currently returns HTTP 503). Aggregate whale accumulation verdict across all tracked ERC-20s. Counts how many tokens are accumulating, neutral, distributing, or unknown and emits a single directional signal.
curl "https://cryptodataapi.com/api/v1/on-chain/whales/accumulation-score" \ -H "X-API-Key: cdk_live_your_key"
🚧 Coming soon — temporarily disabled (currently returns HTTP 503). Whale accumulation signal for a single ERC-20 token with full 7d/30d delta payload.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | USDT / USDC / WBTC / WETH |
curl "https://cryptodataapi.com/api/v1/on-chain/whales/accumulation-score/USDT" \ -H "X-API-Key: cdk_live_your_key"
Composite 0-100 on-chain health score with per-component breakdown. Synthesizes Hash Ribbon, MVRV zone, stablecoin dry-powder, whale accumulation, exchange-flow direction, and miner net flow into a single directional read. Sentiment bands: bullish (≥70), leaning_bullish (55-69), neutral (45-54), leaning_bearish (30-44), bearish (<30).
curl "https://cryptodataapi.com/api/v1/on-chain/score" \ -H "X-API-Key: cdk_live_your_key"
Backtesting
Historical / backtesting data. The daily-snapshot archive (/daily-snapshots and /daily-snapshots/{date}) is free; every other Backtesting endpoint requires a Pro Plus key.
Query historical 1-minute OHLCV klines for backtesting.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | Yes | — | Trading pair, e.g. BTCUSDT (Binance) or BTC (Hyperliquid) |
| exchange | string | No | binance | binance or hyperliquid |
| start | string | Yes | — | Start time (ISO 8601 or unix ms) |
| end | string | No | — | End time (ISO 8601 or unix ms, defaults to now) |
| limit | int | No | 1000 | min: 1, max: 10000 |
| format | string | No | json | Response format: json or csv |
curl "https://cryptodataapi.com/api/v1/backtesting/klines?exchange=binance&limit=1000&format=json" \ -H "X-API-Key: cdk_live_your_key"
Query historical funding rates and open interest.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | Yes | — | Symbol, e.g. BTC or BTCUSDT |
| exchange | string | No | hyperliquid | binance or hyperliquid |
| start | string | Yes | — | Start time (ISO 8601 or unix ms) |
| end | string | No | — | End time |
| limit | int | No | 1000 | min: 1, max: 10000 |
curl "https://cryptodataapi.com/api/v1/backtesting/funding?exchange=hyperliquid&limit=1000" \ -H "X-API-Key: cdk_live_your_key"
Query historical liquidation data.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | No | — | Filter by symbol, or omit for all |
| start | string | Yes | — | Start time (ISO 8601 or unix ms) |
| end | string | No | — | End time |
| limit | int | No | 1000 | min: 1, max: 10000 |
curl "https://cryptodataapi.com/api/v1/backtesting/liquidations?limit=1000" \ -H "X-API-Key: cdk_live_your_key"
Query the per-event Hyperliquid liquidation tape: every exact liquidation fill (market + backstop) across the full HL perp universe — time, coin, liquidated side, price, size, USD notional, method and mark price — sourced from HL node fill data, unlike the venue-merged rolling-24h totals of /backtesting/liquidations. Serves the recent ~30-day window; full history is archived daily as the hl_liquidations data type (one Parquet per day, all coins — list and download via /backtesting/archives).
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | No | — | Filter by HL universe coin name (e.g. BTC, kPEPE), or omit for all |
| start | string | Yes | — | Start time (ISO 8601 or unix ms) |
| end | string | No | — | End time |
| limit | int | No | 1000 | min: 1, max: 10000 |
curl "https://cryptodataapi.com/api/v1/backtesting/hl-liquidations?coin=BTC&start=2026-07-23" \ -H "X-API-Key: cdk_live_your_key"
Query historical JSON snapshots for a data type. The response is streamed row-by-row (bounded server memory), so large limit=1000 pulls are safe and start returning immediately. For bulk multi-day/-week history, prefer /api/v1/backtesting/archives/download — it returns pre-signed links to pre-built daily files on object storage (one file per data_type per day), which is far cheaper than paginating this endpoint. Perp-regime types: gamma_exposure (MM-lens dealer-gamma, byte-parity with live /quant/gex; includes the per-coin distribution_context percentile block from 2026-07-10), liquidation_map (full-universe density + composite regime per coin) and liquidation_levels (raw per-account liquidation ladders), all at 5-min cadence. token_unlocks is the point-in-time unlock board (per-coin float, locked supply, dilution overhang and the next dated cliff, exactly as published at that moment, from 2026-08-20) — vesting schedules are revised in place upstream, so a schedule pulled today cannot tell you what was visible on a past date. Call /backtesting/snapshots/types for the full list with per-type coverage ranges.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| data_type | string | Yes | — | Snapshot type, e.g. market_health, fear_greed, coinglass_etf_flows |
| start | string | Yes | — | Start time (ISO 8601 or unix ms) |
| end | string | No | — | End time |
| limit | int | No | 100 | min: 1, max: 1000 |
| universe | string | No | — | For dex_trending: filter to hl_perps |
curl "https://cryptodataapi.com/api/v1/backtesting/snapshots?limit=100" \ -H "X-API-Key: cdk_live_your_key"
List all available snapshot data types with row counts and date ranges.
curl "https://cryptodataapi.com/api/v1/backtesting/snapshots/types" \ -H "X-API-Key: cdk_live_your_key"
List all tracked symbols with available date ranges.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| exchange | string | No | — | Filter by exchange: binance or hyperliquid |
curl "https://cryptodataapi.com/api/v1/backtesting/symbols" \ -H "X-API-Key: cdk_live_your_key"
Get backtesting storage statistics.
curl "https://cryptodataapi.com/api/v1/backtesting/status" \ -H "X-API-Key: cdk_live_your_key"
Export kline data as streaming CSV download.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| symbol | string | Yes | — | Symbol to export |
| exchange | string | No | binance | binance or hyperliquid |
| start | string | Yes | — | Start time (ISO 8601 or unix ms) |
| end | string | No | — | End time |
curl "https://cryptodataapi.com/api/v1/backtesting/export?exchange=binance" \ -H "X-API-Key: cdk_live_your_key"
Return the backtesting archive index — a compact summary of all available data types, symbols, exchanges, and date ranges. Consumers should call this once to discover what's available, then use ``/archives/download`` to fetch specific files.
curl "https://cryptodataapi.com/api/v1/backtesting/archives/index" \ -H "X-API-Key: cdk_live_your_key"
List archived files available for download from cold storage.
Use ``data_type=daily`` for consolidated Parquet files containing all
symbols for an exchange in a single file (recommended for bulk downloads).
Deep cold tiers: data_type=klines_deep (coarse OHLCV, interval 1h/4h/1d) and
data_type=funding_deep (hourly funding_rate only) expose the deep monthly history —
one Parquet per symbol per month, reaching far past the rolling daily files. exchange=binance
serves spot klines back to each market's listing (BTCUSDT to Aug 2017, 1h/4h/1d alike);
exchange=hyperliquid reaches its 2023 launch on 1d (4h to ~2024, 1h to ~7 months;
funding_rate to ~2024). Deep 1m klines and historical open_interest/mark_price do not exist from any
source. See the coverage table in the /api/v1/backtesting/archives/index response.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| data_type | string | No | klines | Data type: daily, klines, funding, liquidations, hl_liquidations, snapshots, klines_deep, or funding_deep. Use 'daily' for consolidated per-exchange bundles; 'hl_liquidations' is the per-event Hyperliquid liquidation tape (one Parquet per day, all coins); '*_deep' for deep monthly cold history. |
| exchange | string | No | — | Filter by exchange (klines/funding/daily/klines_deep/funding_deep only) |
| symbol | string | No | — | Filter by symbol, or snapshot type name for snapshots |
| interval | string | No | — | Candle interval for klines_deep only: 1h, 4h, or 1d (ignored for other types) |
curl "https://cryptodataapi.com/api/v1/backtesting/archives?data_type=klines" \ -H "X-API-Key: cdk_live_your_key"
Generate pre-signed download URLs for archived files.
Use ``data_type=daily`` for consolidated Parquet files (one per exchange)
instead of individual per-symbol files.
Deep cold tiers: data_type=klines_deep (with interval 1h/4h/1d) and
data_type=funding_deep serve the deep monthly history — one Parquet per symbol per month:
exchange=binance spot klines back to each market's listing (BTCUSDT to Aug 2017),
exchange=hyperliquid 1d to its 2023 launch. For the deep tiers, start/end
match the file's YYYY-MM token, so pass month-granular bounds (e.g. start=2019-01).
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| start | string | Yes | — | Start date (YYYY-MM-DD; YYYY-MM for '*_deep' tiers) |
| data_type | string | No | klines | Data type: daily, klines, funding, liquidations, hl_liquidations, snapshots, klines_deep, or funding_deep. Use 'daily' for consolidated bundles; 'hl_liquidations' for the per-event HL liquidation tape; '*_deep' for deep monthly cold history. |
| exchange | string | No | — | Exchange filter (klines/funding/daily/klines_deep/funding_deep) |
| symbol | string | No | — | Symbol, or snapshot type name for snapshots |
| interval | string | No | — | Candle interval for klines_deep only: 1h, 4h, or 1d (ignored for other types) |
| end | string | No | — | End date (YYYY-MM-DD, defaults to today; YYYY-MM for '*_deep' tiers) |
curl "https://cryptodataapi.com/api/v1/backtesting/archives/download?data_type=klines_deep&exchange=hyperliquid&symbol=BTC&interval=1d&start=2023-01" \ -H "X-API-Key: cdk_live_your_key"
List dates (YYYY-MM-DD) for which an archived daily snapshot is available. Snapshots are produced once per day at 20:00 UTC (plus on server startup) and contain everything /api/v1/daily returns, including the composite on-chain health score with per-component breakdown — ideal for time-series regime tagging in backtests.
curl "https://cryptodataapi.com/api/v1/backtesting/daily-snapshots" \ -H "X-API-Key: cdk_live_your_key"
Retrieve an archived daily snapshot for `date` (YYYY-MM-DD UTC). Returns the full snapshot identical in shape to /api/v1/daily — coin profiles, health score, derivatives, sentiment, macro, on-chain components, and the composite onchain_health_score field.
| Name | Type | Required | Description |
|---|---|---|---|
| date | string | Yes | YYYY-MM-DD (UTC) |
curl "https://cryptodataapi.com/api/v1/backtesting/daily-snapshots/2026-05-28" \ -H "X-API-Key: cdk_live_your_key"
NFTs
NFT Trends — the whole section requires a Pro (or Pro Plus) API key; /nfts/correlations is Pro Plus.
Headline NFT trade volume — total + per-chain / per-tier / per-category series, top collections, marketplaces.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 90 | Days of history to return (min: 7, max: 3650) |
curl "https://cryptodataapi.com/api/v1/nfts/overview?days=90" \ -H "X-API-Key: cdk_live_your_key"
Seeded NFT collection taxonomy — slug, name, chain, category, tier, launch month.
curl "https://cryptodataapi.com/api/v1/nfts/collections" \ -H "X-API-Key: cdk_live_your_key"
Per-collection daily volume time-series.
| Name | Type | Required | Description |
|---|---|---|---|
| slug | string | Yes |
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | int | No | 365 | min: 7, max: 3650 |
curl "https://cryptodataapi.com/api/v1/nfts/collections/{slug}?days=365" \ -H "X-API-Key: cdk_live_your_key"
Chain breakdown — each chain plus the count of seeded collections on it.
curl "https://cryptodataapi.com/api/v1/nfts/chains" \ -H "X-API-Key: cdk_live_your_key"
Category taxonomy — fixed buckets (pfp/art/gaming/collectible/music/domain/metaverse/ordinal/other).
curl "https://cryptodataapi.com/api/v1/nfts/categories" \ -H "X-API-Key: cdk_live_your_key"
Daily NFT volume buckets — choose `by=chain|tier|category|collection`. Pro tier. The collection breakdown can return many series; consumers should expect a wide list when calling with `by=collection`.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| by | string | No | chain | |
| from | string | No | — | ISO date (YYYY-MM-DD) |
| to | string | No | — | ISO date (YYYY-MM-DD) |
| granularity | string | No | daily |
curl "https://cryptodataapi.com/api/v1/nfts/volume?by=chain&granularity=daily" \ -H "X-API-Key: cdk_live_your_key"
Pearson correlation of daily NFT total volume vs daily log-returns of vs= assets. Pro Plus tier. Window is a trailing window ending today. Returns one coefficient per asset plus the number of overlapping days actually used.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| vs | string | No | btc,eth,sol | Comma-separated asset symbols |
| window_days | int | No | 90 | min: 14, max: 730 |
curl "https://cryptodataapi.com/api/v1/nfts/correlations?vs=btc,eth,sol&window_days=90" \ -H "X-API-Key: cdk_live_your_key"
Payments
Return plan pricing and supported networks. No auth required.
curl "https://cryptodataapi.com/api/v1/payments/plans"
Subscribe to a pro plan via x402 payment. Flow: 1. If active subscription with >7 days remaining → return it (no charge). 2. If no x-payment header → return 402 with payment options. 3. If x-payment header → verify, settle, upgrade key, create subscription + invoice.
| Name | Type | Required | Description |
|---|---|---|---|
| plan | string | Yes |
curl -X POST "https://cryptodataapi.com/api/v1/payments/subscribe" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Check a discount code and get the discounted USD price per plan. Returns {"valid": false} for any unknown, expired, or exhausted code. To redeem, pass the same code as discount_code in the subscribe / agent-subscribe request body (both calls) — the 402 quote and settlement then use the discounted amount.
| Name | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | The discount code (case-insensitive) |
curl -X POST "https://cryptodataapi.com/api/v1/payments/validate-code" \ -H "Content-Type: application/json" \ -d '{"code": "CDA-XXXXXXXX"}'
Return current subscription status.
curl "https://cryptodataapi.com/api/v1/payments/subscription" \ -H "X-API-Key: cdk_live_your_key"
List all invoices for this API key's email.
curl "https://cryptodataapi.com/api/v1/payments/invoices" \ -H "X-API-Key: cdk_live_your_key"
Get a single invoice. JSON by default, ?format=html for printable, ?format=pdf for download.
| Name | Type | Required | Description |
|---|---|---|---|
| number | string | Yes |
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| format | string | No | json |
curl "https://cryptodataapi.com/api/v1/payments/invoices/{number}?format=json" \ -H "X-API-Key: cdk_live_your_key"
Gasless one-shot onboarding for AI agents. Pay with USDC on Base via x402 -- no ETH gas needed. **How it works (2 HTTP calls):** 1. **Call with no payment header** -- receive 402 with payment options (facilitator URL, price, networks). 2. **Sign the USDC payment with your wallet** (off-chain EIP-712 signature, zero gas). 3. **Call again with `x-payment` header** -- facilitator settles on-chain, you get an API key + PRO subscription. **Supported networks:** Base (USDC), Ethereum (USDC), Solana (USDC). Recommended: **Base** for lowest settlement cost. **Plans:** - Pro: monthly (real-time data, derivatives, on-chain analytics) - Pro Plus: monthly (adds quant/regime engine, historical data & Parquet downloads) Current pricing: the 402 response carries the exact USDC amount, or see the pricing page. **Key resolution on repeat calls:** - Include `X-API-Key` header to renew that key's subscription. - No key header: looks up existing key by your wallet address, or creates a new one. - New API keys are returned **once** -- save it immediately.
| Name | Type | Required | Description |
|---|---|---|---|
| plan | string | Yes |
curl -X POST "https://cryptodataapi.com/api/v1/payments/agent-subscribe" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Start a recurring card subscription via Stripe Checkout. Returns a checkout_url to redirect the member to; on payment the tier is granted automatically by webhook and auto-renews each period. Reuses the same discount codes as the crypto rails via discount_code (applies to the first period).
| Name | Type | Required | Description |
|---|---|---|---|
| plan | string | Yes | monthly | monthly_plus | annual | annual_plus |
| discount_code | string | No | Optional discount code (case-insensitive) |
curl -X POST "https://cryptodataapi.com/api/v1/payments/stripe/checkout" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"plan": "monthly"}'
Open the Stripe Billing Portal for the member's card subscription (cancel, update payment method, view invoices). Returns a portal_url to redirect to. 400 if the account has no card subscription.
curl -X POST "https://cryptodataapi.com/api/v1/payments/stripe/portal" \ -H "X-API-Key: cdk_live_your_key"
Webhooks
List all registered webhook endpoints.
curl "https://cryptodataapi.com/api/v1/webhooks" \ -H "X-API-Key: cdk_live_your_key"
Register a new webhook endpoint with optional address and event filters.
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | |
| secret | string | Yes | |
| label | string | Yes | |
| enabled | boolean | No | |
| addresses | array | No | |
| events | array | No |
curl -X POST "https://cryptodataapi.com/api/v1/webhooks" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Update a webhook endpoint by label.
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | No | |
| secret | string | No | |
| enabled | boolean | No | |
| addresses | array | No | |
| events | array | No | |
| clear_addresses | boolean | No | |
| clear_events | boolean | No |
| Name | Type | Required | Description |
|---|---|---|---|
| label | string | Yes |
curl -X PATCH "https://cryptodataapi.com/api/v1/webhooks/{label}" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Delete a webhook endpoint by label.
| Name | Type | Required | Description |
|---|---|---|---|
| label | string | Yes |
curl -X DELETE "https://cryptodataapi.com/api/v1/webhooks/{label}" \ -H "X-API-Key: cdk_live_your_key"
Wallet Auth
Generate an EIP-191 sign-in challenge for a wallet address.
| Name | Type | Required | Description |
|---|---|---|---|
| wallet_address | string | Yes |
curl -X POST "https://cryptodataapi.com/api/v1/wallet/challenge" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Verify an EIP-191 signature and return/create an API key.
| Name | Type | Required | Description |
|---|---|---|---|
| wallet_address | string | Yes | |
| signature | string | Yes | |
| nonce | string | Yes |
curl -X POST "https://cryptodataapi.com/api/v1/wallet/verify" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Get wallet session info for the current API key.
curl "https://cryptodataapi.com/api/v1/wallet/session" \ -H "X-API-Key: cdk_live_your_key"
Wallet Payments
Verify a USDC transfer on-chain and upgrade the API key to pro.
| Name | Type | Required | Description |
|---|---|---|---|
| tx_hash | string | Yes | |
| network | string | Yes | |
| plan | string | Yes | |
| intent_id | string | No |
curl -X POST "https://cryptodataapi.com/api/v1/wallet/upgrade" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
List all invoices for the current wallet.
curl "https://cryptodataapi.com/api/v1/wallet/invoices" \ -H "X-API-Key: cdk_live_your_key"
Download a single invoice as PDF.
| Name | Type | Required | Description |
|---|---|---|---|
| number | string | Yes |
curl "https://cryptodataapi.com/api/v1/wallet/invoices/{number}" \ -H "X-API-Key: cdk_live_your_key"
Return public wallet config (treasury addresses, supported networks).
curl "https://cryptodataapi.com/api/v1/wallet/config"
Build a Solana SPL USDC transfer transaction and return base64 bytes. Creates a payment intent binding the sender to the caller's API key. The frontend passes these bytes to Phantom which deserializes, simulates, and signs using its own @solana/web3.js — avoiding cross-module issues.
| Name | Type | Required | Description |
|---|---|---|---|
| sender | string | Yes | |
| plan | string | Yes |
curl -X POST "https://cryptodataapi.com/api/v1/wallet/create-solana-tx" \ -H "X-API-Key: cdk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"email": "[email protected]"}'
Proxy: get latest Solana blockhash (avoids CORS issues with public RPCs).
curl "https://cryptodataapi.com/api/v1/wallet/solana-blockhash"
Proxy: check Solana transaction confirmation status.
| Name | Type | Required | Description |
|---|---|---|---|
| signature | string | Yes |
curl "https://cryptodataapi.com/api/v1/wallet/solana-confirm/{signature}"
Other
User dashboard — API key management, usage stats, invoices.
curl "https://cryptodataapi.com/dashboard"
Pricing plans page.
curl "https://cryptodataapi.com/pricing"
SIGNUM RGG trend radar for the top 100 Binance coins.
curl "https://cryptodataapi.com/signum-rgg-coin-trend-indicator"
NFT trade-volume tracker with BTC/ETH/SOL price overlay.
curl "https://cryptodataapi.com/nft-trends"