Net TAO Flow Accounting

Emission

When enabled, subnet emission shares use net TAO flow (gross flow minus protocol cost) instead of gross flow.

Click items to navigate to their reference pages.

The Big Picture

Gross TAO flow is easy to game: a subnet that imports cheap protocol-subsidized TAO inflates its emission share without actually earning user demand. Net flow corrects for this by subtracting the protocol's own contribution before computing shares. Switching it off reverts to the gross-flow behavior that preceded v411.

Use Cases

  • Network governance decides whether protocol-subsidized inflow counts toward emission share
  • Indexers reproduce on-chain emission share calculations
  • Subnet owners model how protocol cost adjustment affects their share

TAO Flow normally allocates emission shares based on gross TAO movement per subnet. Net TAO Flow Accounting introduces a protocol-cost adjustment: each block, a per-subnet protocol cost (equal to emission plus chain buys minus root sells) is accumulated, EMA-smoothed, and subtracted from the gross flow before share computation. The result is that subnets where the protocol is heavily subsidizing inflow (relative to their net user-driven flow) get a smaller emission share. The system can be toggled on or off network-wide via NetTaoFlowEnabled.

Triggers

  • Every block (computed during emission share calculation)
  • sudo_set_net_tao_flow_enabled call (toggle on/off)

Inputs (6)

ItemTypeRole
sudo_set_net_tao_flow_enabled AdminUtilscallToggle net-flow accounting on or off network-wide
NetTaoFlowEnabled SubtensorModulestorageGlobal on/off switch for net-flow accounting
SubnetProtocolFlow SubtensorModulestoragePer-block protocol cost accumulator per subnet
SubnetEmaProtocolFlow SubtensorModulestorageEMA-smoothed protocol cost per subnet
SubnetExcessTao SubtensorModulestorageChain-buy TAO inflow per subnet (input to protocol cost)
SubnetRootSellTao SubtensorModulestorageRoot dividend sell TAO into subnet (input to protocol cost)

Outputs (1)

ItemTypeRole
SubnetTAO SubtensorModulestorageTAO allocated to subnet pools (after net-flow adjustment when enabled)

Source Files

pallets/admin-utils/src/lib.rs
sudo_set_net_tao_flow_enabled()

Version History

v411 Net TAO Flow Accounting introduced