PendingValidatorEmission

Storage Map Poll per block v343 → current

Pending validator emissions per subnet — accumulates, reset at tempo .

Explore chain
Queried by: validatorsanalytics

The Big Picture

Validator emissions accumulate block-by-block then distribute at each tempo firing. Reading this storage shows how much is currently waiting; sample before tempo to capture the final tempo-cycle distribution amount.

Use Cases

  • Check pending validator rewards
  • Monitor emission accumulation
  • Build validator reward tracking

From Chain Metadata

MAP ( netuid ) --> pending_validator_emission

Purpose & Usage

Purpose

Track emissions waiting for distribution to validators. Accumulates each block, resets to 0 when the subnet tempo fires and distributes to recipients.

Common Query Patterns

  • Query by netuid
  • Mid-tempo: returns accumulated-so-far
  • Just-post-tempo: returns ~0

Query Keys

#NameTypeDescription
1
netuid
u16 netuid (u16, hashed key component)

Stored Value

pending_validator_emission (u64)

RAO -> TAO (/ 10^9)

Code 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 PendingValidatorEmission storage
const netuid = 1;

const result = await api.query.SubtensorModule.PendingValidatorEmission.getValue(netuid);
console.log("PendingValidatorEmission:", result);

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Map
First Version
v343
Current Version
v411
Update Pattern
reset-then-accumulated (subnet tempo fires for `netuid`)