Min Non Immune Uids

How the min non immune uids subnet hyperparameter sets the minimum number of non-immune UIDs that must remain on a subnet.

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.

Further Reading

Topics SubnetsRegistration