Hyperparameters

registration_allowed

Whether new neuron registrations are currently accepted on this subnet.

View as Markdown

registration_allowed is the master on/off switch for joining a subnet. When it is false, every neuron registration — burned or the legacy PoW entry point — is rejected, no matter how much TAO the caller is willing to burn. Prospective miners and validators should check it before attempting to register; it is a root/governance-controlled gate, typically used to close a subnet during incidents or before launch.

How it works

Storage is NetworkRegistrationAllowed in pallets/subtensor/src/lib.rs (default true; new subnets also set it explicitly to true during initialization in pallets/subtensor/src/subnets/subnet.rs). The gate is enforced at step 3 of do_register (pallets/subtensor/src/subnets/registration.rs): the extrinsic fails with SubNetRegistrationDisabled if get_network_registration_allowed returns false. Both burned_register and the legacy PoW register extrinsic land in do_register, so the flag closes every registration path at once. The validity helper checked_allowed_register (pallets/subtensor/src/lib.rs) applies the same check, alongside the per-block cap (max_regs_per_block) and the per-interval cap of 3 × target_regs_per_interval.

Note the flag only stops new registrations; already-registered neurons are unaffected, and pruning/immunity mechanics continue as normal.

Flip the gate below to see how the same stream of registration attempts is accepted or rejected:

The registration_allowed gate

Both burned_register and the legacy PoW register land in do_register, which checks get_network_registration_allowed at step 3 before anything else about the caller matters. Click a stretch of blocks to flip the flag there: every attempt under a closed gate fails with SubNetRegistrationDisabled, no matter how much TAO the caller offers.

registration_allowed over time (click to toggle)

blocks →

▬ gate open · gate closed UID assigned · Err(SubNetRegistrationDisabled)

Attempts accepted

16

gate open: burned and legacy PoW paths both proceed

Attempts rejected

8

SubNetRegistrationDisabled, regardless of burn offered

Existing neurons

unaffected

the flag only stops new registrations; pruning and immunity continue

Reading and setting

btcli sudo get --netuid N --name registration_allowed

Root/governance only: sudo_set_network_registration_allowed in the AdminUtils pallet requires the root origin (a boolean). It is not settable by the subnet owner via btcli sudo set.

network_pow_registration_allowed · max_regs_per_block · target_regs_per_interval · min_burn · max_burn · immunity_period