Current Value
7200Relevant for: subnet ownersdevelopers
The Big Picture
Creating subnets costs TAO (lock or burn), but that alone doesn't prevent a wealthy actor from spamming subnet creation. This constant adds a time-based rate limit - after someone creates a subnet, everyone must wait this many blocks before another can be created. This prevents network flooding while allowing legitimate subnet growth.
Why This Matters
If you're planning to create a subnet, check when the last one was created. You might need to wait for the rate limit to expire before your registration succeeds.
Example
With NetworkRateLimit of 100 blocks (~20 minutes), if someone created subnet 50 at block 1,000,000, no one can create subnet 51 until block 1,000,100. Your register_network call will fail if submitted too soon.
Common Questions
- Does this limit apply per account or globally?
- Globally. One person creating a subnet affects everyone's ability to create subnets for the rate limit period.
- What happens if I submit during the rate limit?
- Your transaction fails with an error. No TAO is consumed. Retry after the limit expires.
Use Cases
- Subnet creation
- Rate limiting
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 InitialNetworkRateLimit constant
const value = api.consts[stringCamelCase("SubtensorModule")][stringCamelCase("InitialNetworkRateLimit")];
console.log("InitialNetworkRateLimit:", value.toHuman());
// Convert RAO to TAO if this is a balance value
const taoValue = value.toBigInt() / BigInt(1e9);
console.log("TAO:", taoValue.toString());Type Information
- Type
- u64
- Byte Size
- 8 bytes
- Encoding
- fixed
- Raw Hex
- 0x201c000000000000
Runtime Info
- Pallet
- SubtensorModule
- First Version
- v133
- Latest Version
- v133
- Current Runtime
- v393