Latest node observation: tip, difficulty, estimated hashrate, average block interval and node-visible mempool.
No parameters. Check meta.status, sampled_at and received_at before using a reading.
BUILD ON THE RECORD
Bitcoin BLAKE2b observations and sourced pool terms for your tools, research and community dashboards. Free, read-only access. No account or API key required.
Four endpoints with source, chain identity and generation time.
Recorded observations, sample counts and explicit missing values.
CSV exports and links to specific historical periods.
Base URL: https://blakestack.com/api/v1. Browser requests support CORS without credentials.
curl https://blakestack.com/api/v1/network curl 'https://blakestack.com/api/v1/history?interval=1h' curl 'https://blakestack.com/api/v1/blocks?limit=50'
Every JSON response has meta and data. Metadata identifies Bitcoin BLAKE2b mainnet by its fork height and hash. Failed requests return {"error":{"code":"…","message":"…"}}.
Latest node observation: tip, difficulty, estimated hashrate, average block interval and node-visible mempool.
No parameters. Check meta.status, sampled_at and received_at before using a reading.
UTC-aligned means of recorded hashrate and BLAKE2b difficulty, with sample counts and coverage dates.
from / to: UTC ISO timestamps ending in Z. Default: last 24 hours, ending at the latest 30-second boundary. Start inclusive; end exclusive. Maximum window: 31 days. interval: auto (default), 30s, 5m, 1h or 1d. Maximum: 10,000 buckets. format: json (default) or csv.
Stored canonical BLAKE2b blocks, ordered by descending height. Optional block statistics can be null.
limit: 1–500 (default 100). before_height: exclusive height cursor. Pass meta.next_before_height to fetch the next page; null means no more stored blocks.
Editorial pool terms, sources, DATUM support, review dates and unknown or provisional values.
No parameters. Fee and payout terms are descriptive strings, not guaranteed normalized numeric values. This is a sourced selection, not live pool telemetry.
const response = await fetch(
'https://blakestack.com/api/v1/network'
);
if (!response.ok) throw new Error('Data unavailable');
const { meta, data } = await response.json();
if (meta.status === 'live') {
console.log(data.tip_height, data.hashrate_hps);
}Network status can be live, stale, syncing, offline or waiting. With no stored observation, the endpoint returns 503. A stored observation can still return 200 with a stale or syncing status. Observation age is separate from block age.