Min Non Immune Uids
Min non immune uids is a per-subnet hyperparameter, listed in the documentation as
MinNonImmuneUids, that sets the minimum number of non-immune UIDs that must remain on a subnet.
The reference describes it as setting that floor and marks the permission required to change it as
root (Subnet Hyperparameters).
What It Controls
The hyperparameter sets a count floor for ordinary competitive slots, not which specific UIDs are immune or how long post-registration immunity period protection lasts. It requires that at least the configured number of UIDs on the subnet remain outside owner-immune or other immune categories (Subnet Hyperparameters, Glossary: Immunity Period).
That floor shapes how many slots stay subject to ordinary competitive displacement rules. It does not set max allowed UIDs, registration burn, or validator weight rules; it only bounds how far immune designations can shrink the non-immune portion of the UID table (Subnet Hyperparameters).
A network-level constant caps the immune share from the other side. The constants reference lists
api.consts.subtensorModule.maxImmuneUidsPercentage as 80, so immune UIDs are bounded to at most
80 percent of a subnet’s UID table. A percentage ceiling on immune slots and this absolute floor on
non-immune slots work together to keep a competitive portion of the table outside immune protection
(Subtensor Constants: maxImmuneUidsPercentage,
Subnet Hyperparameters).
The value is set at root permission rather than by the subnet owner alone, reflecting network-level policy for subnet composition. The live floor on netuid 1 can differ from the documented default and from another subnet’s setting (Subnet Hyperparameters, Bittensor Networks).
Effect on Pruning
When a full subnet accepts a new registration, the chain normally replaces the lowest-ranked
non-immune neuron, but only while the number of non-immune UIDs stays above this floor. If pruning a
non-immune neuron would drop the count to the floor, selection falls back to the lowest-ranked
immune neuron instead, so this value is what can force a registration to displace an immune UID
rather than a non-immune one
(get_neuron_to_prune).
Documented Type and Default
The Subnet Hyperparameters
reference lists MinNonImmuneUids as a u16 with a default of ten
(Subnet Hyperparameters).
With that documented default of 10, the pruning fallback described above can begin as soon as a
subnet has only ten non-immune UIDs left, because pruning one more non-immune UID would violate the
floor and force selection to fall back to the lowest-ranked immune UID instead
(Subnet Hyperparameters).
Because each subnet carries its own hyperparameters, the non-immune floor on one netuid can differ from the documented default and from the floor on another subnet (Subnet Hyperparameters).
Reading the Live Value for netuid 1
Min non immune uids is per-subnet chain state, so any live claim is tied to a specific netuid. For the documented example netuid 1 on Finney mainnet, the floor appears in that subnet’s hyperparameter table, which the reference describes under viewing a subnet’s hyperparameters (Subnet Hyperparameters: View hyperparameters). The infobox uses netuid 1 only as an example label; other subnets expose their own values (Bittensor Networks).
Distinction from Immune Owner Uids Limit
Immune owner uids limit caps how many neurons may be marked owner-immune. Min non immune uids sets the minimum count of UIDs that must remain non-immune on the subnet (Subnet Hyperparameters).
- Immune owner uids limit — maximum owner-immune neurons allowed.
- Min non immune uids — minimum non-immune UID slots required.