Bitcoin network-health signals
Daily Bitcoin on-chain network-health signals from Blockchain.com's keyless charts (full history, 2011 ->): hash rate (TH/s), confirmed transactions per day, transaction fees (USD/day), mining difficulty, and total miner revenue (USD/day), with 90-day momentum, year-on-year change, 30-day change volatility, 3-sigma anomaly flags, naive-drift forecasts, a 5-year network z-score, a miner-capitulation drawdown flag, and a fee-congestion flag. The network-fundamentals companion to crypto-price-signals (what the market says) and crypto-fear-greed-index-signals (what it feels) — this watches what the chain does. All rows normalized to country_code WLD (global network). Raw data: Blockchain.com charts API.
Quality
Attribution
Blockchain.com charts statistics; derived signals by Frontier Data Hub
Schema
| Column | Type | Description |
|---|---|---|
| date | string | Day of observation (Blockchain.com charts API, daily granularity, UTC). |
| country | string | |
| country_code | string | |
| series_id | string | HASH_RATE (estimated network hash rate), N_TX (confirmed transactions per day), FEES_USD (total transaction fees in USD), DIFFICULTY (mining difficulty), MINER_REV (total miner revenue in USD). |
| series_label | string | Chart statistic as labeled by Blockchain.com, e.g. 'Bitcoin network hash rate (estimated TH/s, daily)'. |
| value | float | Daily value of the chart statistic in its native unit: TH/s for HASH_RATE, transactions for N_TX, USD for FEES_USD and MINER_REV, relative units for DIFFICULTY. |
| momentum_3m | float | |
| yoy_change | float | |
| volatility_30d | float | |
| anomaly_flag | integer | |
| forecast_1m | float | |
| network_z_5y | float | |
| hashrate_drawdown_flag | integer | |
| congestion_flag | integer |
Sample rows
| date | country | country_code | series_id | series_label | value | momentum_3m | yoy_change | volatility_30d | anomaly_flag | forecast_1m | network_z_5y | hashrate_drawdown_flag | congestion_flag |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009-01-03 | World | WLD | DIFFICULTY | Bitcoin mining difficulty (relative units, daily) | 1 | — | — | — | 0 | 1 | — | 0 | 0 |
| 2009-01-04 | — | — | DIFFICULTY | Bitcoin mining difficulty (relative units, daily) | 1 | — | — | — | 0 | 1 | — | 0 | 0 |
| 2009-01-05 | — | — | DIFFICULTY | Bitcoin mining difficulty (relative units, daily) | 1 | — | — | — | 0 | 1 | — | 0 | 0 |
| 2009-01-06 | — | — | DIFFICULTY | Bitcoin mining difficulty (relative units, daily) | 1 | — | — | — | 0 | 1 | — | 0 | 0 |
| 2009-01-07 | World | WLD | DIFFICULTY | Bitcoin mining difficulty (relative units, daily) | 0 | — | — | — | 0 | — | — | 0 | 0 |
Download sample data
Download the full sample snapshot for this dataset (sample rows, not the complete dataset).
Use with an LLM
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
cURL
curl "https://datazimuts.com/v1/datasets/btc_network_signals/btc_network_health_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/btc_network_signals/btc_network_health_signals").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/btc_network_signals/btc_network_health_signals
Tip: fetch /llms.txt for the full machine-readable catalog.