Skip to main content

Bundler 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.

Here are the common error codes as defined by the protocol. These error codes supplement the standard JSON-RPC error codes that are typically returned in response to an incorrect method call.

Additionally, many of these errors will be accompanied by an extra error message provided by the Entrypoint.

Invalid UserOp Error Codes

CodeDescription
-32500Transaction rejected by entryPoint’s simulateValidation, during wallet creation or validation. The message field is set the FailedOp’s “AAxx” error message from the EntryPoint.
-32501Transaction rejected by paymaster’s validatePaymasterUserOp
-32502Transaction rejected because of opcode validation
-32503UserOperation out of time-range: either wallet or paymaster returned a time-range, and it is already expired (or will expire soon)
-32504Transaction rejected because paymaster (or signature aggregator) is throttled or banned
-32505Transaction rejected because paymaster (or signature aggregator) stake or unstake-delay is too low
-32506Transaction rejected because wallet specified unsupported signature aggregator
-32507Transaction rejected because of wallet signature check failed (or paymaster signature, if the paymaster uses its data as signature)
-32521Transaction was reverted during the execution phase
-32602Invalid UserOperation struct/fields