ABYSS Index · API
← Back to the index

ABYSS Index API

Free public API. It returns OUR computed index and metrics (our own data), free to redistribute with attribution to ABYSS Index. No key, open CORS, CDN-cached. Great for sites, bots, dashboards and videos.

Plans

The public core is free forever (attribution). Paid plans buy COMMERCIAL use — in your paid product, without attribution — plus priority support (and an SLA on Enterprise). Free, Pro and Business are self-serve; Enterprise, let's talk.

Free · public
0 €
Sites, bots, dashboards, videos
  • Open JSON API, no key
  • Open CORS + CDN cache
  • Index, 87-asset risk, on-chain, altseason
  • Free to redistribute WITH attribution
Use the endpoints below
Pro
€9.99/mo
Individuals, traders, indie devs
  • Personal API key
  • 120 req/min
  • Full 87-asset risk board in ONE call
  • Unlimited copilot, personal alerts
Start free →
Business
from
€149/mo+ VAT
Apps, media, tools that resell/embed
  • COMMERCIAL license (use in a paid product)
  • No attribution required (white-label)
  • Priority support
  • Self-serve; invoiced, commercial terms
Start Business →
Enterprise
custom
Funds, exchanges, large media
  • Dedicated feed / bulk history
  • SLA + uptime guarantees
  • Custom license (broad rights)
  • Priority roadmap input
Get in touch →

Business and Enterprise: prices exclude VAT (EU businesses with a VAT ID: reverse charge, you pay the net). Free and Pro are VAT-inclusive.

Base & assets

Base URL: https://abyssindex.com

Assets (?asset=): btc · eth · sol · xrp · doge · ada

Endpoints

GET /api/v1/index

Current ABYSS Score + components and market readings.

Parameters: ?asset=btc

Example response
{
  "index": "ABYSS-BTC",
  "asset": "btc",
  "score": 63,
  "band": "accumulation",
  "formulaVersion": "abyss-btc-1.0.0",
  "asOf": "2026-07-01T00:00:00.000Z",
  "market": { "priceUsd": 58365, "fearGreed": 41, "fearGreedClass": "Fear" },
  "components": [
    { "key": "sentiment_fng", "subScore": 59, "weight": 0.20, "contribution": 11.8 },
    { "key": "trend_ema200_w", "subScore": 72, "weight": 0.15, "contribution": 10.8 }
  ]
}
GET /api/v1/mvrv

On-chain MVRV, NUPL and realized price, computed from our own Bitcoin node. Returns status:pending while the node finishes syncing.

Parameters: ?asset=btc

Example response
{
  "index": "ABYSS-BTC",
  "asset": "btc",
  "date": "2026-07-01",
  "mvrv": 1.10,
  "mvrvZ": 0.18,
  "nupl": 0.09,
  "realizedPrice": 53164.61,
  "realizedCap": 1065983001495,
  "marketCap": 1173648233242,
  "supplyBtc": 20050613.64,
  "lthPct": 0.8033,
  "hodl": { "<1m": 0.0658, "6-12m": 0.1866, "5y+": 0.3323 },
  "mayer": 1.06,
  "puell": 1.04,
  "priceUsd": 58534.28,
  "height": 956269,
  "source": "self-hosted Bitcoin node"
}
GET /api/v1/altseason

Altseason index (0-100): strength of the alt basket vs BTC, with per-asset detail. No parameters.

GET /api/v1/history

Weekly ABYSS Score series since 2018 (reconstructed point-in-time, no look-ahead).

Parameters: ?asset=btc

Example response
{
  "index": "ABYSS-BTC",
  "asset": "btc",
  "formulaVersion": "abyss-btc-1.0.0",
  "count": 440,
  "points": [
    { "date": "2018-01-07", "score": 41, "bandKey": "neutral" },
    { "date": "2018-01-14", "score": 38, "bandKey": "late_cycle" }
  ]
}
GET /api/v1/history/csv

Same as /history but as a downloadable CSV.

Parameters: ?asset=btc

Caching & CORS

All responses carry Cache-Control (CDN-served) and Access-Control-Allow-Origin: *, so you can call them from the browser. The index refreshes every ~60s; history hourly; on-chain every ~10min.

Pro API (with a key)

An ABYSS Pro subscription gives you an API key for programmatic access with high limits. Generate and manage your keys in your account.

Get your key

Authentication

Send your key in the “Authorization: Bearer ak_live_…” header (never in the URL). The key stops working if your Pro lapses. Limit: 120 requests/min per user.

GET /api/v1/pro/risk

The full 87-asset ABYSS Risk (0-1) board in ONE call. Our own on-chain metrics (MVRV, MVRV-Z, NUPL, Mayer, Puell) are BTC-only (Bitcoin node); the 86 alts are read from price, so those fields come back null. The web equivalent (/risk) is public; here you get it with a key to integrate into your bots and dashboards.

Example response
{
  "index": "ABYSS-RISK",
  "count": 87,
  "assets": [
    { "asset": "btc", "label": "BTC", "tier": "robust", "risk": 0.42,
      "mvrv": 1.10, "mvrvZ": 0.18, "nupl": 0.09, "mayer": 1.06, "puell": 1.04, "date": "2026-07-01" },
    { "asset": "eth", "label": "ETH", "tier": "robust", "risk": 0.38,
      "mvrv": null, "mvrvZ": null, "nupl": null, "mayer": null, "puell": null, "date": "2026-07-01" }
  ]
}

For educational purposes only. Not financial advice.