InitialMaxRegistrationsPerBlock

Constant v101 → current u16

Rate limits registration throughput.

Current Value

1
Relevant for: minersvalidatorsdeveloperssubnet owners

The Big Picture

This constant prevents registration spam by limiting how many neurons can join a subnet per block. Even if you solve POW or pay burn cost, if this block's registration quota is full, you wait for the next block. This smooths registration rate and prevents sudden subnet flooding.

Why This Matters

When registration competition is high, your successful registration might be delayed to a future block. Build retry logic into registration scripts.

Example

With MaxRegistrationsPerBlock of 3, only 3 neurons can register per ~12-second block. If 10 people submit registrations in the same block, 7 fail and must retry. First come, first served based on transaction inclusion.

Common Questions

Is this limit per subnet or network-wide?
Per subnet. Each subnet has its own registration limit. Subnet 1 filling its quota doesn't affect subnet 2.
What happens if my registration is rejected due to the limit?
You'll get a MaxRegistrationsPerBlockReached error. Retry in the next block. Your POW solution or burn payment isn't consumed until registration succeeds.

Use Cases

  • Registration limits
  • Spam prevention

Code Examples

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Query InitialMaxRegistrationsPerBlock constant
const value = api.consts[stringCamelCase("SubtensorModule")][stringCamelCase("InitialMaxRegistrationsPerBlock")];
console.log("InitialMaxRegistrationsPerBlock:", value.toHuman());

Type Information

Type
u16
Byte Size
2 bytes
Encoding
fixed
Raw Hex
0x0100

Runtime Info

Pallet
SubtensorModule
First Version
v101
Latest Version
v101
Current Runtime
v393