Skip to main content

Entrypoint Error Codes

If a UserOperation is valid, the bundler return the calculated userOpHash for it. In case of failure, the bundler return an error result object, with code and message.

AAxx Error Codes

Entrypoint Validation Error Codes: These error codes are returned by ERC-4337 Entrypoint and may occur when you send user operations.

  • AA1x error codes pertain to account creation.
  • AA2x error codes concern the sender of the user operation.
  • AA3x error codes are associated with paymasters.
  • AA4x error codes relate to general verification.
  • AA5x errors are related to actions taken after the user operation has been executed.
CodeDescriptionExplanation
AA10Sender already constructedThe sender has already already created, so initCode does not need to be included in the user operation.
AA13initCode failed or Out of Gas OOGCheck the amount of gas consumed, and then verify the initCode or the factory contract is correct.
AA14initCode must return senderThe initCode does not return the sender address. Check the initCode or the factory contract.
AA15initCode must create senderThe initCode in the user operation does not create an account. Check the initCode or the factory contract.
AA20Account Not DeployedIf this is the first transaction by this account make sure an initCode is included. Otherwise, check that the correct sender address is specified and is an ERC-4337 account.
AA21Didn't pay prefundThe sender lacks sufficient native tokens to cover the gas costs associated with the User Operation. If your intention was to utilize a Paymaster for sponsorship, it is crucial to verify that the paymasterAndData field of the user operation is correctly configured.
AA22Expired or not dueThe signature is not valid because it is outside of the specified time range.
AA23AA23 reverted OOGThe sender signature validation was rejected or ran out of gas. "OOG" is an abbreviation for Out-Of-Gas. The verificationGasLimit may be too low.
AA24Signature ErrorCheck the signature. It may be in an incompatible format.
AA25Invalid account nonceThe nonce is invalid. The user operation may be re-using an old nonce, or formatted the nonce incorrectly.
AA30Paymaster not deployedThe paymaster address specified by paymasterAndData contains no code. Check that the first characters of the paymasterAndData field are the paymaster address you intend to use.
AA31Paymaster deposit too lowThe paymaster is out of funds. More gas tokens must be deposited into the EntryPoint for the paymaster. This is usually done by calling the paymaster contract's deposit function. If you are using Candide Paymaster, let us know.
AA32Paymaster expired or not duePaymaster signatures have a specific time range. If the user operation was executed after this time range, the paymaster's signature becomes invalid
AA33AA33 revertedThe paymaster validation was rejected or ran out of gas. "OOG" = Out-Of-Gas. First check the paymaster's signature in paymasterAndData. If the signature is correct, the verificationGasLimit may be too low.
AA34Signature ErrorThe paymaster's signature is invalid. Check the format of the signature in paymasterAndData.
AA40Over verification gas limitThe verification gas limit was exceeded. Check the verificationGasLimit in your user operation.
AA41Too little verification gasVerifying the user operation took too much gas and did not complete. You may need to increase verificationGasLimit.
AA50PostOp revertedAfter the user operation was completed, the execution of additional logic by the EntryPoint reverted.
AA51prefund below actualGasCostThe actual cost of the user operation is higher than the total amount of gas approved. The prefund is the amount that the EntryPoint is allowed to execute the user operation. After the user operation is executed, the remainder of the prefund is credited back to the sender.