Skip to main content

Error codes

Error codes from the MetaMask Delegation Framework contracts. Use a decoder such as calldata.swiss-knife.xyz to identify error signatures from raw revert data.

Delegation Manager error codes

Error codeError nameDescription
0xb5863604InvalidDelegate()The caller is not the delegate specified in the delegation.
0xb9f0f171InvalidDelegator()The caller is not the delegator specificed in the delegation, or the delegator is not deployed.
0x05baa052CannotUseADisabledDelegation()The delegation has been disabled by the delegator.
0xded4370eInvalidAuthority()The delegation chain authority validation failed. The authority hash of a child delegation does not match the hash of its parent delegation.
0x1bcaf69fBatchDataLengthMismatch()The array lengths do not match in a batch redeemDelegations contract call.
0x005ecddbAlreadyDisabled()The delegation has already been disabled.
0xf2a5f75aAlreadyEnabled()The delegation is already enabled.
0xf645eedfECDSAInvalidSignature()Invalid ECDSA signature format.
0xfce698f7ECDSAInvalidSignatureLength(uint256)The ECDSA signature length is incorrect.
0xac241e11EmptySignature()The signature is empty.
0xd93c0665EnforcedPause()The Delegation Manager contract is paused by the owner.
0x3db6791cInvalidEOASignature()EOA signature verification failed.
0x155ff427InvalidERC1271Signature()Smart contract signature (ERC-1271) verification failed.
0x118cdaa7OwnableUnauthorizedAccount(address)An unauthorized account attempted an owner only action.
0x1e4fbdf7OwnableInvalidOwner(address)Invalid owner address in an ownership transfer.
0xf6b6ef5bInvalidShortString()A string parameter is too short.
0xaa0ea2d8StringTooLong(string)A string parameter exceeds the maximum length.

Smart account error codes

Error codeError nameDescription
0xd663742aNotEntryPoint()The caller is not the EntryPoint contract.
0x0796d945NotEntryPointOrSelf()The caller is neither the EntryPoint contract nor the smart account itself.
0x1a4b3a04NotDelegationManager()The caller is not the DelegationManager contract.
0xb96fcfe4UnsupportedCallType(bytes1)The execution call type is not supported.
0x1187dc06UnsupportedExecType(bytes1)The execution type is not supported.
0x29c3b7eeNotSelf()The caller is not the smart account itself.

Caveat enforcer error codes

Error stringDescription
AllowedTargetsEnforcer:target-address-not-allowedWhen redeeming a delegation with an allowedTargets caveat, the execution's target address is not in the allowed list.
AllowedTargetsEnforcer:invalid-terms-lengthWhen creating a delegation with an allowedTargets caveat, the encoded terms length is not a multiple of 20 bytes (Ethereum address).
ERC20TransferAmountEnforcer:invalid-terms-lengthWhen creating a delegation with an erc20TransferAmount caveat, the encoded terms are not exactly 52 bytes (20 byte Ethereum address + 32 byte amount).
ERC20TransferAmountEnforcer:invalid-contractWhen redeeming a delegation with an erc20TransferAmount caveat, the execution targets a different contract than the allowed token address.
ERC20TransferAmountEnforcer:invalid-methodWhen redeeming a delegation with an erc20TransferAmount caveat, the execution calls a function other than transfer(address,uint256).
ERC20TransferAmountEnforcer:allowance-exceededWhen redeeming a delegation with an erc20TransferAmount caveat, the cumulative transfer amount exceeds the allowed limit.
CaveatEnforcer:invalid-call-typeWhen redeeming a delegation, the execution uses a batch call type, but the caveat enforcer only supports single calls.
CaveatEnforcer:invalid-execution-typeWhen redeeming a delegation, the execution uses a non default execution mode, but the caveat enforcer only supports the default mode. Learn more about execution modes.