
A subtle but consequential change is rolling out across the Bittensor protocol this week. The mechanism that decides which subnets receive TAO emissions is moving from tao_flow to net_tao_flow. And while it looks like a one-line formula tweak, it changes what subnets must do to earn rewards.
The Old Rule: Did Stakers Put More In Than They Took Out?
Since the November 2025 overhaul, Bittensor has distributed emissions using tao_flow, an exponential moving average (EMA) of the difference between TAO staked into a subnet and TAO unstaked from it.
The logic was simple. Positive tao_flow meant more capital was entering than leaving, so the subnet earned emissions. Zero or negative meant no emission.
tao_flow = EMA(TAO staked − TAO unstaked)Tao flow was an aggressive move toward meritocracy. It rewarded subnets that attracted real capital commitment.
The Blind Spot
tao_flow was aimed to reward actual capital commitment into subnets. However, it still had a structural flaw that distorted incentives.
tao_flow only measured user staking and unstaking activity. It completely ignored the protocol’s own heavy contributions to few subnets performing exceptionally well: automated chain buys of the subnet’s alpha token.
These protocol actions added real buy pressure and liquidity every block, but they were not subtracted from the tao_flow calculation.
As a result, subnets could benefit from a semi-circular subsidy loop. The chain’s own injections and buys helped prop up net flows and reduced apparent outflows. This artificially inflated the “popularity” signal, allowing some projects to qualify for emissions without attracting enough external user capital to exceed the baseline protocol support. High-emission subnets essentially got a hidden boost from their own rewards, diluting the meritocratic signal the tao flow model was meant to deliver.
NetTaoFlow directly fixes this core distortion by subtracting the protocol’s net subsidy. Chain buys were not part of tao_flow” before, now they are.
The New Rule: Did Stakers Put In More Than the Protocol Already Did?
net_tao_flow introduces a second subtraction:
net_tao_flow = EMA(tao_flow) − EMA(protocol_flow)That second variable, protocol_flow, captures everything the protocol itself contributes to a subnet:
protocol_flow = tao_emission_injected + chain_buys − root_sellsEvery block, Bittensor injects TAO into each subnet’s liquidity pool. Some flows in as a direct TAO injection; some comes from the chain buying the subnet’s own alpha token. Root sells partially offset this.
Under the old formula, none of that protocol activity was visible in tao_flow. Chain buys, in particular, looked indistinguishable from organic demand. A subnet could appear healthy partly because the protocol was quietly pumping into it.
net_tao_flow strips that out. To earn emissions now, a subnet’s organic stake inflows must exceed what the protocol is already contributing.

Why This Matters
The change is small in code and large in consequence. It separates two things that previously got tangled together: the protocol’s automatic subsidies and genuine user conviction.
A few implications follow directly:
Buyback theatre stops working. Strategies designed to game tao_flow through protocol-funded buying pressure lose their effect. The metric now nets out exactly that kind of circular activity.
The bar moves up. Subnets aren’t competing against zero anymore. They’re also competing against built-in protocol injection. Real, sustained external interest is required to clear that hurdle.
Marginal subnets are in trouble. Subnets that were just barely positive under tao_flow (kept afloat by chain buys) may flip to zero emissions overnight. The Darwinian pressure already present in the system intensifies sharply.
The mechanism is toggleable via sudo call, so governance retains flexibility. But the default has shifted toward the tighter standard.
Special thanks to Doug Sillars on his tweet about the subject.
Enjoyed this article? Join our newsletter
Get the latest TAO & Bittensor news straight to your inbox.
We respect your privacy. Unsubscribe anytime.

Be the first to comment