Hyperparameters
collateral_drain_ratio
Alpha of locked miner collateral released per alpha of hotkey emission earned.
collateral_drain_ratio (call it k) sets how fast a hotkey earns back the
collateral locked at registration when the subnet uses a nonzero
collateral_lock_share.
Operators care because lock / k is the total emission (miner incentive and
validator dividends) they must earn before their collateral is fully
withdrawable; owners tune it to control how long hotkeys stay collateralized
— the security parameter for subnets whose scoring can be gamed on short
horizons.
How it works
Each tempo, when hotkey emission is credited
(distribute_dividends_and_incentives
in pallets/subtensor/src/coinbase/run_coinbase.rs),
settle_miner_collateral
releases
released = min(locked − min_locked, k × emission)from the hotkey's lock back to withdrawable stake, where min_locked is the
optional self-maintained floor (zero unless set via set_min_collateral;
while the lock is under the floor, emission is captured into the lock
instead). The release is keyed to the registered hotkey even when miner
incentive is redirected by auto-stake. At k = 1 (the default) collateral
releases one-for-one with earned emission; at k = 0.5 a hotkey must earn
two alpha per alpha released; at k = 2 half the lock's worth of emission
releases all of it.
The subnet value is stored in
CollateralDrainRatio as a
U64F64 fixed-point number, but each miner's effective ratio is snapshot
into their collateral entry at registration
(MinerCollateralState):
owner changes apply to future registrations only and can never slow (or
speed) the drain of standing collateral. The owner-set extrinsic
(sudo_set_collateral_drain_ratio
in pallets/admin-utils/src/lib.rs) requires 0 < k ≤ 10
(MaxCollateralDrainRatio);
out-of-range values fail with
CollateralDrainRatioOutOfBounds.
Zero is excluded by design: with no exit path for collateral, k = 0 would
make the lock permanently unrecoverable — a burn with extra steps.
The deterrence math, briefly: an adversary who plans to farm emissions and
abandon the hotkey must collect roughly T / (1 + k) (T = registration
price) before validators stop scoring them, just to break even. Lower k
raises that bar; see the
worked example.
Reading and setting
btcli sudo get --netuid N --name collateral_drain_ratioFixed-point decimal; owner or root, rate-limited, outside the weights window:
btcli sudo set --netuid N --name collateral_drain_ratio --value 0.5Common settings: 1.0 (default, earn-back at par), 0.2–0.5 (slow release for long-horizon or gameable-score subnets), 2.0 (fast release where the entry gate matters more than ongoing lockup).
Related
collateral_lock_share,
burn_half_life,
Registration collateral guide