NewColdKeyIsHotkey

Error Re-added v195 → v202, v205 → v212, v216 → v216, v217 → v219, v233 → v315, v320 → v326, v334 → v377, v385 → current 7.69

The destination coldkey address is already used as a hotkey .

Encountered by: walletsstakersdevelopers

Why This Error Exists

Bittensor maintains separation between coldkeys (which hold funds and stake) and hotkeys (which do network work). An address can be a coldkey OR a hotkey, but not both. This prevents confusion and potential security issues from dual-use addresses where funds and operational keys are mixed.

Deep Dive

The Owner storage maps hotkey -> coldkey (the coldkey that owns each hotkey). If Owner(address) returns a value, that address is already used as a hotkey. The chain prevents swapping to such an address because it would create an ambiguous situation where the same key serves two purposes.

Debugging Example

You call schedule_swap_coldkey(old=5Old..., new=5NewKey...). Error: NewColdKeyIsHotkey. Query Owner(5NewKey...) - returns 5SomeOwner.... This means 5NewKey... is already registered as a hotkey. Solution: Generate a fresh keypair and use that new address as your swap destination instead.

Prevention Tips

  • Before swapping, query Owner(destination_address) - should return None
  • Use dedicated coldkey addresses, never repurpose hotkeys as coldkeys
  • Label your keys clearly to avoid confusion between cold and hot

From Chain Metadata

New coldkey is hotkey

What This Means

The destination coldkey address is already used as a hotkey.

Common Causes

  • Trying to swap to an address that's a registered hotkey
  • Mixed up coldkey and hotkey addresses

How to Fix

  • Use a different destination address
  • Generate a new coldkey that isn't used as a hotkey

Storage to Check

Thrown By

Version History

v195 block 3,791,350 Added
v205 block 4,209,446 Re-added
v216 block 4,510,996 Re-added
v217 block 4,590,522 Re-added
v233 block 4,920,350 Re-added
v320 block 6,523,566 Re-added
v334 block 6,811,690 Re-added
v385 block 7,782,670 Re-added Current

Runtime Info

Pallet Index
7
Error Index
69
Error Code
7.69
Runtime Version
v393