Rate limits registration throughput.
Current Value
1Relevant 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