Block Emission

Emission

Per-block emission of new TAO, split between subnets based on root network weights and subnet stake.

Click items to navigate to their reference pages.

The Big Picture

Block emission is the "money printer" of Bittensor. Every ~12 seconds a new block mints TAO from a 21M supply cap, and distributes it across all active subnets through their Alpha token pools. As more TAO has been minted, the emission rate decays logarithmically — like Bitcoin halving but smoother.

Why This Matters

Block emission determines the total new TAO entering the economy each day. It directly affects validator and miner earnings, Alpha token prices, and overall network inflation.

Example Scenario

At current issuance (~7.5M TAO of 21M cap), each block emits ~0.5 TAO. A subnet with 20% TAO Flow share receives 0.1 TAO per block. After 10% owner cut, the remaining 0.09 TAO worth of Alpha splits 50/50 between miners and validators — then distributed by Yuma Consensus at epoch.

Common Questions

When does emission stop?
Never fully — it decays asymptotically. Emission approaches zero as total issuance nears 21M TAO, similar to Bitcoin but with smoother logarithmic decay rather than discrete halvings.
How is emission split between subnets?
Via TAO Flow shares — an EMA of stake/unstake activity combined with root network validator weights. Subnets attracting more stake get more emission.

Use Cases

  • Estimating validator/miner daily earnings
  • Understanding network inflation rate
  • Modeling subnet economics
  • Planning long-term stake strategies

Every block, the Subtensor runtime mints new TAO and distributes it across subnets. The total emission per block is determined by the halving schedule (total issuance vs. max supply). Each subnet receives a share proportional to its TAO Flow allocation. Within each subnet, emissions are further split between validators and miners via Yuma Consensus results.

Since dTAO, emissions flow through Alpha token pools rather than being distributed as raw TAO.

Triggers

  • Every block (on_initialize hook)

Inputs (3)

ItemTypeRole
BlockEmission SubtensorModulestorageTAO emitted per block (from halving schedule)
TotalIssuance SubtensorModulestorageCurrent total TAO supply for halving calculation
NetworksAdded SubtensorModulestorageActive subnet registry

Outputs (4)

ItemTypeRole
SubnetTAO SubtensorModulestorageTAO injected into subnet Alpha pools each block via run_coinbase
SubnetAlphaIn SubtensorModulestorageAlpha minted into subnet pools from emission injection
TotalIssuance SubtensorModulestorageUpdated total supply after minting
Emission SubtensorModulestoragePer-UID emission amounts after epoch processing

Source Files

pallets/subtensor/src/coinbase/block_step.rs
block_step()
pallets/subtensor/src/coinbase/block_emission.rs
get_block_emission()

Formulas

Halving Schedule

Block emission decreases as total issuance approaches max supply (21M TAO), following a log2-based decay that halves emission at each issuance threshold.

residual = floor(log2(1 / (1 - total_issuance / (2 * 10_500_000_000_000_000))))
block_emission = DefaultBlockEmission / 2^residual
// DefaultBlockEmission = 1_000_000_000 RAO (1 TAO)
// Emission halves at each residual step as issuance grows

TypeScript: computeBlockEmission() in yuma-formulas.ts

Emission Calculator

Emission Calculator

See how block emission flows through subnets to participants

= 500,000,000 RAO

Subnet Configuration

SubnetTAO Flow %Owner Cut %Pool TAOPool Alphaα PriceActions
SN11.200τ
SN20.800τ
SN31.000τ

α Price auto-calculates from Pool TAO / Pool Alpha

Emission Breakdown (per block)

SubnetTAO Inα MintedOwnerMinersValidators
SN10.2500τ0.2083α0.0208α (0.0250τ)0.0938α (0.1125τ)0.0938α (0.1125τ)
SN20.1500τ0.1875α0.009375α (0.007500τ)0.0891α (0.0712τ)0.0891α (0.0712τ)
SN30.1000τ0.1000α0.00e+0α (0.00e+0τ)0.0500α (0.0500τ)0.0500α (0.0500τ)
Total0.5000τ~0.0325τ~0.2337τ~0.2337τ

Your Position

Your emission per block
0.009375α
≈ 0.0112 TAO value
Per hour (~300 blocks)
3.3750 TAO
Per day (~7,200 blocks)
81.0000 TAO

Flow: Block emission → divided by TAO Flow % → converted to Alpha at pool price → owner cut taken first → remainder split 50/50 between miners/validators.

Try: Change pool TAO to see how Alpha price affects the TAO-equivalent value. Higher-priced Alpha means each token is worth more TAO.

Read the deep dive: Block Emission

Version History

v101 Initial emission schedule with fixed block reward
v150 Halving schedule tied to total issuance
v200 Root network emission allocation introduced
v290 Emissions routed through Alpha token pools (dTAO)
v350 Owner cut taken before miner/validator split