Non Associated Cold Key
NonAssociatedColdKey is a documented Subtensor standard error that means a request was made by a
coldkey that is not associated with the targeted hotkey account. The standard-errors reference
describes it as “Request made by a coldkey that is not associated with the hotkey account,” and the
Subtensor source defines the variant as a request to stake, unstake, or subscribe made by a coldkey
that is not associated with the hotkey account
(Subtensor Standard Errors,
Subtensor source: errors.rs).
What It Means
This error is about ownership, not about funds or timing. In Bittensor, every hotkey is associated
with an owning coldkey, and the chain stores that coldkey-to-hotkey relationship as account state.
When a staking-related call arrives, the runtime checks that the signing coldkey actually owns the
hotkey it is acting on, and rejects the call with NonAssociatedColdKey when it does not. The
Subtensor source expresses this as an ownership guard, raising the error when the
coldkey-owns-hotkey check fails
(Hotkey and Coldkey,
Subtensor source: errors.rs).
So when this error appears, the immediate meaning is narrow: the coldkey that signed the request is not the coldkey associated with that hotkey. It does not, by itself, say anything about how much balance or stake the account holds (Subtensor Standard Errors, Glossary: Coldkey).
Why It Appears
The wallet model in Bittensor pairs a coldkey with the hotkeys it owns, and many staking operations must be signed by the coldkey that owns the hotkey involved. The Subtensor source confirms this: the error variant is documented as covering requests to stake, unstake, or subscribe that come from a coldkey not associated with the hotkey account, and the ownership guard sits ahead of those operations (Subtensor source: errors.rs, Hotkey and Coldkey).
In practice this typically surfaces when a call references the wrong coldkey-hotkey pairing: a mismatched wallet, a hotkey that belongs to a different coldkey, or a hotkey whose ownership has changed. The chain treats the association as the source of truth and refuses the operation when the signer is not the owner (Hotkey and Coldkey, Subtensor Standard Errors).
What It Does Not Mean
This error should not be read as a balance or stake failure. Bittensor documents separate errors for
those conditions, such as NotEnoughBalanceToStake for an insufficient coldkey balance and
NotEnoughStakeToWithdraw for an insufficient stake position. NonAssociatedColdKey is an
ownership rejection: it fires regardless of the amounts involved, because the signer is not the
hotkey’s owner in the first place
(Subtensor Standard Errors,
Subtensor Standard Errors).
It also should not be read as a per-subnet condition. The coldkey-to-hotkey association is account state that the chain tracks globally for the key pair, and the Subtensor source raises this error from the ownership check rather than from any subnet-specific stored value, so the meaning does not depend on a particular netuid (Subtensor source: errors.rs, Glossary: Hotkey).
Distinction from Hot Key Account Not Exists
NonAssociatedColdKey and HotKeyAccountNotExists are different documented checks.
HotKeyAccountNotExists means the specified hotkey does not exist at all, whereas
NonAssociatedColdKey means the hotkey exists but is owned by a different coldkey than the one that
signed the request
(Subtensor Standard Errors,
Subtensor Standard Errors).
- NonAssociatedColdKey — the hotkey exists, but this coldkey is not its owner.
- HotKeyAccountNotExists — the hotkey is not present on chain at all.
Distinction from Not Enough Balance To Stake
NonAssociatedColdKey is an ownership check, while NotEnoughBalanceToStake is a funds check. The
standard-errors reference describes NotEnoughBalanceToStake as not enough balance in the coldkey
account, and the Subtensor source defines it as requesting more stake than exists in the coldkey
account, so it concerns the amount, not the ownership relationship
(Subtensor Standard Errors,
Subtensor source: errors.rs).
- NonAssociatedColdKey — wrong coldkey for the hotkey.
- NotEnoughBalanceToStake — right coldkey, but insufficient coldkey balance.
Distinction from Cold Key Already Associated
NonAssociatedColdKey is a per-operation ownership guard on staking-style calls, while
ColdKeyAlreadyAssociated relates to coldkey swapping. The standard-errors reference describes
ColdKeyAlreadyAssociated as the coldkey having already been swapped, so it names a state in the
coldkey-swap flow rather than a mismatch between a signer and a hotkey
(Subtensor Standard Errors,
Subtensor Standard Errors).
- NonAssociatedColdKey — signer does not own the targeted hotkey.
- ColdKeyAlreadyAssociated — the coldkey has already been swapped.
Reader Boundary
This page defines the meaning of the error label. It does not tell a reader which coldkey owns a given hotkey on a live network; that depends on the current on-chain ownership association for the key pair. The documented place to read the error itself is the standard-errors reference, and the owning relationship is part of the chain’s account state for the coldkey and hotkey (Subtensor Standard Errors, Hotkey and Coldkey).