# not_registered (/docs/errors/not-registered)

The hotkey is not registered where the call expects it to be: either not on the specific subnet, or not anywhere on the network.

Many calls (serving an axon, setting weights, some stake operations) require the hotkey to hold a UID on the target subnet. register it first with `btcli subnets register --netuid N`, or check where it is registered with `btcli query netuids-for-hotkey` / `btcli query uid --netuid N`.

## Remediation [#remediation]

Register the hotkey on this subnet first with `btcli subnets register`

## Chain errors [#chain-errors]

The exact chain error names (from the extrinsic receipt) that classify to `not_registered`; the description says what triggered the failure and where to check. Each name has its own page:

| Chain error                                                                       | Description                                                                                                                                                                                                                                                                                                                     |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`HotKeyAccountNotExists`](/docs/errors/chain/HotKeyAccountNotExists)             | The hotkey has no on-chain account, meaning it was never created through registration, so staking or delegation operations cannot reference it. Check the `Owner` storage for the hotkey or `btcli wallet overview`; register the hotkey on a subnet first.                                                                     |
| [`HotKeyNotRegisteredInNetwork`](/docs/errors/chain/HotKeyNotRegisteredInNetwork) | The hotkey is not registered on the relevant subnet, raised by `serve_axon`/`serve_prometheus` for the serving netuid or by identity calls requiring registration on any subnet. Verify registration with `btcli query uid --netuid <n>` (or `btcli query netuids-for-hotkey`) and register via `btcli subnets register` first. |
| [`HotKeyNotRegisteredInSubNet`](/docs/errors/chain/HotKeyNotRegisteredInSubNet)   | The hotkey holds no UID on the given netuid, so weight setting, commits, or UID lookups fail there. Check the `Uids` storage for the (netuid, hotkey) pair or `btcli query uid --netuid <n>`; confirm the netuid argument and register the hotkey if needed.                                                                    |
| [`PalletHotkeyNotRegistered`](/docs/errors/chain/PalletHotkeyNotRegistered)       | Root tried to enable the pallet via `set_pallet_status` before its hotkey was registered to the pallet's intermediary account. Check that the `PalletHotkey` constant is registered for the pallet account, which genesis or the `on_runtime_upgrade` migration performs.                                                       |

The same explanation is available in the terminal: `btcli explain not_registered` (or `btcli explain <ChainErrorName>` for one exact chain error).
