TL;DR
Root dividends still come from selling alpha. But instead of cashing out to root stakers as TAO, the proceeds are immediately re-bought into a basket of subnets chosen by each root validator. Stakers compound in alpha exposure, redeem to TAO on demand.
What changes:
- Validators pick winners. Each publishes a weight vector across subnets. That vector is their product.
- Subnets compete for root buy-flow. Highly weighted subnets net-buy; unweighted subnets stay at today's net-sell.
- Stakers' substrate flips. Root compounded in TAO before (on a declining APY). Now compounds in subnet alpha exposure — variable, validator-dependent, redeemable to TAO any time.
Status: Live on mainnet. Root Reborn shipped in Release v438 (PR #2968) and the chain is now running spec_version 441.
1. What is "root" and why does it have a risk-free rate?
Bittensor has one base subnet, subnet 0 (root). Everyone who stakes on root holds TAO directly — no per-subnet alpha exposure, no impermanent-loss risk, no betting on a particular subnet's success or failure. In return, root stakers earn a slice of the network's emissions, which lands in their stake periodically.
Because root carries no subnet risk, its yield is the risk-free rate of the Bittensor economy: the baseline return any TAO-holder can get just by staking on the safest possible thing. Every other yield in the network — alpha staking on subnet N, providing liquidity, locking for conviction — has to beat root's rate to be worth the extra risk.
But today's "risk-free rate" is decaying. Root prop — the fraction of each subnet's emissions earmarked for root — is on a downtrend, recalculated periodically and shrinking as the network matures. Lower root prop = smaller TAO dividend per unit of root stake = lower effective root APY each cycle. So today's risk-free rate isn't a stable floor; it's a slowly eroding one. That decay is one of the structural problems Root Reborn is trying to address — not by changing root prop, but by giving the same dividend stream a more productive substrate to compound in.
2. The problem today: auto-sell, then leak
Where does root's yield actually come from? Right now, here's the chain of events each block:
- Subnet emissions mint alpha into every subnet's reward pool.
- Some fraction of those emissions is owed to root as the root proportion (the "root prop" on each pool).
- The network sells that alpha back into TAO through the subnet's AMM pool automatically. It doesn't happen every block — it settles on an irregular schedule, in practice roughly every couple of days.
- The TAO is paid out to root stakers as flat dividends and lands back in TAO circulation.
It works, but it has three real problems:
- Sell is uniform regardless of subnet quality. Every subnet that mints root dividends gets the same mechanical sell — bad, great, or niche, same treatment. Root, the largest pool of stake in the network, expresses no preference.
- Root validators are passive. A root validator is just a yield conduit: stake comes in, the auto-sell happens, dividends go out. No skill, no allocation decisions, no way to differentiate.
- Yield compounds only in TAO, on a decaying rate, and the proceeds leave the subnet economy. Auto-sold TAO does compound into your root stake, but:
- it's purely TAO-denominated — you can't express subnet preference;
- the sold alpha leaves the subnet economy entirely — none returns as buy-pressure;
- the underlying APY is decaying as root prop shrinks, so each year your effective yield is lower than the last. Root is a one-way drain on alpha with a declining payout.
3. The proposal: redirect the proceeds into a chosen basket
Root Reborn keeps the auto-sell on the origin subnet (where the root dividend was minted) and redirects the resulting TAO into buys across other subnets:
- Each root validator publishes a vector of weights
wacross the network's subnets — a list saying "buy 20% into subnet 1, 15% into subnet 5, 10% into subnet 28…" etc. Subnets the validator doesn't list get weight zero. - Each cycle, every root dividend the validator earns (from any subnet) is auto-sold to TAO as today, but instead of being paid to stakers, that TAO is immediately spent: buys are placed across the weighted subnets per
w, and the bought alpha is staked under a special escrow coldkey with the validator as the hotkey. - The escrow basket compounds. Each cycle adds more alpha across the weighted subnets. The subnets' own price movements add (or subtract) NAV. The basket keeps growing while it's left alone.
- Stakers who want their yield in TAO call
claim_rootwhenever they like. One call redeems their fund shares pro-rata across every holding in the validator's basket, swaps that slice back to TAO through the existing AMM, and stakes it onto root. Nobody is forced to redeem on a fixed schedule.
Key point: the sell side doesn't change for the origin subnet. Every subnet that has root proportion still mints alpha for root and still has that alpha sold to TAO on the same schedule, exactly as today. What changes is where the TAO goes next: it used to leave the subnet economy, now it's spent as fresh buy orders across the basket subnets.
For any individual subnet, the net effect is:
- Sell side: unchanged from today (your subnet's root proportion is still auto-sold).
- Buy side: new — receives buys proportional to how much root capital is allocated to it via weight vectors across all validators.
- Net: sell minus buy. Highly weighted subnets net-buy. Unweighted subnets net-sell at exactly today's rate. Mid-weighted subnets land in between.
The mental model: instead of root paying out dividends as a continuous trickle of TAO, root pays you a continuously growing credit in a basket of subnet exposures. You cash in the credit on your schedule, not the chain's.
Critically, the round-trip is TotalStake-neutral. No TAO is created or destroyed. The alpha that would have been sold is now bought-and-held instead. The accounting is conservation-correct: every deposit mints fund shares at the current net asset value, so the sum of all stakers' share values always equals the fund's live NAV — no share can over- or under-draw.
4. What changes for each participant
Root stakers (everyone staking TAO on subnet 0)
Before: Your balance goes up on its own. Rewards are swapped to TAO and added to your root stake automatically, landing periodically (roughly every couple of days). You do nothing — but the rate is decaying, because root prop is on a downtrend, so the effective TAO APY each cycle is lower than the last.
After:
- Your balance no longer goes up automatically — it's now manual. Rewards stop landing in your stake by themselves; you have to claim them.
- While you wait, your rewards are reinvested into a basket of subnet alpha chosen by your validator and left to compound — so the longer you wait to claim, the more you accumulate.
- The basket compounds three ways: fresh alpha buys each cycle (from your incoming rewards), alpha emissions on the basket position, and price action on the alpha held. Your rewards effectively earn the basket's APY instead of the flat root rate.
- You redeem whenever you want with a single
claim_root: your whole share converts alpha → TAO and is staked back onto root. - Claiming is manual and costs a fee. Because rewards no longer land on their own, you pay a transaction fee each time you claim — and it grows with how many subnets your validator's basket holds. It's a small slice (you keep ~82–96% of a reward in the worked example in §5), and far cheaper than a root claim today, but it's real. Claim infrequently and pick a validator with a concentrated basket.
- Your effective return is no longer a flat TAO APY — it's whatever the basket NAV grows to. Could outperform pure TAO compounding (good basket, strong subnet performance) or underperform (weak basket, bad subnet picks).
- Your choice of root validator now matters: their basket is your portfolio. Picking is real.
Key shift: today your balance rises automatically in TAO; tomorrow it rises only when you claim, and in the meantime compounds as subnet alpha exposure. You gain upside (and downside) from subnet performance instead of a flat TAO yield — and you decide when to lock it in.
New consideration: two forces pull in opposite directions. Claiming more often cuts your subnet-alpha price exposure (each claim returns to TAO root stake), but every claim pays a fee — so frequent small claims waste money on fees. If you're long the network, the efficient move is to leave it compounding and claim rarely.
Switching validators — claim first. Your basket entitlement is tied to the root stake you have delegated to that specific validator — it is not a token you carry with you. If you move your stake to a different validator (or unstake) without claiming first, your claimable on the old validator's basket drops toward zero, and you'll be sitting in the new validator's basket going forward. So the clean sequence is: claim_root() to realize what you've accrued, then move.
The good news — nothing is burned or handed to other stakers. Leaving only adjusts your personal accounting watermark; the alpha the fund holds for you stays in the shared basket, and no other staker's claim grows because you left. If you re-stake the same amount back to the original validator, your claim to that basket is restored (you can then claim it). What you don't get is the compounding you missed while your stake was elsewhere — your share tracks your stake, so at zero stake you accrue nothing, and you re-enter at the fund's current value. (Verified against the merged v438 source: unstaking/moving root stake rebases only the per-staker BasketClaimed watermark; the escrow's basket holdings are never touched, and there is no path that reallocates your slice to anyone else.)
What a claim actually sweeps. One claim_root() is not validator-specific — it redeems every validator you currently have root stake with, in a single call (if you're staked to two validators, both baskets are claimed at once; you can't cherry-pick one). But it only pays out where you still have stake: a validator you have fully exited is a no-op. Concretely — if you had a Taostats basket, then shifted 100% of your stake to tao.bot and called claim_root(), you'd realize only the tao.bot basket. The Taostats basket isn't swept along; it sits parked (your owed there is floored to zero while your stake there is zero). To realize it you must claim before you leave Taostats, or re-stake to Taostats and then claim.
Root validators
Before: A passive yield conduit. No skill, no differentiation, no active job. Stakers picked you based on take rate and basic reputation, full stop.
After:
- You set a basket vector
wover the network's subnets using a new extrinsic,set_root_weights. This is your product. - Each cycle, your stakers' dividends flow through your vector. If your picks do well, your stakers compound faster, attracting more stake to you, increasing your take revenue.
- This is a real, ongoing job: research which subnets are productive, watch the network, rebalance, defend your performance publicly.
- Curation power. Root stake is a large share of total network stake. A root validator's vector is effectively a stake-weighted vote on which subnets get net buying pressure. Subnets the validator set rates highly get bought; subnets the set rates as bad actors or low-value get starved of buy-pressure.
- Take revenue grows organically when you do a good job — same nominator pool, larger yield base.
New consideration: publishing a weak basket vector is now visible and quantifiable. There's nowhere to hide. Good validators will pull stake. Lazy ones will lose it.
Subnet owners
Before: Constant uniform headwind. Every block, a fixed slice of your subnet's emissions is dumped into your AMM pool, driving down your alpha price. Every subnet experiences the same treatment regardless of quality. You're swimming upstream against your own emissions schedule, identically to every other subnet.
After:
- The auto-sell on your subnet's root proportion still happens (unchanged). Your sell-side pressure from root emission is the same as today.
- What's new is the buy side. If your subnet is rated highly by root validators, you receive buys each cycle proportional to your aggregate weight × the total root dividend flow being redeployed.
- Net for highly-rated subnets: sell minus buy. If buys exceed sells, your subnet experiences net buying pressure for the first time. Real upward pressure on alpha price.
- Net for unrated subnets: identical to today's status quo. The sell still happens; no offsetting buy. Neutral change.
- Strategy shifts: subnet owners now have an incentive to make their case publicly to root validators. Performance, transparency, useful work all matter more. The validator-set effectively becomes a continuous, capital-allocating jury — with stake-weighted preference, instead of the previous one-size-fits-all sell.
- The new dynamic: subnets are competing for root-validator mindshare. Good subnets can attract buy-pressure proportional to their reputation. Mediocre ones default to today's experience.
Subnet alpha holders / LPs
Before: You're on the other side of a uniform auto-sell each cycle. Net seller pressure on every subnet, all the time.
After:
- Sell-side pressure on your subnet is unchanged.
- Buy-side pressure appears proportional to how much weight your subnet gets from root validators.
- Net effect on alpha prices:
- Highly weighted subnets: tighter floors, possibly net upward pressure.
- Unweighted subnets: unchanged from today.
- Mid-weighted subnets: dampened sell pressure but not eliminated.
- LP economics improve on weighted subnets because the new buy-side activity creates real two-sided flow against your LP, not just protocol-mandated dumps.
TAO holders generally
Before: Root yield compounded in TAO at the protocol level (auto-sold alpha became added root stake). The compounding worked, but the alpha sales fed nothing back into the subnet economy — the network was strictly a sink on alpha.
After:
- The auto-sell still happens, but the TAO is immediately re-spent on alpha buys across the basket subnets. None of it sits idle.
- Root yield compounds in alpha exposure instead of in TAO stake. Net root capital base grows in subnet-alpha terms, not in TAO terms.
- Network-wide effect: alpha that previously was sold-then-stuck-as-staked-TAO is now sold-then-bought-back-as-staked-alpha. The subnet economy gets buy-flow it didn't before.
- The expected return on root may rise (if median basket beats flat TAO compounding) or fall (if baskets underperform).
- Net effect: subnet economy receives net buy-flow it didn't before; root return is now coupled to subnet performance rather than independent of it.
5. How the new system actually works
For readers who want the mechanics. The rest of you can skip to section 6.
The basket vector
Each root validator gets a uid in the root subnet. The basket vector w is stored under the existing root-weights map (Weights[ROOT][uid]) — the dormant root-weights plumbing is being revived rather than introducing a new storage map. Because it's uid-keyed, the basket follows the validator through hotkey swaps automatically.
Validators set w via a new dedicated extrinsic, set_root_weights. The generic set_weights extrinsic doesn't work here because it rejects netuid 0 — and root needs slightly different validation rules (no Yuma consensus runs on root; weights are used purely as an allocation vector, not as a consensus signal).
The block-step pipeline
Each block, the coinbase runs distribute_root_alpha_to_basket. For each root validator with a non-zero stake and a non-zero w:
- Sell origin alpha → TAO (same AMM path as before).
- For each subnet
iwith weightw[i] > 0: buy alpha in subnetiwithw[i]share of the TAO. - Stake that alpha under the global escrow coldkey with the validator as hotkey — it joins the validator's single basket fund.
- The deposit mints fund shares to the contributing stakers at the pre-deposit NAV, and grows the fund's
BasketShares/BasketRateaccumulators. A staker's slice of the fund is tracked as a share balance, not a per-subnet principal.
If the validator has no weights set, or no root stake, the alpha is recycled (returned to the emission pool) — no broken state. The whole step is transactional: either all the buys succeed or the block step is rolled back for that validator.
Redemption
Stakers redeem with a single claim_root call (it takes only the caller's origin — no arguments). It is a fund-shares / NAV redemption: your shares are valued at the fund's current net asset value and realized pro-rata across every holding at once.
payout = your_shares × (fund_NAV / total_shares)
Because deposits mint shares at the pre-deposit NAV, that single ratio captures all compounding — new alpha buys, alpha emissions on the basket position, and price appreciation — in one shared multiplier. No staker can over-draw: the sum of all share values always equals the live NAV.
Claim granularity: one call, all baskets. Unlike the earlier draft, there is no per-subnet cherry-picking — you cannot claim just your SN1 exposure and leave SN5 compounding. And it's not per-validator either: claim_root(origin) takes no arguments — it iterates every validator you currently have root stake with and redeems each fund pro-rata across all its holdings, staking the realized TAO onto root. Each validator's basket is a separate fund, but a single call sweeps them all. (A validator you've fully exited has zero stake there, so its fund is skipped — its basket stays parked until you re-stake, rather than being claimed.)
Redemption is always to TAO. Every claim goes alpha → swap to TAO → staked onto root. There is no "keep as subnet alpha" path. If you want subnet alpha exposure on your coldkey, claim to root TAO, unstake, then stake into the subnet manually.
Auto-claim is removed. The old auto-claim block-step and its scheduler are gone, along with the set_root_claim_type and sudo_set_num_root_claims extrinsics — no more forced-redemption schedule.
The cost of claiming
Because claiming is now manual, every claim is a transaction that costs a fee, and that fee scales with the number of holdings in the validator's basket (each holding adds a read/write/swap of work). This matters most for small stakers, whose reward per claim is itself small. The upside: a Root Reborn claim only touches the validator's basket — a handful of subnets — whereas a manual root claim today settles across all 128 subnets, which is why small root claims currently lose money to fees. Root Reborn's narrower claim is dramatically cheaper.
Worked example, 10 TAO staked at ~7% APY, claimed after 10 days (reward earned: 0.01917 TAO). For reference, the same claim on today's pre-Root-Reborn path (which touches all 128 subnets) costs roughly 0.047 TAO — a net loss of ~146% of the reward. Under Root Reborn:
| Basket holdings | Claim fee (est.) | Net kept | % of reward kept | Effective APY after fee |
|---|---|---|---|---|
| 2 | ~0.0007 TAO | 0.01848 TAO | 96% | 6.74% |
| 7 | ~0.0017 TAO | 0.01743 TAO | 91% | 6.36% |
| 10 | ~0.0024 TAO | 0.01680 TAO | 88% | 6.13% |
| 15 | ~0.0034 TAO | 0.01575 TAO | 82% | 5.75% |
Gross rate before fee is 7.00%. Fees estimated at the current network fee rate (NextFeeMultiplier = 1.0, linear weight-to-fee) and scale with basket breadth; actual cost varies with network load. Two practical points: claim infrequently so a fixed per-claim cost is amortised over a larger reward, and prefer a validator who keeps a concentrated basket — a sprawling basket makes every holder's claim more expensive.
Hotkey swaps and subnet dissolves
- Hotkey swap: the validator's fund (escrow basket positions, share accumulators, and root-weight vector) migrates to the new hotkey. A root-cleanliness gate checks the
BasketRate/BasketSharesstate (plus any residual legacy claim state) so the fund follows the validator by value without stranding. - Subnet dissolve: when a subnet is dissolved, the fund's holding on that subnet is converted into the fund's root (TAO) slot at queue time — fund shares and staker entitlements are unaffected. Nobody loses their share to a subnet death.
Migration
A one-shot migration, migrate_seed_beta_basket_v2, seeds the new model from legacy state. The retired RootClaimable/RootClaimed storage is drained into the new fund-share model, preserving every staker's outstanding claim. The migration is conservation-correct: nothing is re-minted, nothing is lost.
New RPC views
A new BetaBasketRuntimeApi exposes five views for wallets and dashboards (Taostats, included):
betaBasket_getStakerOwed(coldkey)— total TAO a staker would realize by redeeming all their root basketsbetaBasket_getValidatorNav(hotkey)— current NAV of a validator's basketbetaBasket_getValidatorBasket(hotkey)— basket composition: per-subnet alpha held and its TAO valuebetaBasket_getTotalNav()— network-wide root NAV across all validators, mark-to-marketbetaBasket_getValidatorWeights(hotkey)— the validator's weight vectorw(its strategy)
This is everything Taostats needs to render: per-validator basket performance and strategy, per-staker pending TAO, network-wide root health.
6. Why this is structurally important
Four properties make Root Reborn worth taking seriously, beyond the obvious redeployment of yield into the subnet ecosystem:
Validators become curators
Until now, the only way to express "I think subnet X is overrated" was at the individual staker level — and most stakers don't have the bandwidth, expertise, or stake size to make that call meaningfully. Root Reborn lets root validators make that call on behalf of their stakers, in a stake-weighted way, every cycle, with their own performance visible.
This turns the validator set into a continuous, capital-allocating market. Bad actors don't need to be voted off by governance; they just don't show up in root validators' weight vectors, and the buy-pressure machinery starves them. Good subnets get bought into. Network curation becomes emergent, not legislated.
Subnet differentiation
Today every subnet faces the same auto-sell, regardless of merit. The protocol expresses no preference — a great subnet and a fading subnet experience the same root-emission headwind cycle after cycle.
After Root Reborn, that uniform treatment ends. Each subnet's net flow (sell minus buy) becomes a function of the validator set's collective judgment. Subnets earn or lose root buy-pressure based on how root validators rate them — and the rating shows up each cycle in price action and LP economics. This is the strongest gradient between "good" and "weak" subnet performance the network has ever had at the protocol level.
Compounding flywheel
Today root yield compounds in TAO at the protocol layer — it works, but the underlying rate is decaying (root prop shrinks), and the proceeds (sold alpha) leave the subnet economy entirely. Two-sided erosion: yield rate down, no contribution back to subnets.
Tomorrow root yield compounds in subnet alpha exposures that stay in the subnet economy. The dividend stream the validator receives is still subject to root prop decay — but it's now invested into productive subnet positions that themselves earn emissions and (potentially) appreciate. So even on a declining root prop, the basket can earn back through subnet emissions, price action, and the second-order effect of helping subnets it weights highly.
If the median basket beats flat TAO compounding on a declining root prop (which is the bet — subnet emissions on basket positions plus price appreciation should exceed the eroding pure TAO yield), effective root returns rise relative to the TAO-only path. Higher effective return → more capital flows to root → more buy-flow → more buy-pressure on weighted subnets → healthier subnets emit more → bigger root dividends → higher effective return. Flywheel.
The flip side: if subnets collectively shrink, baskets shrink with them. Root is no longer pure TAO exposure; it now carries subnet-alpha exposure between claims. That's a real change in risk profile — root is "lower risk than any single subnet" but no longer "pure TAO compounding." Stakers who want pure TAO exposure should redeem more frequently.
Survives without governance
The whole mechanism rides on machinery that already exists. Share pools, AMM swaps, hotkey-swap hooks, and subnet-dissolve hooks all reuse existing code. The new surface area is small: one redirected emission call (distribute_root_alpha_to_basket), one new extrinsic (set_root_weights, call index 146), a simplified claim_root, and the BetaBasketRuntimeApi views.
Most network-wide changes need extensive governance and migration plans. This one is essentially a redirect.
7. What's still open before mainnet
The v438 merge (PR #2968) already retired the vestigial auto-claim path — set_root_claim_type and sudo_set_num_root_claims are gone and legacy claim storage is drained by the seed migration. These items remain to harden before mainnet activation:
- Weight-metering of the basket fan-out in the coinbase. The AMM work each block needs caps before mainnet scale.
- Slippage / self-deal guards on the weight vector
w. A validator could in principle set a vector that buys into shallow pools they LP into. Slippage caps and self-deal limits are coming. - Dissolve liquidation should be pro-rata by
owedrather than current root share (a minor fairness fix). - The seed migration is currently single-block — needs to be multi-block before mainnet because of scale.
- Clearing
Weights[ROOT][uid]on root UID reassignment, so a recycled UID doesn't inherit the prior validator's vector. - Root
WeightsRateLimitmust be configured. Today the root subnet's weight rate-limit isu64::MAX— effectively disabling weight-setting on root. For Root Reborn to function, sudo must set a real value before/at mainnet activation. The PR doesn't ship a migration setting it; this will be a separate operator action. The chosen value determines how often validators can rebalance their basket vectors (too tight → can't respond to subnet events; too loose → churns stakers' exposure and raises their claim costs).
None of these are economically broken — they're production-hardening items. Devnet runs are about validating the core mechanism, not these edges.
8. What this means for Taostats users
Taostats already shows per-pool prices, validator performance, and staker positions. Once Root Reborn lands on mainnet, three things become first-class metrics worth surfacing:
- Root validator performance, ranked. A new dimension beyond take rate and reputation: basket NAV per unit stake over 1d / 7d / 30d windows — the ROI of picking a given validator. Surfacing it moves stake toward the active managers.
- Basket composition. Per validator: "allocating X% to SN1, Y% to SN5, Z% to SN28…" — the transparency investors want.
- Per-staker pending TAO. "If I claimed right now, I'd get X TAO." The
betaBasket_getStakerOwedRPC delivers exactly this, ready to render on portfolio pages.
We should plan to ship these views shortly after mainnet activation. If we're early on the data layer we'll be the default place root stakers go to evaluate their validator choice — and that's a high-engagement audience.
9. Open questions
Worth flagging for community discussion:
- Root weight rate limit — hourly, daily, weekly? Validators rebalance their basket vectors via
set_root_weights, which is governed by the root subnet'sWeightsRateLimit. Currently set tou64::MAX(effectively disabled). Before mainnet activation sudo must set a real value, and the choice trades off responsiveness against holder claim costs: - Hourly (e.g. 300 blocks): validators can react quickly to subnet performance changes, but stakers see constant churn in their exposure.
- Daily (e.g. 7,200 blocks): middle ground — validators can respond to meaningful subnet events within a day, without churning stakers' exposure every hour.
- Weekly (e.g. 50,400 blocks): validators must take longer-horizon views; vectors become more like investment theses than tactical positions. But a fast-changing subnet event can leave stakers in a now-stale allocation for days.
- The under-discussed cost: frequent rebalancing raises holders' claim fees. A claim's fee scales with the number of distinct subnets the basket holds, and heavy rebalancing tends to leave the basket spread across more positions (and never fully exited). A looser rate limit that lets validators churn freely can therefore quietly inflate every staker's cost to claim — an argument for a tighter limit, and for validators to keep baskets concentrated.
- The PR doesn't specify and doesn't include a migration to set it. This needs a community decision before mainnet — it materially shapes how validators position themselves and how stakers evaluate them.
- Slippage caps: how strict before they distort allocation? Too loose and a validator can manipulate shallow pools; too tight and they can't allocate to small but legitimately rated subnets.
- No default basket — and that's by design. If a validator sets no weight vector, there's no basket to buy into, so the root dividend is simply recycled and its stakers earn nothing that cycle. The protocol deliberately provides no fallback allocation: a validator must actively choose a basket, or its stakers forfeit their root APY. This puts the pressure exactly where it belongs — pick a validator who has published a real vector, and validators who don't will bleed stake.
- Validator collusion: a coordinated group of large root validators could collectively starve a subnet by zeroing it from all their baskets. That's actually a feature (network curation) if the subnet is bad, but a bug if it's targeted abuse of an honest competitor. No on-chain remediation in the current design — relies on validator-set decentralization.
10. Recap
| Before | After |
|---|---|
| Auto-sell each cycle on every subnet, uniformly (roughly every couple of days, irregular) | Auto-sell unchanged on origin subnet, but TAO proceeds are re-spent as buys across chosen subnets |
| Sell proceeds exit the subnet economy entirely (TAO added to root stake) | Sell proceeds stay in the subnet economy as new alpha buys, compounded under the validator |
| Every subnet treated identically by root | Each subnet's net flow depends on root validator weight — strong subnets net-buy, ignored subnets stay at today's net-sell |
| Root validators passive yield conduits | Root validators are active capital allocators with a public, ranked basket vector |
| Root yield compounds in TAO at the protocol layer, on a decaying base rate (root prop shrinks over time) | Root yield compounds in subnet alpha as a validator-chosen basket, with subnet emissions and price action providing potential offset to the underlying decay |
| No subnet curation by validators | Continuous stake-weighted capital-allocation vote on subnet quality |
| Risk-free rate is a slowly eroding TAO APY | Effective return depends on basket performance — can outperform or underperform the eroding TAO-only path |
Status: Live on mainnet. Root Reborn shipped in Release v438 (PR #2968) and the chain is now running spec_version 441. One operational item remains a live decision for the network: the root WeightsRateLimit value that governs how often validators can rebalance their basket vectors (see §7 and §9). Everything else described here is active on mainnet.
If you want to read the source: RaoFoundation/subtensor#2968.