MaxRegistrationsPerBlock
Storage Map v101 → v411Maximum registrations allowed per block .
Explore chainQueried by: minersvalidatorsdeveloperssubnet owners
The Big Picture
Only N registrations can happen per block. This prevents one entity from grabbing many slots in a single block and ensures fair distribution of registration opportunities.
Why This Matters
Registration failed? Might be rate limited. Only MaxRegistrationsPerBlock registrations per block. Check RegistrationsThisBlock to see if limit is reached.
Example Scenario
Query MaxRegistrationsPerBlock(netuid=1) returns 3. Only 3 registrations can happen per block on subnet 1. If 3 already happened, wait for next block.
Common Questions
- Why limit registrations?
- Fairness. Without limits, someone could script registrations to grab all slots instantly. The limit spreads opportunities over time.
- What's a typical value?
- Usually 1-3. Low enough to prevent spam, high enough to allow reasonable throughput.
Use Cases
- Check rate limits before registration
- Build registration retry logic
- Understand registration fairness mechanisms
- Design subnet rate limit parameters
- Debug registration failures
From Chain Metadata
ITEM( global_max_registrations_per_block )
Purpose & Usage
Purpose
Rate limit registrations - prevents spam and ensures fair access.
Common Query Patterns
- Query by netuid
- Plan registration timing
- Understand rate limits
Query Keys
| # | Name | Type | Description |
|---|---|---|---|
| 1 | netuid netuid raw: key1 | u16 | key1 (u16) |
Stored Value
global_max_registrations_per_block (u16)
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 MaxRegistrationsPerBlock storage
const key1 = 0;
const result = await api.query.SubtensorModule.MaxRegistrationsPerBlock.getValue(key1);
console.log("MaxRegistrationsPerBlock:", 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