Hyperparameters
registration_allowed
Whether new neuron registrations are currently accepted on this subnet.
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:
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 →
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_allowedRoot/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.
Related
network_pow_registration_allowed ·
max_regs_per_block ·
target_regs_per_interval ·
min_burn ·
max_burn ·
immunity_period