Skip to content

Bittensor Publishes Etao Upgrade for Subnet-Controlled Emission Splits

The v480 upgrade lets subnet owners rebalance participant rewards while preserving root stakers’ baseline share at each change.

Table of Contents

Bittensor has published Etao, a runtime v480 upgrade that will let individual subnet owners choose how their subnet’s alpha-token emissions are divided among owners, validators, and miners. The change replaces the standard 18% owner, 41% validator, and 41% miner allocation with subnet-specific settings, subject to protocol limits.

The implementation was merged into Subtensor’s main branch on October 15. As of the morning of October 16, Finney, Bittensor’s mainnet, remained on runtime version 479; activating Etao requires a sudo runtime upgrade.

The new controls let subnet teams match reward budgets to the work their networks require, raising the miner share to pay for compute and other services, giving validators more for evaluating that work, or adjusting the owner allocation to fund operations.

How Subnet Emission Weights Work

Etao represents each subnet’s allocation as a five-part vector: [burn, recycle, owner, validator, miner]. Each entry is an integer share of the maximum unsigned 64-bit value, and the entries must sum to the full allocation. Burn and recycle are reserved for future use and must both remain zero in the initial version.

The Etao guide specifies the remaining limits:

AllocationInitial Rules
Owner0%–33%; subnets created through leases must retain at least 18%
ValidatorNo more than 50%, and enough to preserve root’s baseline share
MinerAt least 33%

For example, an eligible subnet could keep its owner allocation at 18%, reduce validators to 20%, and raise miners to 62%, provided the validator allocation clears that subnet’s live root-protection threshold.

Etao emission split (before/after)
Etao emission split (before/after) | Source

Owners can update a subnet’s vector once every 50,400 blocks, approximately seven days at 12 seconds per block, though the first update is not rate-limited. The limit follows the subnet, so transferring ownership does not reset it. Root-authorized updates bypass the rate limit but still must satisfy the allocation rules and administrative freeze window.

How Etao Protects Root Stakers

Root TAO stakers receive alpha from each subnet’s validator allocation. Cutting that allocation without another adjustment would reduce their payout, so Etao recalculates a subnet-specific effective TAO weight whenever an allocation update is accepted.

The calculation starts with what root would receive under the default validator share and the global TAO weight, using the chain’s state at that moment. It then solves for the effective weight needed to reproduce that baseline under the new validator share. Lowering the validator allocation raises the required weight; increasing it lowers the required weight.

The effective weight cannot exceed 100%, creating a variable minimum validator allocation. An update that cannot preserve the baseline within that cap is rejected.

Each accepted update uses a fresh baseline, not the previous vector or effective weight, preventing sequences of changes from ratcheting root’s share up or down. Between updates, the effective weight stays fixed while stake and alpha issuance continue to change. Returning the validator allocation to its default removes the subnet-specific override.

This weight applies to consensus and dividend allocation, not liquidity-pool injections. Changing the vector does not change how much TAO or alpha is injected into the subnet’s pool.

Migration and Operator Changes

Etao’s migration reproduces each existing subnet’s legacy allocation, including cases where the owner cut was disabled, so the first post-upgrade block preserves the preceding payout split. Newly registered subnets start with the default 18/41/41 allocation.

The upgrade replaces the legacy owner-cut setters with sudo_set_subnet_emission_weights; the old calls will return Deprecated. The documented operator interface is btcli subnets emission, with commands to inspect, set, increase, or decrease allocations. Its previews expose the live validator floor, root’s baseline share, and the next permitted owner update, while --dry-run checks a proposed change without signing it.

Comments

Latest