Errors

already_exists

The object or state already exists; treat the goal as met or pick a different target

View as Markdown

The state the call would create already exists: the hotkey is already registered on the subnet, an announcement or commit is already pending, the identity/symbol is already taken, or the approval was already given.

This is often good news — the goal may already be met, so check the current state before retrying. if you meant to create something new, pick a different identifier or wait for the pending object to clear.

Remediation

The object or state already exists; treat the goal as met or pick a different target

Chain errors

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

Chain errorDescription
ActiveLockExistsThe destination coldkey already holds a lock with nonzero locked mass on that subnet, so a new or transferred lock cannot be created there. Inspect the Lock storage for the (coldkey, netuid, hotkey) triple and wait for the existing lock to unlock or remove it first.
AlreadyApprovedThe sender has already approved this multisig call, so a repeat approval is redundant. Check the Multisigs entry for the call hash: the sender's account already appears in its approvals list.
AlreadyDepositedThe account calling safe-mode enter or extend already has a safe-mode deposit on hold, so another cannot be placed. Check the account's Deposits entries and its balance held under the EnterOrExtend hold reason.
AlreadyFinalizedThe crowdloan's finalized flag is already true, so withdraw, finalize, refund, dissolve, and the update calls are all rejected. Check the finalized field of the Crowdloans entry for the given crowdloan_id.
AlreadyFinalizingA finalize call was made while another finalization is still in progress, i.e. the dispatched call from a previous finalize has not cleared. Check that the CurrentCrowdloanId storage value is empty before retrying.
AlreadyNotedThe preimage for this hash has already been noted on-chain, so note_preimage has nothing to add. Check RequestStatusFor (or legacy StatusFor) for the hash before submitting the bytes again.
AlreadyStoredThe call data supplied for storage is already stored on-chain for this multisig operation. Check whether the call bytes were previously stored for this call hash before submitting them again.
AutoEpochAlreadyImminenttrigger_epoch was called when the next automatic epoch is closer than the AdminFreezeWindow, so a manual trigger would have no effect. Check the subnet's tempo and blocks until the next epoch, and simply wait for it to fire.
ChangePendingA GRANDPA authority-set change has already been signalled and is still pending, so a new change cannot be scheduled. Check the Grandpa PendingChange and State storage and wait for the pending change to be applied first.
ColdKeyAlreadyAssociatedThe destination coldkey of a coldkey swap already has staking hotkeys associated with it, so it cannot receive the swapped identity. Check the StakingHotkeys storage for the new coldkey and swap to a fresh, unused coldkey instead.
ColdkeySwapAlreadyDisputeddispute_coldkey_swap was called for a coldkey whose pending swap announcement is already under dispute. Check the ColdkeySwapDisputes storage for the coldkey; no further dispute action is needed.
ColdkeySwapAnnouncedThe coldkey has a pending swap announcement, so all but a small allow-list of extrinsics are blocked until the swap completes or is cleared. Check the ColdkeySwapAnnouncements storage for the coldkey and either finish the swap with coldkey_swap or clear the announcement.
DelegateDependencyAlreadyExistsThe contract called lock_delegate_dependency for a code hash it has already locked. Check the contract's recorded delegate dependencies before adding, and unlock the old entry first if replacing it.
DuplicateThis delegate is already registered as a proxy for the delegator with the same proxy type and delay. Check the delegator's Proxies entry before calling add_proxy with the same (delegate, proxy type, delay) tuple.
DuplicateContractInstantiation would create a contract at an address already occupied by an existing contract. Check the derived contract address and vary the salt argument to obtain a fresh address.
DuplicateOffenceReportThe equivocation proof is valid but this offence has already been reported and recorded. Check whether an equivocation report for the same offender, session, and round was previously submitted before reporting again.
EnteredSafe-mode is currently active, so enter or force_enter cannot activate it again and release_deposit is blocked until it exits. Check EnteredUntil for the block at which safe-mode disengages.
EpochTriggerAlreadyPendingtrigger_epoch was called while a previously triggered epoch is still queued for this subnet. Check the PendingEpochAt storage for the netuid and wait for the pending epoch to fire before triggering again.
ExistingVestingScheduleA vesting schedule already exists for the target account and this call cannot add another. Check the account's Vesting storage entry before attempting to set a new vested transfer or schedule.
ExitedSafe-mode is not currently active, so extend, force_extend, or force_exit have nothing to act on. Check that EnteredUntil contains a value before extending or exiting.
FirstEmissionBlockNumberAlreadySetstart_call was issued for a subnet whose emissions have already been started. Check the FirstEmissionBlockNumber storage for the netuid; a non-empty value means the subnet is already emitting and no action is needed.
HotKeyAlreadyDelegatebecome_delegate was called for a hotkey that is already a delegate. Check the Delegates storage for the hotkey; if it has a take entry it is already delegating and no action is needed.
HotKeyAlreadyRegisteredInSubNetA registration or hotkey swap targeted a hotkey that already holds a UID on the subnet (or, for a swap without a netuid, on any subnet). Check the Uids storage for the (netuid, hotkey) pair or btcli wallet overview; use a different hotkey or netuid.
NetworkDissolveAlreadyQueuedThe subnet is already in the dissolve cleanup queue, so it cannot be queued for dissolution again. Check the DissolveCleanupQueue storage value for the netuid before submitting another dissolve request.
OrderAlreadyProcessedThe order id already has a terminal status: execution found it fulfilled, or cancel_order found any existing status for it. Check the Orders storage map under the blake2-256 hash of the SCALE-encoded VersionedOrder.
SameAutoStakeHotkeyAlreadySetThe coldkey tried to set its auto-stake destination on a subnet to the hotkey that is already configured. Read AutoStakeDestination for the coldkey and netuid before calling; only a different hotkey is accepted.
SymbolAlreadyInUseThe token symbol requested for the subnet is already assigned to another subnet. Scan TokenSymbol across netuids and pick a symbol that is not taken.

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