- Ethereum Virtual Machine
- Solana Virtual Machine
Common errors
AddressBlocklisted
Error: Transaction reverts withAddressBlocklisted(address)Solution: The sender, recipient, or caller address is on the blocklist. Use isBlocklisted(address) to check status before sending. If you believe this is an error, contact Coinbase support.EnforcedPause
Error: Transaction reverts withEnforcedPause()Solution: All transfers on this stablecoin are currently paused. Monitor the Unpaused event to detect when transfers resume. Do not retry until the contract is unpaused.ERC20InsufficientBalance
Error: Transaction reverts withERC20InsufficientBalanceSolution: The sender does not have enough tokens. Check the balance before sending:ERC20InsufficientAllowance
Error: Transaction reverts withERC20InsufficientAllowanceSolution: The caller’s spending allowance is insufficient for transferFrom. Call approve on the token contract first:ERC2612ExpiredSignature
Error:permit call reverts with ERC2612ExpiredSignatureSolution: The permit deadline has passed. Generate a new signature with a future deadline:ERC2612InvalidSigner
Error:permit call reverts with ERC2612InvalidSignerSolution: The signature does not match the owner address, or the nonce is stale. Ensure you are:- Signing with the correct wallet (the token owner)
- Reading the current nonce with
nonces(owner)immediately before signing - Using the correct
verifyingContract(the token address, not the spender) - Setting the EIP-712 domain
nameto the exact value returned bytoken.name()andversionto"1"— a mismatch in either field produces an invalid signature
transferWithAuthorization signatures.AuthorizationAlreadyUsed
Error: ERC-3009 call reverts withAuthorizationAlreadyUsed(authorizer, nonce)Solution: The nonce has already been consumed or canceled. Generate a new random nonce for each authorization:AuthorizationExpired
Error: ERC-3009 call reverts withAuthorizationExpired(validBefore)Solution: The authorization’s validBefore timestamp has passed. Have the token holder sign a new authorization with a future validBefore.AuthorizationNotYetValid
Error: ERC-3009 call reverts withAuthorizationNotYetValid(validAfter)Solution: The authorization cannot be submitted yet. Either wait until after validAfter, or set validAfter to 0 for authorizations that should be valid immediately.CallerMustBePayee
Error:receiveWithAuthorization reverts with CallerMustBePayee(caller, payee)Solution: receiveWithAuthorization can only be submitted by the to address. Ensure the transaction is signed and sent by the intended recipient, or use transferWithAuthorization if any relayer should be able to submit.Insufficient gas
Error: Transaction fails withinsufficient funds for gasSolution: You need Base Sepolia ETH for gas. Get testnet ETH from CDP Faucet.What to read next
Production Readiness
Best practices for production integrations
Examples
Code samples for common scenarios
Reference
Full function and program reference
Quickstart
Back to quickstart