MaxRegistrationsPerBlock

Storage Map v101 → v411

Maximum registrations allowed per block .

Explore chain
Queried 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

#NameTypeDescription
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