AlphaDividendsPerSubnet
Storage Map Event-driven v233 → v411Alpha dividends per hotkey per subnet at the last tempo firing.
Explore chainThe Big Picture
Validators earn dividends for their consensus work. AlphaDividendsPerSubnet records how much each validator earned (in alpha) at the last epoch. Delegators share in these dividends proportional to their stake, minus the validator's take.
Why This Matters
How much did this validator earn? AlphaDividendsPerSubnet shows their alpha earnings. This directly affects delegator returns - more dividends = more to share.
Example Scenario
Query AlphaDividendsPerSubnet(netuid=1, hotkey=validator_X) returns 100000000000 (100B alpha units). This validator earned 100B alpha in dividends at the last epoch.
Common Questions
- How does this become delegator earnings?
- Validator keeps their 'take' percentage. Remaining dividends go to delegators proportional to stake. Your earnings = (dividends × (1 - take)) × (your stake / total validator stake).
- Why alpha instead of TAO?
- Dividends are distributed in the subnet's native unit (alpha). Alpha can be converted to TAO via the AMM when unstaking.
Use Cases
- Check validator dividend earnings on a subnet
- Compare validator performance by dividends
- Calculate delegator returns from validator earnings
- Build validator profitability dashboards
- Research dividend distribution patterns
From Chain Metadata
DMAP ( netuid, hotkey ) --> u64 | Last alpha dividend this hotkey got on tempo.
Purpose & Usage
Purpose
Track dividend allocation at epoch - how much each validator earned in alpha terms.
Common Query Patterns
- Query by netuid-hotkey
- Calculate validator earnings
- Build dividend leaderboards
Query Keys
Stored Value
u64 (u64)
Decoding the value
AlphaBalance (u64)Bare u64 RAO-like alpha amount (NOT a SafeFloat / FixedU128 wrapper). Direct integer.
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 AlphaDividendsPerSubnet storage
const netuid = 1;
const hotkey = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const result = await api.query.SubtensorModule.AlphaDividendsPerSubnet.getValue(netuid, hotkey);
console.log("AlphaDividendsPerSubnet:", result);Version History
Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Map
- First Version
- v233
- Current Version
- v411
- Update Pattern
- overwritten-at-event (subnet tempo fires for `netuid`)
- Population
- sparse-by-value (~36,154 entries)