Hyperparameters
min_childkey_take
Per-subnet floor on the take a childkey may charge its parent hotkeys.
Sets the minimum take a childkey can charge on this subnet. It matters to
validators running parent–child hotkey setups
(set-children): the take is the share of
child-earned dividends the childkey keeps before passing the rest back to its
parents. A subnet owner can raise this floor to stop childkeys from
undercutting each other to zero.
How it works
The value is stored per subnet as a PerU16 fraction (65535 = 100%). The
chain combines it with the global, root-set minimum: the effective floor is
the greater of the two, so a subnet can only make the global minimum
stricter, never looser. Both defaults are currently 0.
The floor is enforced in two places. Setting a take via
set-childkey-take rejects values below the
effective floor (or above the global maximum, 11796/65535 ≈ 18%) with
InvalidChildkeyTake. And every read of a childkey's take clamps up to the
floor — so raising it immediately re-prices existing childkeys that were set
lower, without anyone resubmitting.
The setter itself bounds the floor to the [global min, global max] range, so an owner cannot set a floor above 18%.
Raise the floor below and watch an existing childkey's take get pushed up:
The shaded band is the range set-childkey-take accepts: from the effective floor — max(global min_childkey_take, this subnet's floor) — up to the global max of 11796/65535 ≈ 18%. The marker is one childkey's stored take; when the floor rises past it, every read clamps the take up to the floor, and re-submitting the old value is rejected with InvalidChildkeyTake.
Effective floor
0.0%
max(global min, subnet floor)
Childkey take (as read)
3.0%
Stored value, above the floor
Re-setting stored value
accepted
Inside the allowed window
Reading and setting
btcli sudo get --netuid 12 --name min_childkey_take
btcli sudo set --netuid 12 --name min_childkey_take --value 0.05Settable by the subnet owner or root. The value is a fraction between 0 and 1
written with a decimal point (0.05 = 5%, stored as 3276/65535). The get
command reports the effective floor — the max of global and per-subnet values.
Related
transfers_enabledowner_cut_enabledset-childrenandset-childkey-take— the transactions this floor governs