InitialNetworkImmunityPeriod

Constant Re-added v133 → v315, v320 → current u64

Protects new subnets from being dissolved immediately.

Current Value

1296000
Relevant for: subnet ownersdevelopersanalytics

The Big Picture

New subnets need time to bootstrap - attract miners, validators, and prove value. This constant provides a grace period during which the subnet cannot be dissolved due to poor performance or low activity. It's like a startup runway: time to get operations running before facing competitive pressure from other subnets for emission slots.

Why This Matters

As a subnet owner, you have this many blocks to establish your subnet before it can be replaced. Use this time to recruit participants and configure hyperparameters.

Example

With NetworkImmunityPeriod of 7200 blocks (~24 hours), a newly created subnet has one day of guaranteed existence. After that, if it has lower emissions or activity than competing subnets waiting for slots, it can be dissolved to make room.

Common Questions

What happens after immunity expires?
The subnet competes normally. If there's demand for new subnets and yours performs poorly, it can be dissolved. Strong performance keeps you safe.
Can I recover locked TAO during immunity?
No, you must wait for immunity to expire before dissolving. This prevents hit-and-run subnet creation.

From Chain Metadata

Initial network immunity period

Use Cases

  • Subnet lifecycle
  • Network management

Value History

VersionBlockChangeValue
v133#1,404,224Added50400
v320#6,523,566Changed50400 → 1296000

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 InitialNetworkImmunityPeriod constant
const value = api.consts[stringCamelCase("SubtensorModule")][stringCamelCase("InitialNetworkImmunityPeriod")];
console.log("InitialNetworkImmunityPeriod:", 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
0x80c6130000000000

Version History

v133 block 1,404,224 Added
v320 block 6,523,566 Re-added Current

Runtime Info

Pallet
SubtensorModule
First Version
v133
Latest Version
v133
Current Runtime
v393