Economics
Last updated
List per-subnet validator and economic metrics (counts, stake, registration cost, alpha price, alpha market-cap proxy, alpha FDV proxy, emission share, and registration block height). Default order is emission share descending — note that emission_share is the STAGE-1 PRICE SHARE of the v440 emission pipeline (alpha_price / sum of alpha_price), NOT the share of TAO a subnet receives: spec 440 separates the two by MinerBurned reweighting, the Hill emission gate, the SubnetEmissionEnabled filter, the alpha injection cap, and the liquidity balancer. See /api/v1/network/parameters for the gate parameters and docs/computed-metrics-methodology.md for the eight-stage decomposition. Filter by netuid/registration_allowed, search by name/slug, and sort with sort=<field>&order=asc|desc — the two are separate parameters (e.g. ?sort=alpha_market_cap_tao&order=desc or ?sort=block&order=asc), NOT a combined field:desc token. Per-subnet recipient-class economics (who the emission actually goes to -- validators, miners, the burn sink, in alpha and derived USD per day) are NOT here: /subnets/{netuid}/emission-split/history measures that split per day; never reconstruct it from an assumed constant. Registry screening signals (repo health via github_commits_weekly/github_last_push_at, testnet lineage via also_on, the declared miner hardware floor via gpu_required/min_vram_gb) are also NOT here: /api/v1/subnets serves them in bulk behind its fields= projection, e.g. ?fields=netuid,github_commits_weekly,also_on,gpu_required.
Query Parameters
Subnet id (netuid). 0 is the root subnet -- a stake-allocation construct rather than a running subnet. It IS present in the registry collections, but it is excluded from application-subnet counts, and stake on it is denominated in TAO rather than in a subnet alpha token, so its economics are not directly comparable to a running subnet's.
0 <= value <= 65535Value in
- "true"
- "false"
Free-text search query, matched case-insensitively against the collection's indexed text fields. Whitespace-separated terms narrow the result (AND), and an empty or whitespace-only value is treated as no filter rather than as a search matching nothing.
length <= 200Comma-separated allow-list projecting the response's primary row collection down to just these fields. A response carrying several collections projects only the primary one -- the others keep their full shape. An unrecognised field is a 400 invalid_query naming both the field and the collection it was resolved against, rather than being ignored.
^[\s,]*[A-Za-z_][A-Za-z0-9_]*(\s*,[\s,]*[A-Za-z_][A-Za-z0-9_]*)*[\s,]*$Maximum number of rows to return in one page (at most 1000). A larger value, or a non-positive one, is rejected with 400 invalid_query -- so a short page means the result set is exhausted, not that the server quietly capped you (#9916). Omitted, every matching row is returned.
1 <= value <= 1000Row offset to resume from — the numeric position of the first row to return, not an opaque token. Rows inserted since the previous page shift it, so prefer the keyset cursor where a tool offers one.
0 <= valueField to sort by — the bare field name only (e.g. sort=total_stake_alpha). Pair with the separate order parameter to choose direction; a combined field:desc token is NOT supported.
Value in
- "alpha_fdv_tao"
- "alpha_market_cap_tao"
- "alpha_price_change_1d"
- "alpha_price_change_1h"
- "alpha_price_change_1m"
- "alpha_price_change_7d"
- "alpha_price_tao"
- "block"
- "emission_share"
- "max_stake_alpha"
- "max_uids"
- "max_validators"
- "miner_count"
- "miner_readiness"
- "name"
- "netuid"
- "open_slots"
- "registration_cost_tao"
- "subnet_volume_tao"
- "total_stake_alpha"
- "validator_count"
Sort direction for sort: asc or desc (default desc). This is a separate parameter from sort — e.g. ?sort=emission_share&order=desc.
Value in
- "asc"
- "desc"
Response format override. Use csv to download the transformed list as text/csv; json keeps the default response envelope.
"json"Value in
- "json"
- "csv"
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/economics"{ "data": { "captured_at": "2026-06-01T00:00:00.000Z", "chain_state": { "block": 5000000, "block_hash": "0xa3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1", "emission_bar_quantile": 0.5, "emission_gate_bar": 0.5, "emission_gate_exponent": 1, "network_immunity_period": 1, "total_issuance_tao": 0.5 }, "contract_version": "2026-06-29.1", "field_sources": { "example": { "kind": "measured", "storage": "example" } }, "generated_at": "2026-06-01T00:00:00.000Z", "network": "example", "notes": "Example description.", "schema_version": 1, "subnets": [ { "alpha_in_pool": 0.5, "alpha_out_pool": 0.5, "alpha_price_tao": 0.5, "max_stake_alpha": 0.5, "max_uids": 1, "max_validators": 1, "miner_count": 1, "owner_coldkey": "example", "owner_hotkey": "example", "registration_allowed": false, "registration_cost_tao": 0.5, "subnet_volume_tao": 0.5, "tao_in_pool_tao": 0.5, "total_stake_alpha": 0.5, "validator_count": 1 } ], "summary": { "registration_open_count": 1, "subnet_count": 1, "total_alpha_value_tao": "327838334.635978200", "total_miners": 1, "total_network_value_tao": "327838334.635978200", "total_root_value_tao": "327838334.635978200", "total_stake_alpha": "327838334.635978200", "total_validators": 1, "with_economics_count": 1 }, "tao_usd": { "block_number": 5000000, "observed_at": "2026-06-01T00:00:00.000Z", "price_basis": "example", "usd_per_tao": 0.5 }, "tao_usd_unavailable": "no_index_reading" }, "meta": { "artifact_path": "example", "cache": "short", "contract_version": "2026-06-29.1", "generated_at": "2026-06-01T00:00:00.000Z", "observed_through": "2026-06-01T00:00:00.000Z", "pagination": { "collection": "example", "cursor": 1, "limit": 1, "next_cursor": 1, "order": "asc", "returned": 1, "sort": "example", "total": 1 }, "published_at": "2026-06-01T00:00:00.000Z", "source": "live-cron-prober", "stale_contract": { "built_under": "example", "live": "example" } }, "ok": true, "schema_version": 1}