BondsMovingAverage

Storage Map v101 → current

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

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
key1
u16 key1 (u16)

Stored Value

Value in RAO (÷10⁹ for TAO)

RAO -> TAO (/ 10^9)

Relationships

Modified By

Related Events

Code Examples

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Query BondsMovingAverage storage
const key1 = 0;

const result = await api.query
  [stringCamelCase("SubtensorModule")]
  [stringCamelCase("BondsMovingAverage")](
  key1
);

console.log("BondsMovingAverage:", result.toHuman());

Runtime Info

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