MKT CAP$2.75T+0.5%
24H VOL$5145.4B
BTC DOM58.4%
HEALTH72BULLISH
SHORT-TERM73BULLISH
LONG-TERM70BULLISH
OI$14.2B
24H LIQ$58M
LONG/SHORT51.5% / 48.5%
REGIME (LT)BTC-LED BULL MARKET
REGIME (ST)SQUEEZE
HL OI$11.1B
WHALESSHORT 46.1%
MKT CAP$2.75T+0.5%
24H VOL$5145.4B
BTC DOM58.4%
HEALTH72BULLISH
SHORT-TERM73BULLISH
LONG-TERM70BULLISH
OI$14.2B
24H LIQ$58M
LONG/SHORT51.5% / 48.5%
REGIME (LT)BTC-LED BULL MARKET
REGIME (ST)SQUEEZE
HL OI$11.1B
WHALESSHORT 46.1%
Plug real-time crypto data into your AI agent — one command: Get your free API key →
Get API KeyLogin
AGENTS · PRICING

Pricing for AI agents

AI agents pay Crypto Data API in USDC over the x402 protocol — gasless on Base via the Coinbase Developer Platform facilitator, with Ethereum and Solana also supported. Three rails are open to any wallet, no account required: pay per request to try one endpoint once, pay per time for a 1–hour, 1–day or 7–day pass, or pay per resource for a single archived data file. Card and USDC subscriptions on /pricing are unchanged and remain the best value for anything polled regularly — the same numbers are available machine–readable at GET /api/v1/pricing.

Subscriptions, for reference

unchanged · card or USDC · full comparison on /pricing
PlanTierBilledUSDC
monthly Pro monthly $39
monthly_plus Pro Plus monthly $129
annual Pro annual $348
annual_plus Pro Plus annual $1,188

These four plans are unchanged by anything on this page — buy them on /pricing by card or USDC, or over x402 with POST /api/v1/payments/agent-subscribe and {"plan": "monthly"} (or monthly_plus, annual, annual_plus).

The ladder

pay per call to look · pay per hour to test · subscribe to run
Pay per request · to look
Per call
One response from one listed endpoint. No key, no signup — sign the amount and get the data back in the same round trip.
A pass · to test
1h / 1d / 7d
A real cdk_live_ key, Pro or Pro Plus, for a fixed window. Every existing rate limit and tier gate applies normally.
Subscribe · to run
Monthly / annual
Card or USDC on /pricing. The cheapest per-call cost once you're actually polling.
Buying per call adds up fast: one feed polled every 5 minutes is 8,640 calls a month. At the cheapest listed per-request price ($0.008/call) that's $69.12/month — more than a full month of Pro at $39. Pay per call to look around; subscribe once you're running something on a schedule.

Pay per request

no key required · keyless GET → 402 → signed retry
RouteMethod + pathDescriptionUSDC / call
whales GET /api/v1/quant/whales Classified Hyperliquid whale positioning: net bias, total net USD, long/short ratio across every account >= $100k, with per-coin gross/long/short/net. $0.03
market GET /api/v1/quant/market HMM regime nowcast (6 states) with directional, volatility, funding and liquidation-risk probabilities for the next 24h. $0.015
regimes_current GET /api/v1/regimes/current The committed long-horizon cycle regime (14-basket framework) with rationale. $0.01
liquidations GET /api/v1/market-intelligence/liquidations 24h long/short liquidation totals per symbol, merged across venues, full universe. $0.01
event_calendar GET /api/v1/event/calendar Dated crypto catalysts (unlocks, mints, listings, macro) with a long/short bias and 0-1 magnitude each. $0.008
etf_flows GET /api/v1/market-intelligence/etf/{asset}/flows Issuer-aggregated daily spot ETF net flows for btc, eth or sol. $0.01

Each row 402s a keyless GET with the exact USDC amount, network and payee. Settle with a signed x-payment header and the retry returns the data in one more round trip — see “How to pay” below. Calling with a normal X-API-Key works exactly as before; nothing changes for subscribers.

Pay per time (passes)

a real key, valid for a fixed window
PassTierDurationUSDC
pass_1h Pro 1 hour $1.5
pass_1d Pro 1 day $5
pass_7d Pro 7 days $15
pass_1h_plus Pro Plus 1 hour $4
pass_1d_plus Pro Plus 1 day $15
pass_7d_plus Pro Plus 7 days $45

Buy one with POST /api/v1/payments/agent-subscribe and a body of {"plan": "<pass>"}, using the id from the table above (e.g. pass_1d_plus). The response returns a cdk_live_ key once — store it, it is not shown again. A pass stacked on top of an active subscription upgrades your tier for its duration and falls back automatically when it expires.

Pay per resource

one archived file per purchase
Data typeWhat one purchase buysRequired paramsUSDC
klines one exchange/symbol/day Parquet exchange symbol date $0.25
funding one exchange/symbol/day Parquet exchange symbol date $0.25
liquidations one symbol/day Parquet symbol date $0.25
hl_liquidations one day, all Hyperliquid coins date $1
daily one consolidated day bundle (klines or funding, one exchange) date bundle exchange $2
snapshots one snapshot type for one day (JSON) snapshot_type date $0.25
klines_deep one exchange/interval/symbol/month Parquet exchange interval symbol month $3
funding_deep one exchange/symbol/month Parquet exchange symbol month $3

Endpoint: GET /api/v1/backtesting/archives/purchase?data_type=<type>, plus the params listed for that row as additional query params. Settlement returns a short-lived download URL for exactly that object — a missing file is rejected before it's ever quoted a price. Pro Plus keys download archives free via /api/v1/backtesting/archives/download; /purchase is the keyless x402 path for everyone else.

How to pay

the 402 dance, in four steps
  1. GET the endpoint with no X-API-Key. You receive HTTP 402 with a Payment-Required header and a JSON body whose `accepts[]` lists the USDC amount, network (Base recommended) and payTo address.
  2. Sign that amount with your wallet (EIP-3009 transferWithAuthorization on Base; the x402 client libraries do this) — no gas is spent by you.
  3. Repeat the request with the signed payload in the `x-payment` header. The facilitator settles on-chain and the response is the data (per request), a key (pass or subscription) or a download URL (resource).
  4. Polling? Buy a pass or subscribe instead — one feed polled every 5 minutes is 8,640 calls a month, which costs more per-request than a month of Pro.
1) keyless GET · 402curl
curl -i https://cryptodataapi.com/api/v1/quant/whales
# HTTP/1.1 402 Payment Required
# { "accepts": [{ "amount": "0.03", "network": "eip155:8453", "payTo": "0x..." }], ... }
2) signed retry · 200curl
curl -i https://cryptodataapi.com/api/v1/quant/whales \
  -H "x-payment: <signed-payment-header>"
# HTTP/1.1 200 OK
# { "summary": { "accounts_tracked": 3570, "net_bias": "short", ... } }

The x-payment header is a signed EIP-3009 transferWithAuthorization payload, not something you build by hand. The x402 client libraries (npm and PyPI both publish a package named x402) read the 402 body and produce that header for you from a wallet's private key.

Notes

  • Per-request responses are never cached and carry Cache-Control: private, no-store.
  • A Pro Plus key downloads archives free via /api/v1/backtesting/archives/download; /purchase is the keyless x402 path.
  • Passes and subscriptions return a cdk_live_ key once; per-request payments do not.

FAQ

Do I need an API key to pay per request?
No. Per-request payments and resource purchases need no key at all — GET the endpoint, receive a 402, sign the amount, retry with the signed x-payment header. Passes and subscriptions do return a cdk_live_ key, once, because they grant standing access rather than a single response.
Which networks are supported?
Base is recommended and gasless via the Coinbase Developer Platform facilitator. Ethereum and Solana are also supported for USDC settlement.
Is a paid response cached?
No. Every per-request response carries Cache-Control: private, no-store, so it is never served from the shared response cache and never reused for a different payer.
What if I'm polling an endpoint regularly?
Buy a pass or subscribe instead. Paying per call only makes sense for occasional or exploratory use — anything polled on a schedule is cheaper on a pass within hours and cheaper on a subscription within days (see the honesty-check math above).
Where is the machine-readable version of this page?
GET /api/v1/pricing returns the exact same table as JSON, no key required. This page and that endpoint render from the same source, so they can never disagree.