Invalid Recovered Public Key

How the InvalidRecoveredPublicKey error signals that an EVM key association recovered a valid public key, but that key did not match the claimed EVM address.

InvalidRecoveredPublicKey is a documented Subtensor standard error raised by the associate_evm_key extrinsic. The standard-errors reference describes it as “Public key is not correct” (Subtensor Standard Errors).

What It Means

Associating an EVM address with a hotkey uses a signature-based proof of control. The chain recovers an EVM public key from the submitted signature and then derives an address from that recovered key. InvalidRecoveredPublicKey means that recovery succeeded, but the derived address did not equal the address the caller claimed to control (Subtensor source: evm.rs).

So this error is narrower than a generic recovery failure. The chain did get a structurally valid public key out of the signature. The rejection happens at the comparison step: the recovered key proves control of some address, just not the address named in the association request (Subtensor Standard Errors, Subtensor source: evm.rs).

Why It Appears

The EVM association check first hashes the expected message, then attempts signature recovery. If recovery returns nothing at all, the error is InvalidIdentity. If recovery returns bytes that do not parse into a valid public key, the error is UnableToRecoverPublicKey. InvalidRecoveredPublicKey comes one step later: a valid public key was recovered, but its address still fails the equality check against the claimed EVM account (Subtensor Standard Errors: InvalidIdentity, Subtensor Standard Errors: UnableToRecoverPublicKey, Subtensor source: evm.rs).

For a reader, the practical boundary is simple: this error does not mean the signature was empty or unrecoverable. It means the signature proved control of a different EVM key than the one the caller said it was proving (Subtensor source: evm.rs).

Distinction from Unable To Recover Public Key

UnableToRecoverPublicKey means the recovered bytes did not become a usable public key. InvalidRecoveredPublicKey means a usable public key was recovered, but it corresponded to the wrong address for this request (Subtensor Standard Errors: UnableToRecoverPublicKey, Subtensor Standard Errors, Subtensor source: evm.rs).

  • UnableToRecoverPublicKey — the recovered bytes do not form a valid public key.
  • InvalidRecoveredPublicKey — a valid public key was recovered, but it maps to a different address than the claim.

Reader Boundary

This page defines the meaning of the error label and the address-mismatch check that raises it. It does not describe the full EVM-key association message format, the association rate limit, or the broader hotkey-coldkey ownership context around the same extrinsic (Subtensor source: evm.rs).

Further Reading

Topics WalletsErrors