Skip to main content
API referenceSubnets

Emission Pipeline

Last updated

GET
/api/v1/chain/emission-pipeline

Fetch the v440 emission pipeline decomposed per subnet (#8744): stage 1's price share, MinerBurned, the post-burn weighted share, the post-Hill-gate share, SubnetEmissionEnabled, the final share of block emission actually received, the gate's give-or-take (gate_delta), distance_to_bar measured against the WEIGHTED share (theta is computed over the post-burn distribution, so comparing stage 1 to it answers a question the gate does not ask), and the TAO split -- tao_in_emission (pool liquidity injection) vs excess_tao (chain buys), their tao_total, and liquidity_fraction. Plus the network aggregate and the issuance-derived block emission. EVERY SHARE IS RECONSTRUCTED, NOT READ: the chain publishes the inputs, not the decomposition. field_sources gives each field its kind (measured|reconstructed) and, for measurements, the storage item behind it; every value is pinned to chain_state.block; and the four pipeline identities are evaluated on the rows being served, so verification.verified: false means the response is not defensible and must not be used. emission_enabled is published rather than inferred because a deeply gated ENABLED subnet and a disabled one both read final_share: 0. The two TAO channels are point samples at that block -- measured across 14 consecutive blocks they move a few rao and liquidity_fraction varies by ~1e-5, so no rollup exists or is needed. ?netuid filters the subnet list and deliberately leaves the aggregate network-wide. Served live (no static file); 503 when the capture carries no pinned block, because an unverifiable decomposition is worse than none.

Query Parameters

netuid?integer
Range0 <= value

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/chain/emission-pipeline"
{  "data": {    "aggregate": {      "disabled_count": 1,      "eligible_count": 1,      "excess_tao": 0.5,      "liquidity_fraction": 0.5,      "tao_in_emission": 0.5,      "tao_total": 0.5,      "total_final_share": 0.5    },    "block_emission_halvings": 5000000,    "block_emission_tao": 5000000,    "chain_state": {      "block": 5000000,      "block_hash": "0xa3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1",      "emission_bar_quantile": 0.5,      "emission_gate_bar": 0.5,      "emission_gate_exponent": 1,      "total_issuance_tao": 0.5    },    "field_sources": {      "example": {        "kind": "measured",        "storage": "example"      }    },    "schema_version": 1,    "subnets": [      {        "alpha_in_emission": 0.5,        "alpha_out_emission": 0.5,        "distance_to_bar": 0.5,        "emission_enabled": false,        "emission_share": 0.5,        "excess_tao": 0.5,        "final_share": 0.5,        "gate_delta": 0.5,        "gated_share": 0.5,        "ineligible_reason": "root",        "liquidity_fraction": 0.5,        "miner_burned": 0.5,        "netuid": 7,        "tao_in_emission": 0.5,        "tao_total": 0.5,        "weighted_share": 0.5      }    ],    "verification": {      "aggregate_tolerance_rao": "1000",      "checks": [        {          "detail": "example",          "name": "Example Subnet",          "ok": true        }      ],      "subnet_share_tolerance": 0.5,      "verified": false    }  },  "meta": {    "artifact_path": "example",    "cache": "short",    "contract_version": "2026-06-29.1",    "generated_at": "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}