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:

TierDaily LimitBurst (per min)
Free1,000 requests
100 until email confirmed
10
Pro10,000 requests30
Pro Plus50,000 requests60

Authentication

Create, inspect, rotate, and revoke API keys.

POST /api/v1/auth/keys Create Api Key

Create a new free-tier API key. The full key is only shown once.

No authentication required
Request Body (JSON)
NameTypeRequiredDescription
emailstringYes
Example
curl -X POST "https://cryptodataapi.com/api/v1/auth/keys" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'
DELETE /api/v1/auth/keys Revoke Api Key

Revoke the current API key. 7-day cooldown before new key creation.

Requires API key
Example
curl -X DELETE "https://cryptodataapi.com/api/v1/auth/keys" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/auth/keys/me Get Current Key Info

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).

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/auth/keys/me" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/auth/resend-verify Resend Verification Email

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.

Requires API key
Example
curl -X POST "https://cryptodataapi.com/api/v1/auth/resend-verify"   -H "X-API-Key: cdk_live_your_key"
POST /api/v1/auth/keys/rotate Rotate Api Key

Rotate the current API key. Invalidates the old key.

Requires API key
Example
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.

GET /api/v1/coins List Coins

List all coins, paginated by market cap rank.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
pageintNo1min: 1
per_pageintNo50min: 1, max: 250
Example
curl "https://cryptodataapi.com/api/v1/coins?page=1&per_page=50" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/coins/top Top Coins

Get top N coins by market cap.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
limitintNo20min: 1, max: 100
Example
curl "https://cryptodataapi.com/api/v1/coins/top?limit=20" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/coins/categories Coin Categories

Get all unique coin categories.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/coins/categories" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/coins/category-groups Curated Category Groups

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).

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/coins/category-groups?limit=25" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/coins/{symbol} Get Coin

Get a single coin profile by symbol (e.g., BTC, ETH).

Requires API key (Pro tier)
Path Parameters
NameTypeRequiredDescription
symbolstringYes
Example
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.

GET /api/v1/market-health Get Market Health

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-health" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-health/summary Get Health Summary

Scores + sentiment only (lightweight).

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
formatstringNoResponse format: 'markdown' for LLM-friendly plain text
Example
curl "https://cryptodataapi.com/api/v1/market-health/summary" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-health/components Get Health Components

All 11 component details.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-health/components" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-health/component/{name} Get Health Component

Get a single component by name.

Requires API key
Path Parameters
NameTypeRequiredDescription
namestringYes
Example
curl "https://cryptodataapi.com/api/v1/market-health/component/price_trend" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-health/history Get Health History

Health score history from database.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo365min: 1, max: 730
Example
curl "https://cryptodataapi.com/api/v1/market-health/history?days=365" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-health/altcoin-breadth Altcoin Breadth

Altcoin breadth - % of coins above their MA with per-coin detail.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
ma_periodintNo200min: 5, max: 365
Example
curl "https://cryptodataapi.com/api/v1/market-health/altcoin-breadth?ma_period=200" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/market-health/refresh Force Refresh

Force recalculate health score (Pro and Pro Plus tiers).

Requires API key (Pro tier)
Example
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.

GET /api/v1/sentiment/fear-greed Get Fear Greed

Fear & Greed index (multi-source averaged).

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
formatstringNoResponse format: 'markdown' for LLM-friendly plain text
Example
curl "https://cryptodataapi.com/api/v1/sentiment/fear-greed" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/sentiment/macro Get Macro

Macro indicators: EUR/USD, gold, treasury yields.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/sentiment/macro" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/sentiment/stablecoins Get Stablecoins

Stablecoin market cap + 14d/90d flows.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/sentiment/stablecoins" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/sentiment/stablecoins/remote-history Get Remote Stablecoin History

Daily stablecoin mcap + inflows, derived from our own DefiLlama history.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo90min: 1, max: 365
Example
curl "https://cryptodataapi.com/api/v1/sentiment/stablecoins/remote-history?days=90" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/sentiment/stablecoins/history Get Stablecoin History

Raw stablecoin market cap history timeseries.

Requires API key
Example
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.

GET /api/v1/derivatives/binance/funding-rates Binance Funding Rates

Binance perpetual funding rate history.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoBTCUSDT
limitintNo30min: 1, max: 100
Example
curl "https://cryptodataapi.com/api/v1/derivatives/binance/funding-rates?symbol=BTCUSDT&limit=30" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/derivatives/binance/open-interest Binance Open Interest

Binance open interest + 30-day trend.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoBTCUSDT
Example
curl "https://cryptodataapi.com/api/v1/derivatives/binance/open-interest?symbol=BTCUSDT" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/derivatives/binance/long-short-ratio Binance Long Short Ratio

Binance long/short account ratio.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoBTCUSDT
Example
curl "https://cryptodataapi.com/api/v1/derivatives/binance/long-short-ratio?symbol=BTCUSDT" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/derivatives/binance/summary Binance Derivatives Summary

All-in-one Binance derivatives summary.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoBTCUSDT
Example
curl "https://cryptodataapi.com/api/v1/derivatives/binance/summary?symbol=BTCUSDT" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/derivatives/binance/history Derivatives History

Daily derivatives data (funding, OI, L/S) from our own funding + OI archives.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo30min: 1, max: 90
Example
curl "https://cryptodataapi.com/api/v1/derivatives/binance/history?days=30" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/derivatives/funding-rates Cross Exchange Funding

Funding rates across Binance + Hyperliquid.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
coinstringNoBTC
Example
curl "https://cryptodataapi.com/api/v1/derivatives/funding-rates?coin=BTC" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/derivatives/open-interest Cross Exchange Oi

Open interest across Binance + Hyperliquid.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
coinstringNoBTC
Example
curl "https://cryptodataapi.com/api/v1/derivatives/open-interest?coin=BTC" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/derivatives/summary Cross Exchange Summary

Combined cross-exchange derivatives overview.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
coinstringNoBTC
formatstringNoResponse format: 'markdown' for LLM-friendly plain text
Example
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.

GET /api/v1/hyperliquid/meta Get Meta

Exchange metadata: assets, max leverage, specs.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/meta" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/prices Get Prices

All mid prices across Hyperliquid assets.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/prices" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/funding-rates Get Funding Rates

Current + historical funding rates for a coin.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
coinstringNoBTC
limitintNo20min: 1, max: 100
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/funding-rates?coin=BTC&limit=20" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/open-interest Get Open Interest

Open interest across all Hyperliquid assets.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/open-interest" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/candles Get Candles

OHLCV candles for a coin.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
coinstringNoBTC
intervalstringNo1h
limitintNo200min: 1, max: 1000
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/candles?coin=BTC&interval=1h&limit=200" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/l2-book Get L2 Book

L2 order book snapshot.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
coinstringNoBTC
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/l2-book?coin=BTC" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/summary Get Summary

All-in-one perp data for a coin.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
coinstringNoBTC
Example
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.

GET /api/v1/liquidity/depth Depth Snapshot

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/liquidity/depth" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/liquidity/oi-divergence OI / Price Divergence

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/liquidity/oi-divergence" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/liquidity/regime Regime Classifier

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.

Requires Pro or Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/liquidity/regime" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/liquidity/regime/score Fragility Score

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.

Requires Pro or Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/liquidity/regime/score" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/liquidity/depth/{coin} Per-Coin History

Per-coin rolling depth history (up to 24h of 1-min samples). BTC on any tier; the full universe requires Pro.

Requires API key (BTC only; full universe requires Pro)
Query Parameters
NameTypeRequiredDefaultDescription
minutesintNo60min: 1, max: 1440
Example
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.

GET /api/v1/volatility/index Volatility Index (CVI)

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.

Requires API key (market index: all plans · majors: BTC on Free, +ETH on Pro)
Example
curl "https://cryptodataapi.com/api/v1/volatility/index" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/volatility/implied Implied Vol & DVOL

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).

Requires API key (Free = BTC · Pro = +ETH · Pro Plus = history + term structure)
Example
curl "https://cryptodataapi.com/api/v1/volatility/implied" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/volatility/index/history CVI History

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.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo90min: 1, max: 365
Example
curl "https://cryptodataapi.com/api/v1/volatility/index/history?days=90" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/volume/scanner Volume Scanner

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.

Requires API key (Free = top 20 by volume · Pro / Pro Plus = full universe)
Query Parameters
NameTypeRequiredDefaultDescription
bandstringNodormant / quiet / normal / elevated / surging / extreme / unknown
min_multiplierfloatNoOnly perps at or above this multiple of their 30d average
sortstringNomultipliermultiplier / volume_24h / symbol / change_24h
limitintNo250min: 1, max: 500
Example — today's unusual activity
curl "https://cryptodataapi.com/api/v1/volume/scanner?min_multiplier=3" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/volume/scanner/{symbol} Volume Detail

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.

Requires Pro or Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/volume/scanner/BTC" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/volatility/regime Regime Classifier

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.

Requires API key (Free = BTC only · Pro / Pro Plus = full universe)
Query Parameters
NameTypeRequiredDefaultDescription
sourcestringNobinance_spot | hyperliquid_perp
regimestringNovol_shock | expanding | compressed | mean_reverting | normal
sortstringNovol_pctile_30symbol | rv_gk_30 | rv_gk_7 | vol_pctile_30 | term_structure_ratio | vol_target_multiplier | days_compressed
orderstringNodescasc | desc
limitintNo250min: 1, max: 500
Example
curl "https://cryptodataapi.com/api/v1/volatility/regime?regime=compressed&sort=days_compressed&order=desc" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/volatility/regime/score Vol-Stress Score

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/volatility/regime/score" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/volatility/regime/{symbol} Per-Symbol Detail

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).

Requires API key (Free = BTC · Pro = any coin · history = Pro Plus)
Path Parameters
NameTypeRequiredDescription
symbolstringYesBare ticker (e.g. BTC, ETH); USDT suffix stripped automatically
Example
curl "https://cryptodataapi.com/api/v1/volatility/regime/BTC" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/volatility/regime/refresh Refresh Regime

Force recompute the Volatility regime cache across the full universe. Pro / Pro Plus only.

Requires Pro or Pro Plus API key
Example
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.

GET /api/v1/backtesting/news-events News Tape (Archive)

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.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
startstringYesISO 8601 or unix ms
endstringNonowISO 8601 or unix ms. EXCLUSIVE
symbolstringNoHL perp symbol, or MARKET
min_impactfloatNo0.0Minimum impact_score
limitintNo500min: 1, max: 5000
Example
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"
GET /api/v1/news/pulse News Pulse

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.

Requires API key (Free = top 10 rows · Pro / Pro Plus = full universe)
Query Parameters
NameTypeRequiredDefaultDescription
hoursfloatNo24Lookback window. min: 1, max: 168
Example
curl "https://cryptodataapi.com/api/v1/news/pulse?hours=24" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/news/market-moving Catalyst Tape

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.

Requires API key (Free = BTC/ETH/MARKET · Pro = full universe, 7d · Pro Plus = + score components and market response)
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter to one Hyperliquid perp, or MARKET
hoursfloatNo24Lookback window. min: 1, max: 336
min_impactfloatNo0.45Minimum impact_score. Cannot go below the pipeline threshold
limitintNo50min: 1, max: 500
Example — today's biggest catalysts
curl "https://cryptodataapi.com/api/v1/news/market-moving?min_impact=0.6" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/news/coin/{symbol} Per-Coin News

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.

Requires API key (Free = BTC / ETH only · Pro / Pro Plus = any perp)
Query Parameters
NameTypeRequiredDefaultDescription
hoursfloatNo72Lookback window. min: 1, max: 336
Example
curl "https://cryptodataapi.com/api/v1/news/coin/SOL" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/news/sources News Sources

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/news/sources" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/market Market Probabilities

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).

Requires Pro or Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
horizonstringNo24h4h | 24h
Example
curl "https://cryptodataapi.com/api/v1/quant/market?horizon=24h" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/coins All-Coins Summary

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.

Requires Pro or Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
horizonstringNo24h4h | 24h
regimestringNoFilter by label, e.g. squeeze
sortstringNooioi | confidence | symbol | p_up
orderstringNodescasc | desc
limitintNo250min: 1, max: 300
Example
curl "https://cryptodataapi.com/api/v1/quant/coins?regime=squeeze&sort=oi" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/coins/risk Bulk Per-Coin Risk Model

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.

Requires Pro or Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
horizonstringNo24h4h | 24h
Example
curl "https://cryptodataapi.com/api/v1/quant/coins/risk?horizon=24h" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/coins/{symbol} Per-Coin Probabilities

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.

Requires Pro or Pro Plus API key
Path Parameters
NameTypeRequiredDescription
symbolstringYesHL coin name (e.g. BTC, SOL, kPEPE)
Example
curl "https://cryptodataapi.com/api/v1/quant/coins/SOL" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/history Probability History

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.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
scopestringNomarket'market' or a coin symbol
startstringYesISO 8601 or unix ms
endstringNonowISO 8601 or unix ms
horizonstringNo4h | 24h
limitintNo500min: 1, max: 2000
formatstringNojsonjson | csv
Example
curl "https://cryptodataapi.com/api/v1/quant/history?scope=BTC&start=2026-06-01&format=csv" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/regimes/history Regime History Download

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.

Requires Pro Plus API key
Example
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", ...} }
GET /api/v1/quant/timeline Historic Timeline

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.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
startstringNoISO date filter, e.g. 2022-01-01
Example
curl "https://cryptodataapi.com/api/v1/quant/timeline?start=2022-01-01" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/positioning Trader Positioning

Per-coin long/short/net/gross notional split by trader typemarket_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.

Requires Pro or Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter to one coin, e.g. BTC
Example
curl "https://cryptodataapi.com/api/v1/quant/positioning?symbol=BTC" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/gex Gamma Exposure

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.

Requires Pro or Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter to one coin, e.g. BTC
Example
curl "https://cryptodataapi.com/api/v1/quant/gex?symbol=BTC" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/whales Whale Activity

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.

Requires Pro or Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/quant/whales" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/whales/history Whale Activity History

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.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintegerNo180Trailing window length in days (7–540)
Example
curl "https://cryptodataapi.com/api/v1/quant/whales/history?days=180" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/model Model Card

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).

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/quant/model" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/quant/regimes Regime Taxonomy

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/quant/regimes" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/quant/refresh Force Re-inference

Force an immediate inference cycle instead of waiting for the next 15-minute tick. Pro Plus only.

Requires Pro Plus API key
Example
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.

GET /api/v1/regimes Regimes + Current

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/regimes" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/regimes/current Current Regime

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/regimes/current" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/regimes/history Regime History

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.

Query Parameters
NameTypeRequiredDefaultDescription
fromstringNo30 days agoWindow start, inclusive. ISO-8601 or unix ms.
tostringNonowWindow end, exclusive. ISO-8601 or unix ms. Window capped at 400 days.
limitintegerNo5000Max archive samples scanned (~57/day), not transitions returned. Max 25000.
Requires Pro Plus API key
Example
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.

GET /api/v1/trading-strategy-baskets Strategy Basket Catalogue

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.

Requires Pro or Pro Plus API key
Example
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.

GET /api/v1/meme/regime Regime Classifier

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.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
sourcestringNobinance_spot | hyperliquid_perp
regimestringNoeuphoric | distribution | ignition | bleeding | dormant
sortstringNoret_7dsymbol | ret_7d | ret_30d | vol_spike | vol_pctile_30 | sma20_extension_pct | funding_rate | oi_usd
orderstringNodescasc | desc
limitintNo250min: 1, max: 500
Example
curl "https://cryptodataapi.com/api/v1/meme/regime?regime=ignition&sort=vol_spike&order=desc" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/meme/regime/score Meme-Hype Score

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/meme/regime/score" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/meme/regime/{symbol} Per-Symbol Detail

Per-asset Meme regime detail with 60d daily history (close, 30d Garman-Klass vol) for sparkline rendering. Pro / Pro Plus only.

Requires Pro or Pro Plus API key
Path Parameters
NameTypeRequiredDescription
symbolstringYesBare ticker (e.g. WIF, PEPE); USDT suffix stripped automatically
Example
curl "https://cryptodataapi.com/api/v1/meme/regime/WIF" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/meme/regime/refresh Refresh Regime

Force recompute the Meme regime cache across the full meme universe. Pro / Pro Plus only.

Requires Pro or Pro Plus API key
Example
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.

GET /api/v1/supply/float Float & Dilution

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 usedmax_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.

Requires API key (Free = top 25 rows · Pro / Pro Plus = full board + filters)
Query Parameters
NameTypeRequiredDefaultDescription
min_market_capfloatNo500000000Market-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_usdfloatNo0Only rows with at least this much locked value
max_float_pctfloatNo1.0Only rows at or below this float (0-1)
symbolstringNoFilter to one ticker
limitintNo250Max rows. min: 1, max: 2000
Example
curl "https://cryptodataapi.com/api/v1/supply/float?max_float_pct=0.4" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/supply/unlocks Unlock Calendar

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.

Requires API key (Free = next 7 days · Pro / Pro Plus = full horizon)
Query Parameters
NameTypeRequiredDefaultDescription
window_daysintNo30Forward horizon. min: 1, max: 35
symbolstringNoFilter to one ticker
Example
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.

GET /api/v1/event/regime Event Calendar

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.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
window_daysintNo7Forward horizon, min: 1, max: 30
Example
curl "https://cryptodataapi.com/api/v1/event/regime?window_days=7" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/event/regime/score Event Risk Score

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/event/regime/score" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/event/calendar Filterable Calendar

The queryable forward calendar (up to 30d out). Narrow by catalyst type, affected symbol, bias, min_magnitude, and window_days.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
typestringNounlock | macro_print | depeg | mint
window_daysintNo30min: 1, max: 30
symbolstringNoFilter to catalysts affecting this ticker
biasstringNolong | short | neutral | risk_flag
min_magnitudefloatNo0.0min: 0.0, max: 1.0
Example
curl "https://cryptodataapi.com/api/v1/event/calendar?type=unlock&window_days=30" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/event/regime/{symbol} Per-Symbol Overlay

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.

Requires Pro or Pro Plus API key
Path Parameters
NameTypeRequiredDescription
symbolstringYesBare ticker (e.g. ARB, OP); USDT suffix stripped automatically
Example
curl "https://cryptodataapi.com/api/v1/event/regime/ARB" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/event/regime/refresh Refresh Regime

Force recompute the Event / Catalyst regime cache. Pro / Pro Plus only.

Requires Pro or Pro Plus API key
Example
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.

GET /api/v1/security/regime Security Events

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.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
window_daysintNo10Lookback, min: 1, max: 10
Example
curl "https://cryptodataapi.com/api/v1/security/regime?window_days=10" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/security/regime/score Security Stress Score

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/security/regime/score" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/security/events Filterable Events

The queryable recent security-events list (up to 10d back). Narrow by event type, affected symbol, and min_severity.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
typestringNohack | depeg
window_daysintNo10min: 1, max: 10
symbolstringNoFilter to events affecting this ticker
min_severityfloatNo0.0min: 0.0, max: 1.0
Example
curl "https://cryptodataapi.com/api/v1/security/events?type=hack" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/security/regime/{symbol} Per-Symbol Overlay

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.

Requires Pro or Pro Plus API key
Path Parameters
NameTypeRequiredDescription
symbolstringYesBare ticker (e.g. ETH, SOL); USDT suffix stripped automatically
Example
curl "https://cryptodataapi.com/api/v1/security/regime/ETH" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/security/regime/refresh Refresh Regime

Force recompute the Security / Black Swan regime cache. Pro / Pro Plus only.

Requires Pro or Pro Plus API key
Example
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.

GET /api/v1/policy/regime Policy Risk + Tilt

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.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
window_daysintNo45Forward horizon for rate catalysts, min: 1, max: 45
Example
curl "https://cryptodataapi.com/api/v1/policy/regime" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/policy/regime/score Policy Risk Score

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/policy/regime/score" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/policy/headlines Policy Headlines

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/policy/headlines" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/policy/regime/refresh Refresh Regime

Force recompute the Geopolitical / Policy Shock regime cache. Pro / Pro Plus only.

Requires Pro or Pro Plus API key
Example
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.

GET /api/v1/market-data/klines Get Klines

OHLCV klines from Binance Spot.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoBTCUSDT
intervalstringNo1d
limitintNo200min: 1, max: 1000
Example
curl "https://cryptodataapi.com/api/v1/market-data/klines?symbol=BTCUSDT&interval=1d&limit=200" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-data/ticker/24hr Get Ticker 24Hr

24hr ticker stats from Binance Spot.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoBTCUSDT
Example
curl "https://cryptodataapi.com/api/v1/market-data/ticker/24hr?symbol=BTCUSDT" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-data/ticker/price Get Ticker Price

Current price from Binance Spot.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoBTCUSDT
Example
curl "https://cryptodataapi.com/api/v1/market-data/ticker/price?symbol=BTCUSDT" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-data/btc-price-history Btc Price History

BTC price history with 200D MA.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo365min: 1, max: 730
Example
curl "https://cryptodataapi.com/api/v1/market-data/btc-price-history?days=365" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-data/volume-history Volume History

Daily volume + buy ratio, derived from our own kline + taker archives.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo30min: 1, max: 90
Example
curl "https://cryptodataapi.com/api/v1/market-data/volume-history?days=30" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-data/short-term-price Short Term Price

Short-term BTC price momentum metrics (on-demand computation).

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-data/short-term-price" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-data/exchange-info Get Exchange Info

Exchange pair info from Binance Spot.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoBTCUSDT
Example
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.

GET /api/v1/exchanges List Exchanges

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.

No authentication required
Query Parameters
NameTypeRequiredDefaultDescription
referral_onlybooleanNofalseReturn only venues we hold a partner sign-up link for
Example
curl "https://cryptodataapi.com/api/v1/exchanges?referral_only=true"
GET /api/v1/exchanges/{slug} Get Exchange

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.

No authentication required
Path Parameters
NameTypeRequiredDefaultDescription
slugstringYeshyperliquid, binance, bybit, okx, asterdex, lighter, robinhood
Example
curl "https://cryptodataapi.com/api/v1/exchanges/hyperliquid"

DEX & Meme Coins

GET /api/v1/dex/new-pools Get New Pools

Newest DEX pools — early discovery of new token launches.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
chainstringNoFilter by chain: solana, ethereum, base, bsc, arbitrum
Example
curl "https://cryptodataapi.com/api/v1/dex/new-pools" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/dex/token/{chain}/{address} Get Token Info

Token info + top pools for a specific token on a chain.

Requires API key
Path Parameters
NameTypeRequiredDescription
chainstringYes
addressstringYes
Example
curl "https://cryptodataapi.com/api/v1/dex/token/solana/So11111111111111111111111111111111" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/dex/promoted Get Promoted Tokens

Recently promoted/boosted tokens — marketing spend signal.

Requires API key (Pro tier)
Example
curl "https://cryptodataapi.com/api/v1/dex/promoted" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/dex/promoted/top Get Top Promoted Tokens

Top promoted tokens ranked by promotion spend.

Requires API key (Pro tier)
Example
curl "https://cryptodataapi.com/api/v1/dex/promoted/top" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/dex/security/{chain}/{address} Get Token Security

Token security report — rug detection, honeypot check, risk scoring.

Requires API key
Path Parameters
NameTypeRequiredDescription
chainstringYes
addressstringYes
Example
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.

GET /api/v1/daily Get Daily Snapshot

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.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
exchangestringNohyperliquidFilter coins by exchange: hyperliquid, binance_spot, asterdex, or 'all' for unfiltered
formatstringNoResponse format: 'markdown' for LLM-friendly plain text
technical_detailbooleanNofalseInclude 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}.
Example
curl "https://cryptodataapi.com/api/v1/daily?exchange=hyperliquid" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/daily/prices Get Daily Prices

All Binance spot price pairs (~2,500 symbols).

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/daily/prices" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/daily/hyperliquid Get Daily Hyperliquid

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/daily/hyperliquid" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/daily/hl-traders Get Daily Hl Traders

Top trader leaderboard, wallet positions, and tracking metadata.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/daily/hl-traders" \
  -H "X-API-Key: cdk_live_your_key"

Health

System health check endpoint.

GET /api/v1/health Health Check

Basic health check endpoint (no auth required).

No authentication required
Example
curl "https://cryptodataapi.com/api/v1/health"
HEAD /api/v1/health Health Check

Basic health check endpoint (no auth required).

No authentication required
Example
curl -X HEAD "https://cryptodataapi.com/api/v1/health"

Meta

API version signal and change history.

GET /api/v1/changelog API Changelog

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.

No authentication required

/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.

Example
curl "https://cryptodataapi.com/api/v1/changelog"

Indicators

GET /api/v1/indicators/signum-rgg Get Signum Rgg

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.

Requires Pro or Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
colorstringNo
sourcestringNo
min_daysintNomin: 0
max_daysintNomin: 0
sortstringNodays_in_color
orderstringNodesc
limitintNo250min: 1, max: 500
Example
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"
GET /api/v1/indicators/signum-rgg/{symbol} Get Signum Rgg Symbol

Per-asset SIGNUM_RGG detail with the last 60 days of color history.

Requires Pro or Pro Plus API key
Path Parameters
NameTypeRequiredDescription
symbolstringYes
Example
curl "https://cryptodataapi.com/api/v1/indicators/signum-rgg/BTC" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/indicators/signum-rgg/refresh Refresh Signum Rgg

Force recompute the SIGNUM_RGG cache (Pro tier).

Requires API key (Pro tier)
Example
curl -X POST "https://cryptodataapi.com/api/v1/indicators/signum-rgg/refresh" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/indicators/technical Get Technical Regime

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.

Requires Pro or Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
sourcestringNobinance_spot | hyperliquid_perp
ma_statestringNoabove_200 | below_200 | breakdown_200 | reclaim_200
bbstringNoin_squeeze | expanding
range_zonestringNonear_low | mid | near_high
rsistringNooverbought | oversold | extreme (>80 or <20)
min_days_in_stateintNomin: 0; applies to squeeze or RSI extreme filter
sortstringNosymbolsymbol | price | rsi_1d | bb_bandwidth | squeeze_days | dist_from_200 | position_in_range
orderstringNodescasc | desc
limitintNo250min: 1, max: 500
Example
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"
GET /api/v1/indicators/technical/{symbol} Get Technical Regime Symbol

Per-asset Technical / Structural detail with 60d daily history (close, RSI-14, BB bandwidth, SMA-200, above_200) for sparkline rendering.

Requires Pro or Pro Plus API key
Path Parameters
NameTypeRequiredDescription
symbolstringYes
Example
curl "https://cryptodataapi.com/api/v1/indicators/technical/BTC" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/indicators/technical/refresh Refresh Technical Regime

Force recompute the Technical / Structural cache (Pro tier).

Requires API key (Pro tier)
Example
curl -X POST "https://cryptodataapi.com/api/v1/indicators/technical/refresh" \
  -H "X-API-Key: cdk_live_your_key"

Hyperliquid Traders

GET /api/v1/hyperliquid/top-traders Get Top Traders

Scored leaderboard of top traders filtered by performance criteria.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/top-traders" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/wallet-positions Get Wallet Positions

Current positions for tracked wallets. For non-tracked addresses, queries Hyperliquid on-demand.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
addressstringNoFilter by wallet address (0x...)
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/wallet-positions" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/wallet-signals Get Wallet Signals

Position change signals: entries, exits, size increases/decreases.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
minutesintNo10Look-back window in minutes (min: 1, max: 1440)
addressstringNoFilter by wallet address (0x...). Comma-separated for multiple.
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/wallet-signals?minutes=10" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/trader-profiles Get Trader Profiles

Trade profiles with win rate, PnL, classification, and edges.

Requires API key (Pro tier)
Query Parameters
NameTypeRequiredDefaultDescription
addressstringNoFilter by wallet address (0x...)
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/trader-profiles" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/hyperliquid/trader-profiles/refresh Refresh Trader Profiles

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.

Requires API key (Pro tier)
Example
curl -X POST "https://cryptodataapi.com/api/v1/hyperliquid/trader-profiles/refresh" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/hyperliquid/leaderboard/refresh Refresh Leaderboard

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.

Requires API key (Pro tier)
Example
curl -X POST "https://cryptodataapi.com/api/v1/hyperliquid/leaderboard/refresh" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/watchlist Get Watchlist

List all watchlisted wallet addresses.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/watchlist" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/hyperliquid/watchlist Add To Watchlist

Add wallet addresses to the watchlist. Automatically starts tracking for signals.

Requires Pro or Pro Plus API key
Request Body (JSON)
NameTypeRequiredDescription
entriesarrayYes
Example
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]"}'
DELETE /api/v1/hyperliquid/watchlist Remove From Watchlist

Remove wallet addresses from the watchlist.

Requires Pro or Pro Plus API key
Request Body (JSON)
NameTypeRequiredDescription
addressesarrayYes
Example
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 /api/v1/hyperliquid/watchlist/auto Get Auto Watchlist

Get current auto-managed watchlist configuration and status.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/watchlist/auto" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/hyperliquid/watchlist/auto Create Auto Watchlist

Auto-populate watchlist from top traders based on configurable criteria.

Requires API key
Request Body (JSON)
NameTypeRequiredDescription
modestringNoSource mode (currently only 'top_traders')
max_walletsintegerNoMax wallets in auto-managed set
min_scoreintegerNoMinimum top-trader score
filtersanyNo
auto_refreshbooleanNoRe-evaluate daily and update automatically
Example
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]"}'
DELETE /api/v1/hyperliquid/watchlist/auto Delete Auto Watchlist

Disable auto-management and remove all auto-managed entries.

Requires Pro or Pro Plus API key
Example
curl -X DELETE "https://cryptodataapi.com/api/v1/hyperliquid/watchlist/auto" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/copy-signals Get Copy Signals

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.

Requires API key (Pro tier)
Query Parameters
NameTypeRequiredDefaultDescription
min_scoreintNo80Minimum trader score (min: 0, max: 100)
minutesintNo60Signal look-back window in minutes (min: 1, max: 1440)
min_win_ratefloatNoMinimum 30d win rate (0-1) (min: 0, max: 1)
min_profit_factorfloatNoMinimum profit factor (min: 0)
min_trades_30dintNoMinimum 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_hoursfloatNoMin avg trade duration (hours) (min: 0)
exclude_typesstringNoComma-separated trader types to exclude, e.g. 'hft,scalper'
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/copy-signals?min_score=80&minutes=60" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/trader-profile/{address} Get Trader Profile

On-demand trade profile for ANY Hyperliquid address. Fetches fill history and computes stats.

Requires API key (Pro tier)
Path Parameters
NameTypeRequiredDescription
addressstringYes
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo30Analysis period in days (min: 1, max: 90)
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/trader-profile/So11111111111111111111111111111111?days=30" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/hyperliquid/wallet-trades/{address} Get Wallet Trades

Historical trades for any Hyperliquid address with summary statistics.

Requires API key
Path Parameters
NameTypeRequiredDescription
addressstringYes
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo30Trade history period in days (min: 1, max: 90)
Example
curl "https://cryptodataapi.com/api/v1/hyperliquid/wallet-trades/So11111111111111111111111111111111?days=30" \
  -H "X-API-Key: cdk_live_your_key"

Market Intelligence

GET /api/v1/market-intelligence/btc/cycle-indicators Btc Cycle Indicators

All 8 BTC cycle indicators.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo30Number of daily entries to return (0 = all, default 30) (min: 0)
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/btc/cycle-indicators?days=30" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/btc/cycle-indicators/{indicator} Btc Cycle Indicator By Name

Single BTC cycle indicator by name.

Requires API key
Path Parameters
NameTypeRequiredDescription
indicatorstringYesIndicator name
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo30Number of daily entries to return (0 = all, default 30) (min: 0)
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/btc/cycle-indicators/puell_multiple?days=30" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/etf/btc/aum Etf Btc Aum

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/etf/btc/aum" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/etf/{asset}/flows Etf Flows

BTC, ETH or SOL spot-ETF latest-day net flow. XRP is not supported — no free source publishes XRP spot-ETF flows.

Requires API key
Path Parameters
NameTypeRequiredDescription
assetstringYesAsset: btc, eth, or sol
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/etf/btc/flows" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/liquidations Liquidations

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``.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter to a single coin (e.g. BTC)
exchangestringNohyperliquidFilter to coins on exchange: hyperliquid, binance_spot, asterdex, or all
typestringNoperpsInstrument type (perps)
limitintNo250Max coins to return (default 250) (min: 1, max: 500)
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/liquidations?exchange=hyperliquid&type=perps&limit=250" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/squeeze-alerts Squeeze Alerts

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.

Requires API key · Pro / Pro Plus for the full universe; free tier is scoped to BTC
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter to a single coin (e.g. BTC)
window_sintNo300Trailing window in seconds (min: 60, max: 3600)
min_severityfloatNo0.35Minimum severity to report (min: 0, max: 1)
include_quietboolNofalseReturn every coin with a usable window, not just the ones firing. For calibration
limitintNo250Max coins to scan (min: 1, max: 500)
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/squeeze-alerts?window_s=300" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/options Options Data

BTC options data (OI, volume, max pain).

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/options" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/exchange-balance Exchange Balance

Exchange BTC balance and flow data.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/exchange-balance" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/coinbase-premium Coinbase Premium

Coinbase premium index.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/coinbase-premium" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/funding-rates Funding Rates

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``.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter to a single coin (e.g. BTC)
exchangestringNohyperliquidFilter to coins on exchange: hyperliquid, binance_spot, asterdex, or all
typestringNoperpsInstrument type (perps)
limitintNo250Max coins to return (default 250) (min: 1, max: 500)
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/funding-rates?exchange=hyperliquid&type=perps&limit=250" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/open-interest Open Interest

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.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter to a single coin (e.g. BTC)
exchangestringNohyperliquidFilter to coins on exchange: hyperliquid, binance_spot, asterdex, or all
typestringNoperpsInstrument type (perps)
limitintNo250Max coins to return (default 250) (min: 1, max: 500)
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/open-interest?exchange=hyperliquid&type=perps&limit=250" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/taker-buy-sell Taker Buy Sell

Taker buy/sell volume ratio by exchange, per coin (4h window).

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter by symbol (BTC, ETH, SOL, DOGE, XRP, ADA). Omit for all.
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/taker-buy-sell" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/liquidations/by-exchange Liquidations By Exchange

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).

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/liquidations/by-exchange" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/fear-greed-history Fear Greed History

Fear & Greed index history with dated entries.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/fear-greed-history" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/stablecoin-history Stablecoin History

Stablecoin market cap history timeseries.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/market-intelligence/stablecoin-history" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/market-intelligence/status Market Intelligence Status

Market intelligence collector status and rate usage.

Requires API key
Example
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.

GET /api/v1/on-chain/stablecoin-reserves Stablecoin Reserves

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/on-chain/stablecoin-reserves" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/stablecoin-reserves/dry-powder Dry Powder Score

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/on-chain/stablecoin-reserves/dry-powder" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/exchange-flows/{symbol} Exchange Flows By Symbol

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.

Requires API key
Path Parameters
NameTypeRequiredDescription
symbolstringYesToken symbol (e.g. USDT)
Query Parameters
NameTypeRequiredDefaultDescription
exchangestringNoFilter to one exchange (e.g. binance)
Example
curl "https://cryptodataapi.com/api/v1/on-chain/exchange-flows/USDT" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/exchange-flows/spike-alerts Spike Alerts (Large Transfers)

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.

Requires API key
Query Parameters
NameTypeRequiredDefaultDescription
min_amountfloatNo1000000Minimum transfer size in token units
limitintNo50max: 500
Example
curl "https://cryptodataapi.com/api/v1/on-chain/exchange-flows/spike-alerts?min_amount=5000000" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/miners/reserves Miner Reserves & Flows

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/on-chain/miners/reserves" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/miners/hash-ribbon Hash Ribbon State

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).

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/on-chain/miners/hash-ribbon" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/dormancy/btc BTC Dormancy / MVRV

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/on-chain/dormancy/btc" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/whales 🚧 Coming soon — Whales Snapshot

🚧 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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/on-chain/whales" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/whales/{symbol} 🚧 Coming soon — Whales By Symbol

🚧 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).

Requires API key
Path Parameters
NameTypeRequiredDescription
symbolstringYesUSDT / USDC / WBTC / WETH
Example
curl "https://cryptodataapi.com/api/v1/on-chain/whales/USDT" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/whales/accumulation-score 🚧 Coming soon — Whale Accumulation Score

🚧 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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/on-chain/whales/accumulation-score" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/whales/accumulation-score/{symbol} 🚧 Coming soon — Whale Score By Symbol

🚧 Coming soon — temporarily disabled (currently returns HTTP 503). Whale accumulation signal for a single ERC-20 token with full 7d/30d delta payload.

Requires API key
Path Parameters
NameTypeRequiredDescription
symbolstringYesUSDT / USDC / WBTC / WETH
Example
curl "https://cryptodataapi.com/api/v1/on-chain/whales/accumulation-score/USDT" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/on-chain/score On-Chain Health Score

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).

Requires API key
Example
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.

GET /api/v1/backtesting/klines Get Klines

Query historical 1-minute OHLCV klines for backtesting.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringYesTrading pair, e.g. BTCUSDT (Binance) or BTC (Hyperliquid)
exchangestringNobinancebinance or hyperliquid
startstringYesStart time (ISO 8601 or unix ms)
endstringNoEnd time (ISO 8601 or unix ms, defaults to now)
limitintNo1000min: 1, max: 10000
formatstringNojsonResponse format: json or csv
Example
curl "https://cryptodataapi.com/api/v1/backtesting/klines?exchange=binance&limit=1000&format=json" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/funding Get Funding

Query historical funding rates and open interest.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringYesSymbol, e.g. BTC or BTCUSDT
exchangestringNohyperliquidbinance or hyperliquid
startstringYesStart time (ISO 8601 or unix ms)
endstringNoEnd time
limitintNo1000min: 1, max: 10000
Example
curl "https://cryptodataapi.com/api/v1/backtesting/funding?exchange=hyperliquid&limit=1000" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/liquidations Get Liquidations

Query historical liquidation data.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringNoFilter by symbol, or omit for all
startstringYesStart time (ISO 8601 or unix ms)
endstringNoEnd time
limitintNo1000min: 1, max: 10000
Example
curl "https://cryptodataapi.com/api/v1/backtesting/liquidations?limit=1000" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/hl-liquidations Get HL Liquidation Events

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).

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
coinstringNoFilter by HL universe coin name (e.g. BTC, kPEPE), or omit for all
startstringYesStart time (ISO 8601 or unix ms)
endstringNoEnd time
limitintNo1000min: 1, max: 10000
Example
curl "https://cryptodataapi.com/api/v1/backtesting/hl-liquidations?coin=BTC&start=2026-07-23" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/snapshots Get Snapshots

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.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
data_typestringYesSnapshot type, e.g. market_health, fear_greed, coinglass_etf_flows
startstringYesStart time (ISO 8601 or unix ms)
endstringNoEnd time
limitintNo100min: 1, max: 1000
universestringNoFor dex_trending: filter to hl_perps
Example
curl "https://cryptodataapi.com/api/v1/backtesting/snapshots?limit=100" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/snapshots/types Get Snapshot Types

List all available snapshot data types with row counts and date ranges.

Requires Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/backtesting/snapshots/types" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/symbols Get Symbols

List all tracked symbols with available date ranges.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
exchangestringNoFilter by exchange: binance or hyperliquid
Example
curl "https://cryptodataapi.com/api/v1/backtesting/symbols" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/status Get Status

Get backtesting storage statistics.

Requires Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/backtesting/status" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/export Export Data

Export kline data as streaming CSV download.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
symbolstringYesSymbol to export
exchangestringNobinancebinance or hyperliquid
startstringYesStart time (ISO 8601 or unix ms)
endstringNoEnd time
Example
curl "https://cryptodataapi.com/api/v1/backtesting/export?exchange=binance" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/archives/index Get Archive Index

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.

Requires Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/backtesting/archives/index" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/archives List Archives

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.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
data_typestringNoklinesData 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.
exchangestringNoFilter by exchange (klines/funding/daily/klines_deep/funding_deep only)
symbolstringNoFilter by symbol, or snapshot type name for snapshots
intervalstringNoCandle interval for klines_deep only: 1h, 4h, or 1d (ignored for other types)
Example
curl "https://cryptodataapi.com/api/v1/backtesting/archives?data_type=klines" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/archives/download Download Archives

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).

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
startstringYesStart date (YYYY-MM-DD; YYYY-MM for '*_deep' tiers)
data_typestringNoklinesData 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.
exchangestringNoExchange filter (klines/funding/daily/klines_deep/funding_deep)
symbolstringNoSymbol, or snapshot type name for snapshots
intervalstringNoCandle interval for klines_deep only: 1h, 4h, or 1d (ignored for other types)
endstringNoEnd date (YYYY-MM-DD, defaults to today; YYYY-MM for '*_deep' tiers)
Example
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"
GET /api/v1/backtesting/daily-snapshots Daily Snapshots List

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.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/backtesting/daily-snapshots" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/backtesting/daily-snapshots/{date} Daily Snapshot By Date

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.

Requires API key
Path Parameters
NameTypeRequiredDescription
datestringYesYYYY-MM-DD (UTC)
Example
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.

GET /api/v1/nfts/overview Get Nft Overview

Headline NFT trade volume — total + per-chain / per-tier / per-category series, top collections, marketplaces.

Requires Pro or Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo90Days of history to return (min: 7, max: 3650)
Example
curl "https://cryptodataapi.com/api/v1/nfts/overview?days=90" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/nfts/collections List Nft Collections

Seeded NFT collection taxonomy — slug, name, chain, category, tier, launch month.

Requires Pro or Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/nfts/collections" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/nfts/collections/{slug} Get Nft Collection

Per-collection daily volume time-series.

Requires Pro or Pro Plus API key
Path Parameters
NameTypeRequiredDescription
slugstringYes
Query Parameters
NameTypeRequiredDefaultDescription
daysintNo365min: 7, max: 3650
Example
curl "https://cryptodataapi.com/api/v1/nfts/collections/{slug}?days=365" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/nfts/chains List Nft Chains

Chain breakdown — each chain plus the count of seeded collections on it.

Requires Pro or Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/nfts/chains" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/nfts/categories List Nft Categories

Category taxonomy — fixed buckets (pfp/art/gaming/collectible/music/domain/metaverse/ordinal/other).

Requires Pro or Pro Plus API key
Example
curl "https://cryptodataapi.com/api/v1/nfts/categories" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/nfts/volume Get Nft Volume

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`.

Requires API key (Pro tier)
Query Parameters
NameTypeRequiredDefaultDescription
bystringNochain
fromstringNoISO date (YYYY-MM-DD)
tostringNoISO date (YYYY-MM-DD)
granularitystringNodaily
Example
curl "https://cryptodataapi.com/api/v1/nfts/volume?by=chain&granularity=daily" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/nfts/correlations Get Nft Correlations

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.

Requires Pro Plus API key
Query Parameters
NameTypeRequiredDefaultDescription
vsstringNobtc,eth,solComma-separated asset symbols
window_daysintNo90min: 14, max: 730
Example
curl "https://cryptodataapi.com/api/v1/nfts/correlations?vs=btc,eth,sol&window_days=90" \
  -H "X-API-Key: cdk_live_your_key"

Payments

GET /api/v1/payments/plans Get Plans

Return plan pricing and supported networks. No auth required.

No authentication required
Example
curl "https://cryptodataapi.com/api/v1/payments/plans"
POST /api/v1/payments/subscribe Subscribe

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.

Requires API key (Pro tier)
Request Body (JSON)
NameTypeRequiredDescription
planstringYes
Example
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]"}'
POST /api/v1/payments/validate-code Validate Discount Code

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.

No API key required (rate-limited per IP)
Request Body (JSON)
NameTypeRequiredDescription
codestringYesThe discount code (case-insensitive)
Example
curl -X POST "https://cryptodataapi.com/api/v1/payments/validate-code" \
  -H "Content-Type: application/json" \
  -d '{"code": "CDA-XXXXXXXX"}'
GET /api/v1/payments/subscription Get Subscription

Return current subscription status.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/payments/subscription" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/payments/invoices List Invoices

List all invoices for this API key's email.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/payments/invoices" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/payments/invoices/{number} Get Invoice

Get a single invoice. JSON by default, ?format=html for printable, ?format=pdf for download.

Requires API key
Path Parameters
NameTypeRequiredDescription
numberstringYes
Query Parameters
NameTypeRequiredDefaultDescription
formatstringNojson
Example
curl "https://cryptodataapi.com/api/v1/payments/invoices/{number}?format=json" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/payments/agent-subscribe Agent Subscribe (x402 Gasless Payment)

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.

No authentication required
Request Body (JSON)
NameTypeRequiredDescription
planstringYes
Example
curl -X POST "https://cryptodataapi.com/api/v1/payments/agent-subscribe" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'
POST /api/v1/payments/stripe/checkout Card Checkout (Stripe)

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).

Requires API key (member's own key)
Request Body (JSON)
NameTypeRequiredDescription
planstringYesmonthly | monthly_plus | annual | annual_plus
discount_codestringNoOptional discount code (case-insensitive)
Example
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"}'
POST /api/v1/payments/stripe/portal Billing Portal (Stripe)

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.

Requires API key (member's own key)
Example
curl -X POST "https://cryptodataapi.com/api/v1/payments/stripe/portal" \
  -H "X-API-Key: cdk_live_your_key"

Webhooks

GET /api/v1/webhooks List Webhooks

List all registered webhook endpoints.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/webhooks" \
  -H "X-API-Key: cdk_live_your_key"
POST /api/v1/webhooks Create Webhook

Register a new webhook endpoint with optional address and event filters.

Requires API key
Request Body (JSON)
NameTypeRequiredDescription
urlstringYes
secretstringYes
labelstringYes
enabledbooleanNo
addressesarrayNo
eventsarrayNo
Example
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]"}'
PATCH /api/v1/webhooks/{label} Update Webhook

Update a webhook endpoint by label.

Requires API key
Request Body (JSON)
NameTypeRequiredDescription
urlstringNo
secretstringNo
enabledbooleanNo
addressesarrayNo
eventsarrayNo
clear_addressesbooleanNo
clear_eventsbooleanNo
Path Parameters
NameTypeRequiredDescription
labelstringYes
Example
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 /api/v1/webhooks/{label} Delete Webhook

Delete a webhook endpoint by label.

Requires API key
Path Parameters
NameTypeRequiredDescription
labelstringYes
Example
curl -X DELETE "https://cryptodataapi.com/api/v1/webhooks/{label}" \
  -H "X-API-Key: cdk_live_your_key"

Wallet Auth

POST /api/v1/wallet/challenge Create Challenge

Generate an EIP-191 sign-in challenge for a wallet address.

No authentication required
Request Body (JSON)
NameTypeRequiredDescription
wallet_addressstringYes
Example
curl -X POST "https://cryptodataapi.com/api/v1/wallet/challenge" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'
POST /api/v1/wallet/verify Verify Signature

Verify an EIP-191 signature and return/create an API key.

No authentication required
Request Body (JSON)
NameTypeRequiredDescription
wallet_addressstringYes
signaturestringYes
noncestringYes
Example
curl -X POST "https://cryptodataapi.com/api/v1/wallet/verify" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'
GET /api/v1/wallet/session Get Session

Get wallet session info for the current API key.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/wallet/session" \
  -H "X-API-Key: cdk_live_your_key"

Wallet Payments

POST /api/v1/wallet/upgrade Upgrade Plan

Verify a USDC transfer on-chain and upgrade the API key to pro.

Requires API key (Pro tier)
Request Body (JSON)
NameTypeRequiredDescription
tx_hashstringYes
networkstringYes
planstringYes
intent_idstringNo
Example
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]"}'
GET /api/v1/wallet/invoices List Invoices

List all invoices for the current wallet.

Requires API key
Example
curl "https://cryptodataapi.com/api/v1/wallet/invoices" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/wallet/invoices/{number} Download Invoice

Download a single invoice as PDF.

Requires API key
Path Parameters
NameTypeRequiredDescription
numberstringYes
Example
curl "https://cryptodataapi.com/api/v1/wallet/invoices/{number}" \
  -H "X-API-Key: cdk_live_your_key"
GET /api/v1/wallet/config Wallet Config

Return public wallet config (treasury addresses, supported networks).

No authentication required
Example
curl "https://cryptodataapi.com/api/v1/wallet/config"
POST /api/v1/wallet/create-solana-tx Create Solana Tx

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.

Requires API key
Request Body (JSON)
NameTypeRequiredDescription
senderstringYes
planstringYes
Example
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]"}'
GET /api/v1/wallet/solana-blockhash Solana Blockhash

Proxy: get latest Solana blockhash (avoids CORS issues with public RPCs).

No authentication required
Example
curl "https://cryptodataapi.com/api/v1/wallet/solana-blockhash"
GET /api/v1/wallet/solana-confirm/{signature} Solana Confirm

Proxy: check Solana transaction confirmation status.

No authentication required
Path Parameters
NameTypeRequiredDescription
signaturestringYes
Example
curl "https://cryptodataapi.com/api/v1/wallet/solana-confirm/{signature}"

Other

GET /dashboard Dashboard Page

User dashboard — API key management, usage stats, invoices.

No authentication required
Example
curl "https://cryptodataapi.com/dashboard"
GET /pricing Pricing Page

Pricing plans page.

No authentication required
Example
curl "https://cryptodataapi.com/pricing"