A few lines to get going.
Use a public endpoint to explore the response. Add a paid API key when your integration needs 90-day or one-year history, or CSV downloads.
curl 'https://subnetmetrics.com/api/v1/subnets/64/history?days=7'Go further with your API key
Create a key in your API account, store it in an environment variable, and send it in the authorization header.
curl 'https://subnetmetrics.com/api/v1/subnets/64/history?days=90' -H "Authorization: Bearer $SUBNET_METRICS_API_KEY"Keys grant read access only. They cannot manage billing, watchlists or other keys. Existing Pro browser sessions retain their history and CSV access.
One dataset. A few useful views.
/api/v1/emissionsPublicFinalized subnet emission status and TAO delivered in the observed block. Checked every five minutes. Open Emissions Watch ↗
/api/v1/emissions/eventsJSONVerified suspensions and restorations. Filter by netuid, choose days=7|90|365, and paginate with before_block. Check the returned coverage. Seven days are public; longer windows need paid access.
/api/v1/emissions/{netuid}/historyJSONSampled block flows: hourly observations for seven days; daily observations for 90/365 days. These are samples, not daily payment totals. History starts when collection begins; absent periods remain gaps.
/api/v1/subnetsPublicLatest subnet names, 24h/7d/30d burn totals in alpha and TAO, activity changes and dated published claims.
/api/v1/subnets/{netuid}PublicThe latest summary for one subnet, including its published claim when available.
/api/v1/subnets/{netuid}/historyJSONDaily alpha, burn counts and TAO at each day’s panel price. Choose ?days=7, 30, 90 or 365. Seven and thirty days are public; longer windows require paid access.
/api/v1/subnets/{netuid}/history.csvPaidThe same daily history as a CSV download. Every window length requires paid access.
Numbers you can inspect.
A burn establishes an on-chain action. It does not establish revenue funding, a preceding market purchase or team attribution. Dated published buyback claims are not verified revenue.
- as_of
- The end of the calculation window.
- burns_checked_at
- The most recent completed collection, or
nullwhen unknown. - freshness
current,staleorunknown. Collection runs daily; this is not a live transaction stream.- tao
- Summary totals use the latest panel price. Daily history uses each day’s panel price. Neither is an execution price or revenue figure.
- null ≠ 0
- Missing valuations and percentage changes stay
null. Zero observed alpha means no burns in our index; it does not certify complete historical coverage.
Today’s UTC day is partial. History follows the subnet number, which may have been reused after deregistration. Read the full method ↗
Usage, without surprise overages.
The API plan is $99 per month, separate from Pro. It includes 10,000 successful requests per Stripe billing month, shared across up to 3 active keys. Failed requests do not consume the allowance.
A hard cap. No automatic extra charges.
At the cap, requests return 429 until the next paid billing period. Cancel anytime; access continues until the paid period ends. Revoked keys stop working immediately.
Authenticated responses include these usage headers:
- X-RateLimit-Limit
- The billing-period request allowance.
- X-RateLimit-Remaining
- Successful requests remaining in the period.
- X-RateLimit-Reset
- The reset time as a UTC Unix timestamp.
The plan covers internal use in your own tools. Contact us for redistribution or a different allowance. No service-level commitment is included.
Check freshness. Handle gaps.
Burn collection runs daily; Emissions Watch checks every five minutes. Poll no more often than every five minutes and cache results. Check freshness and event-index coverage before interpreting a missing observation as a change.
Errors use {"detail":"…"}.