BondsMovingAverage

Storage Map v101 → v411

Moving average period for bonds .

Explore chain
Queried by: validatorsdeveloperssubnet ownersanalytics

The Big Picture

Bonds accumulate based on validator weights over time. BondsMovingAverage controls the smoothing - how much historical weights matter vs recent weights. Longer average = more stable bonds, slower to change. Shorter = more responsive, volatile.

Why This Matters

How quickly do bonds update? Longer moving average means your bond to a miner takes time to build (and decay). This affects dividend calculations and validator-miner relationships.

Example Scenario

Query BondsMovingAverage(netuid=1) returns the smoothing period. Bonds are an exponential moving average of weight history over this period.

Common Questions

Why smooth bonds?
Rewards long-term commitment. Validators who consistently support miners accumulate bonds and earn more dividends. Prevents gaming through rapid weight changes.
How does this affect me?
For validators: support miners consistently for better dividends. For miners: build long-term validator relationships.

Use Cases

  • Understand how fast bonds respond to weights
  • Research dividend calculation mechanics
  • Model validator-miner economic relationships
  • Design subnet bond parameters
  • Debug unexpected dividend behaviors

From Chain Metadata

MAP ( netuid ) --> bonds_moving_average

Purpose & Usage

Purpose

Smooth bond value changes - controls how quickly bonds respond to weight changes.

Common Query Patterns

  • Query by netuid
  • Research bond dynamics
  • Model dividend calculations
Part of: Yuma Consensus

Query Keys

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

Stored Value

bonds_moving_average (u64)

RAO -> TAO (/ 10^9)

Relationships

Modified By

Related Events

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

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

Version History

v101 block 1 Added
v123 block 720,235 Internal re-bind
v149 block 3,014,339 Internal re-bind
v166–v194 · runtime versions skipped on chain (never deployed)
v195 block 3,791,350 Internal re-bind
v278–v289 · runtime versions skipped on chain (never deployed)
v290 block 5,947,548 Internal re-bind Current

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Map
First Version
v101
Current Version
v411