ValidatorPruneLen

Storage Map v101 → v411

Number of validators considered for pruning .

Explore chain
Queried by: validatorssubnet ownersdevelopers

The Big Picture

Not all validators face equal pruning risk. ValidatorPruneLen defines how many validators are in the 'danger zone' - the lowest performers who might be replaced. Smaller values mean only the very worst are at risk; larger values mean more competitive turnover.

Why This Matters

As a validator, am I at risk of pruning? If you're in the bottom ValidatorPruneLen, new registrations could replace you. Stay above this line.

Example Scenario

Query ValidatorPruneLen(netuid=1) returns 10. The bottom 10 validators by performance are at risk when new validators try to register.

Common Questions

How do I know if I'm in the prune zone?
Rank validators by performance. If you're in the bottom ValidatorPruneLen, you're at risk. Improve performance or increase stake to climb out.
Is this the same as miner pruning?
Similar concept but specific to validators. Validators have their own pruning dynamics separate from general neuron pruning.

Use Cases

  • Understand validator turnover dynamics
  • Assess your pruning risk as a validator
  • Research subnet validator economics
  • Design subnet competition parameters
  • Build validator risk dashboards

From Chain Metadata

MAP ( netuid ) --> validator_prune_len

Purpose & Usage

Purpose

Control validator turnover - how many low-performers are at risk.

Common Query Patterns

  • Query by netuid
  • Understand pruning risk
  • Research validator competition

Query Keys

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

Stored Value

validator_prune_len (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 ValidatorPruneLen storage
const netuid = 1;

const result = await api.query.SubtensorModule.ValidatorPruneLen.getValue(netuid);
console.log("ValidatorPruneLen:", 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