Min Allowed UIDs
Min allowed UIDs is a per-subnet hyperparameter, listed in the documentation as MinAllowedUids,
that sets the minimum allowed number of
UIDs for a subnet. The reference
describes it as the minimum allowed UIDs for a subnet, callable only by the root account
(Subnet Hyperparameters).
Why It Matters
The minimum matters most when a subnet’s participant set is shrunk rather than grown. A subnet owner can reduce the live UID count with UID trimming, which removes the lowest emitters down to a chosen target and compacts survivors into consecutive indices. That resize cannot drop a subnet arbitrarily low: the UID trimming guide documents a minimum trim target, so trimming stops at the subnet’s minimum rather than emptying it (UID Trimming, Subnet Hyperparameters).
So min allowed UIDs functions as the floor side of a subnet’s capacity bounds. The max allowed UIDs ceiling caps how many UIDs may exist, while this minimum names how few a subnet is allowed to hold, keeping a baseline participant set on the metagraph (Subnet Hyperparameters, Glossary: UID Slot).
It does not decide which neurons keep their UIDs or how registration is priced. Trimming uses emitter ranking and immunity rules to choose what is removed; min allowed UIDs only bounds how far that removal may go (UID Trimming).
Documented Type, Default, and Setter
The Subnet Hyperparameters
reference lists MinAllowedUids as a u16 with a default of 64. It is changed through the
sudo_set_min_allowed_uids extrinsic and is callable only by the root account. The UID trimming
guide likewise documents a minimum trim target of 64 UIDs, matching this default
(Subnet Hyperparameters,
UID Trimming).
The constants reference exposes the startup default as
api.consts.subtensorModule.initialMinAllowedUids, listed as 64. That constant names the initial
UID-count floor used for a subnet, while the live MinAllowedUids hyperparameter remains
root-governed per-netuid state
(Subtensor Constants: initialMinAllowedUids,
Subnet Hyperparameters).
Because it is root-governed per-netuid state, the value on one subnet can differ from the documented default and from the minimum on another subnet (Subnet Hyperparameters, Bittensor Networks).
Distinction from Max Allowed UIDs
Max allowed UIDs caps how many UIDs a subnet can hold; min allowed UIDs names how few it may be reduced to. The two bound the same UID count from opposite ends (Subnet Hyperparameters).
- Max allowed UIDs — ceiling on the subnet’s UID count.
- Min allowed UIDs — floor the subnet’s UID count may be reduced to.
Distinction from UID Trimming
UID trimming is the owner action that reduces and compacts the participant set. Min allowed UIDs is the floor that action respects, so trimming stops at the minimum rather than removing everyone (UID Trimming, Subnet Hyperparameters).
- UID trimming — the owner resize that removes low emitters to a target.
- Min allowed UIDs — the floor that target cannot go below.
Distinction from Min Allowed Weights
Min allowed UIDs and min allowed weights share the “min allowed” naming but govern different floors. Min allowed UIDs sets the minimum number of UID slots a subnet may hold, and the reference lists it as callable only by the root account (Subnet Hyperparameters).
Min allowed weights is a separate hyperparameter that the reference describes as the minimum number of weights a validator must set when setting weights. It constrains the length of a validator’s weight vector on submission, not the size of the subnet’s UID set (Subnet Hyperparameters).
The two also differ in who may change them: the reference marks min allowed UIDs as a root-only setting, while min allowed weights is listed as a subnet-owner setting. Both are per-subnet chain state, so each value for a subnet such as netuid 1 is read from that subnet’s own hyperparameter row (Subnet Hyperparameters).
The reference also lists different defaults for the two. Min allowed UIDs defaults to 64 UID slots, while min allowed weights defaults to a single required weight. A new subnet therefore begins with room for many UIDs but requires only one weight per validator submission until an owner raises the weight floor (Subnet Hyperparameters).