RootAlphaDividendsPerSubnet
Storage Map Event-driven v361 → v411Root network alpha dividends per subnet at the last tempo firing.
Explore chainThe Big Picture
Root network validators (netuid 0) set weights on subnets and earn dividends from those subnets' performance. This tracks how much each root validator earned from each subnet - the economic link between metagovernance and subnet success.
Why This Matters
Root validators govern which subnets get emissions. In return, they earn dividends from subnet success. This creates economic incentive to weight good subnets.
Example Scenario
Query RootAlphaDividendsPerSubnet(netuid=1, hotkey=root_validator) shows how much this root validator earned from subnet 1's operations.
Common Questions
- Why do root validators earn from subnets?
- Root validators allocate emissions to subnets. They're rewarded for good allocation - weighting successful subnets means higher dividends.
- Is this different from AlphaDividendsPerSubnet?
- Yes. AlphaDividendsPerSubnet is for validators ON a subnet. This is for ROOT validators earning FROM a subnet through their governance role.
Use Cases
- Check root validator earnings from specific subnets
- Analyze how subnet performance affects root dividends
- Build root network economics dashboards
- Research metagovernance incentives
- Track capital flows from subnets to root
From Chain Metadata
DMAP ( netuid, hotkey ) --> u64 | Last root alpha dividend this hotkey got on tempo.
Purpose & Usage
Purpose
Track root network dividend allocation - special dividends for root network validators. Same persist-then-overwrite semantics as AlphaDividendsPerSubnet.
Common Query Patterns
- Query by (netuid, hotkey)
- Calculate root validator earnings per subnet
- Track root-level dividend flows
Query Keys
Stored Value
u64 (u64)
Decoding the value
AlphaBalance (u64)Plain u64 alpha amount. Not a SafeFloat / FixedU128 wrapper.
value as bigintCode Examples
import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443
const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);
// Query RootAlphaDividendsPerSubnet storage
const netuid = 1;
const hotkey = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const result = await api.query.SubtensorModule.RootAlphaDividendsPerSubnet.getValue(netuid, hotkey);
console.log("RootAlphaDividendsPerSubnet:", result);Version History
Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Map
- First Version
- v361
- Current Version
- v411
- Update Pattern
- overwritten-at-event (subnet tempo fires for `netuid`)
- Population
- sparse-by-value (~36,122 entries)