Skip to content

Subnet Emissions (TAO / Pool)

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 by min(tao_emission/price, root_proportion × alpha_emission).
  • alpha_out — alpha distributed to subnet stakeholders.

See also: Tao Emission Distribution, Alpha Emission.

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 computed by the chain as:

share_i ∝ root_proportion_i × price_i × (1 − miner_burned_i)

renormalized across all emit-enabled subnets. tao_in is the slice of that share that lands in the pool; the remainder funds on-chain alpha buys (see Tao Emission for the chain-buy path).

  • price_i — the subnet’s SubnetMovingPrice exponential moving average, normalized across emit-enabled subnets.
  • root_proportion_i — see Root Emissions.
  • (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.

If the weighted sum is zero (all subnets at full burn, or no root stake), the chain falls back to root_proportion × price and emission still flows.

See: Price-based emission shares for the full derivation.

Per-block subnet emission

TAO injected into the pool by the protocol and excess TAO (chain buys) per Bittensor block (~12s).

LIVE
TAO injected / block
Excess TAO / block (chain buys)

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.

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).