AdjustmentInterval
Storage Map v101 → v472 · 1 shape changeBlocks between difficulty adjustments.
Explore chainThe Big Picture
Difficulty and burn costs adjust periodically based on registration demand. AdjustmentInterval controls how often - every N blocks, the system compares actual vs target registrations and adjusts costs accordingly. Frequent adjustments = more responsive pricing.
Why This Matters
When will costs change? Every AdjustmentInterval blocks. If you're planning to register, check where you are in the cycle - costs might go up or down at the next adjustment.
Example Scenario
Query AdjustmentInterval(netuid=1) returns 100 blocks. Every 100 blocks, registration costs (difficulty and burn) adjust based on recent demand.
Common Questions
- How much do costs change?
- Depends on actual vs target registrations. Many more registrations than target = costs increase. Fewer = costs decrease.
- Can I predict the adjustment?
- Roughly. Check RegistrationsThisInterval vs TargetRegistrationsPerInterval. If significantly above target, expect costs to rise.
Use Cases
- Predict when difficulty/burn will next adjust
- Plan registration timing around adjustments
- Build cost prediction models
- Research registration economics
- Monitor adjustment cycles
From Chain Metadata
MAP ( netuid ) --> adjustment_interval
Purpose & Usage
Purpose
Control difficulty adjustment frequency - how often registration costs adapt to demand.
Common Query Patterns
- Query by netuid
- Plan registration timing
- Predict cost changes
Migration Notes
key type changed from u16 to NetUid
Update decoders: SCALE encoding is positional, so any signature change (added, removed, or type-changed fields, or storage shape changes) shifts byte offsets and existing decoders will misparse this item. Re-derive types from the new metadata.
Query Keys
| # | Name | Type | Description |
|---|---|---|---|
| 1 | netuid | NetUid u16 | netuid (NetUid, hashed key component) |
Stored Value
adjustment_interval (u16)
Default Value
Absent keys read as this value — querying a key that has never been written returns this default, not an error or empty result.
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 AdjustmentInterval storage
const netuid = 1;
const result = await api.query.SubtensorModule.AdjustmentInterval.getValue(netuid);
console.log("AdjustmentInterval:", result);Version History
- key :
u16→NetUid
Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Map
- First Version
- v101
- Current Version
- v472