Subnet Emissions (TAO / Pool)
tao and alpha emissions
Section titled “tao and alpha emissions”Every block, each emit-enabled subnet receives a share of TAO emission and mints alpha. The flows are:
tao_in— TAO emitted into the subnet pool, set by the price-based shares formula.alpha_in— alpha added to the subnet pool, set bymin(tao_emission/price, root_proportion × alpha_emission).alpha_out— alpha distributed to subnet stakeholders.
See also: Tao Emission Distribution, Alpha Emission.
tao_in
Section titled “tao_in”tao_in is the TAO that flows into the subnet’s liquidity pool each block. It is not the subnet’s full TAO emission — that emission splits between tao_in (pool injection) and on-chain alpha buys. The combined share each subnet receives is set in two stages. First the chain computes each subnet’s demand:
demand_i (s_i) ∝ price_i × (1 − miner_burned_i)renormalized across all emit-enabled subnets. As of spec 440, this demand is not the emission share — it feeds a Hill-function gate at a quantile bar θ that boosts above-bar subnets and chokes the below-bar tail toward zero, then renormalizes:
emission_i ∝ s_i × gate(s_i), gate(s) = s^h / (s^h + θ^h)tao_in is the slice of the gated emission that lands in the pool; the remainder funds on-chain alpha buys (see Tao Emission for the chain-buy path).
price_i— the subnet’sSubnetMovingPriceexponential moving average, normalized across emit-enabled subnets.(1 − miner_burned_i)— penalty for subnets that routed last tempo’s miner emission to owner or owner-immune hotkeys. Applies whether the withheld emission was burned or recycled.gate(s_i)— the spec 440 emission gate. See The emission gate for θ,h,q, and the redistribution.
As of subtensor PR #2800 (2026-06-30), the root_proportion weighting was removed from the demand formula. root_proportion still caps alpha_in (below) — that is unaffected.
If the weighted demand sum is zero (all subnets at full burn), the chain falls back to raw normalized price shares and emission still flows.
See: The emission gate for the gate, and Price-based emission shares for how demand is built.
Per-block subnet emission
alpha_in
Section titled “alpha_in”alpha_in is the alpha added to the subnet pool each block:
alpha_in_i = min(tao_emission_i / price_i, root_proportion_i × alpha_emission)where tao_emission_i is the subnet’s per-block TAO emission, price_i is the pool’s current alpha price in TAO, and alpha_emission is the base alpha mint per block (≤ 2, subject to halving). The cap is root_proportion × alpha_emission; the first term is the alpha you’d get by injecting the full TAO emission at the current pool price. The smaller of the two is what enters the pool.
Any TAO that doesn’t get matched into the pool funds on-chain alpha buys instead — see Tao Emission. For subnets with low root_proportion (older subnets with significant alpha issuance), most fresh alpha enters circulation via chain buys rather than direct pool injection.
See: Alpha Emission for the alpha-supply schedule.
alpha_out
Section titled “alpha_out”Every block, alpha_out (the per-block alpha distributed to subnet stakeholders) is distributed amongst stakeholders according to the subnet’s incentive distribution.
For the full walkthrough of how alpha_out is split across miners, validators, and stakeholders, see Subnet Emissions (Alpha).