This storage item was removed in v393
This storage item is no longer available in the current runtime. Existed from v101 to v393. Shown here for historical reference.
PruningScores
Storage Removed Map v101 → v411REMOVED. Pruning scores for neurons.
The Big Picture
Subnets have limited slots (MaxAllowedUids). When full, new registrations must replace existing neurons. PruningScore determines who gets replaced - the lowest score gets pruned. This creates constant competition: perform or lose your slot. It's network Darwinism in action.
Why This Matters
Your registration isn't permanent. If your PruningScore drops too low, someone else can take your slot. This score tells you how safe you are - and who else might be vulnerable.
Example Scenario
Query PruningScores(netuid=1, uid=47) returns 0.15 (normalized). Compare to others on the subnet. If you're in the bottom 10%, you're at risk when new registrations arrive. Score of 0.001 = imminent danger.
Common Questions
- What's a safe pruning score?
- Relative to others on the subnet. Being in the top 50% is generally safe. Bottom 10% is danger zone.
- How do I improve my pruning score?
- Pruning score is derived from your performance metrics (incentive/dividends). Better performance = higher score = safer.
- What about immunity period?
- New neurons have an immunity period during which they can't be pruned. Check ImmunityPeriod and BlockAtRegistration to see if you're still protected.
- Can I see who might be pruned?
- Iterate PruningScores for all UIDs and sort ascending. The lowest scores are next to go.
Use Cases
- Check if your neuron is at risk of being pruned
- Monitor competition - who might lose their slot
- Build alerts for low pruning scores
- Analyze subnet health and competition dynamics
- Plan registration timing based on weak slots
From Chain Metadata
MAP ( netuid ) --> pruning_scores
Purpose & Usage
Purpose
Track neurons at risk of deregistration - lower scores mean higher pruning risk.
Common Query Patterns
- Query by netuid-uid for a specific neuron
- Iterate all to find neurons at risk
- Monitor score changes to predict pruning
Query Keys
| # | Name | Type | Description |
|---|---|---|---|
| 1 | netuid | u16 | netuid (u16, hashed key component) |
Stored Value
pruning_scores (Vec<u16>)
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 PruningScores storage
const netuid = 1;
const result = await api.query.SubtensorModule.PruningScores.getValue(netuid);
console.log("PruningScores:", result);Version History
Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Map
- First Version
- v101
- Removed In
- v393