Skip to content

Btc Cycle Indicators

GET/v1/cryptodata/market-intelligence/btc/cycle-indicators

BTC cycle indicators: Puell Multiple, Pi Cycle Top, Golden Ratio, 2-Year MA, 200-Week MA, AHR999, Profitable Days, Stock-to-Flow, MVRV Z-Score and NUPL. `days=0` returns every day back to 2010-2014 (about 8 MB; send `Accept-Encoding: gzip`). Ten indicators, each a list of daily entries, oldest first. Every entry carries `price` (BTC/USD, Coin Metrics daily reference), `date` (UTC day), `time` (unix seconds) and `timestamp` (unix ms, as CoinGlass served it), plus: - `puell_multiple` — `puell_multiple`: daily issuance USD / its 365-day mean. >4 has marked tops, <0.5 bottoms. - `pi_cycle_top` — `ma_111`, `ma_350_mu_2` (2x the 350-day MA), `ma_110` (CoinGlass's key). A top prints when ma_111 crosses above ma_350_mu_2. - `golden_ratio` — `ma_350` and its multiples: `accumulation_high_1_6`, `low_bull_high_2`, `ma_350_x3`, `_x5`, `_x8`, `_x13`, `_x21`. - `two_year_ma` — `moving_average_730`, `moving_average_730_multiplier_5`. - `two_hundred_week_ma` — `ma_200w` (1,400-day mean); `moving_average_1440` is the same value under CoinGlass's key. - `ahr999` — `ahr999_value` = (price / `average_price`, the 200-day geometric mean) x (price / `growth_valuation`, 10^(5.84 log10(days since genesis) - 17.01)). <0.45 accumulate, 0.45-1.2 DCA, >1.2 late cycle. - `bitcoin_profitable_days` — `profitable_percentage`: share of all days up to that one that closed below it. `side`: 1 if that day closed below the LATEST price, -1 above, 0 latest (it changes as the price moves). - `stock_to_flow` — `stock_to_flow`: supply / trailing-365-day issuance; `next_halving`: days to the next halving (the upcoming one is projected from supply at the trailing 30-day issuance rate). - `mvrv_zscore` — `mvrv` (market cap / realized cap) and `mvrv_zscore` = (market cap - realized cap) / the standard deviation of market cap up to that day (expanding, so no lookahead). - `nupl` — `nupl` = 1 - 1/MVRV (net unrealized profit/loss share of market cap). Daily from 2010-2014 (each starts once its window fills) to the latest day Coin Metrics has published, usually yesterday. Every value is as-of its own day. `rainbow_chart`, `bitcoin_bubble` and `bull_market_peak` were CoinGlass-only and are no longer served (410); their CoinGlass series up to 2026-07-22 are in /api/v1/backtesting/snapshots?data_type=coinglass_cycle_indicators.

Price

$0.01/ call

Edge cache

300s

Uptime 24h

100.00%

p95

596ms

Parameters

NameInTypeDescription
days query integer = 30 Number of daily entries to return per indicator (0 = all, default 30)

Code

curl
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/cryptodata/market-intelligence/btc/cycle-indicators"

# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/cryptodata/market-intelligence/btc/cycle-indicators" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"
TypeScript · @x402/fetch
// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/cryptodata/market-intelligence/btc/cycle-indicators")).json();
console.log(data);
Python · x402
# pip install x402 eth-account requests
from eth_account import Account
from x402.clients.requests import x402_requests

session = x402_requests(Account.from_key(PRIVATE_KEY))
print(session.get("https://api.realtimeapi.ai/v1/cryptodata/market-intelligence/btc/cycle-indicators").json())
With an API key
curl "https://api.realtimeapi.ai/v1/cryptodata/market-intelligence/btc/cycle-indicators" -H "X-API-Key: $RTAPI_KEY"

Frequently asked questions

How do I get btc cycle indicators from CryptoDataAPI?

Send GET https://api.realtimeapi.ai/v1/cryptodata/market-intelligence/btc/cycle-indicators. Pay $0.01 per request with x402, or send an X-API-Key header.

What does GET /market-intelligence/btc/cycle-indicators cost?

$0.01 per successful request in USDC on Base. Failed requests are never charged.

Can I call this endpoint from an MCP client?

Yes. Connect any MCP client to the RealtimeAPI server and use call_feed with this endpoint's URL, or get_quote to check the price first.

Get a free key

1,000 calls a month across every feed. Who is setting it up?

No key needed at all: agents can pay per call in USDC with x402.