4xxerrors are client errors, which are informative and actionable. They communicate a mistake to the user and suggest fixes.5xxerrors are unexpected server-side errors.
Description column.
General error format
HTTP status codes do not always provide sufficient information to determine the cause of the error. Since the status code is part of the header of the response, the body of response contains additional, Circle-specific, error information. For example, if a request contains an invalid parameter, the response includes the following: HeaderHTTP/1.1 400 Bad RequestContent-Type: application/json
Body
JSON
Extended error format
In some cases, the response includes extended information about the cause of the error. For example, if a request doesn’t include a value for a required parameter, the response includes a detailed error message: HeaderHTTP/1.1 400 Bad RequestContent-Type: application/json
Body
JSON
General errors
This section describes some common extended error messages you might encounter using Wallets and Contracts APIs. The following errors are general errors that can be returned for any request.| Error Code | HTTP code | Error Message | Description |
|---|---|---|---|
-1 | 400 | Something went wrong | An unknown error occurred while processing the API request. |
3 | 403 | Forbidden | The API key used does not have access to the requested endpoint. |
Invalid requests
A400 HTTP status code indicates that the request is invalid or malformed.
When the request is invalid, the Circle-specific error code is 2. The
following table describes the common error messages that can be returned for
invalid requests.
| Error Code | HTTP code | Error Message | Description |
|---|---|---|---|
2 | 400 | Invalid Entity | There is an error in the JSON format passed in the request. |
2 | 400 | Fail to bind request to parameter: invalid UUID format | The parameter must be in UUID format. |
2 | 400 | Error: Field validation | One of the fields in the request is invalid. |
2 | 400 | Error: Field validation for blockchain failed on the blockchain tag | The blockchain does not exist. Try again with a supported blockchain. |
2 | 400 | Error: Field validation for gasLimit failed on the required_without tag | If feeLevel is provided, gasLimit should be set to NULL. If feeLevel is NULL, gasLimit must be provided. |
2 | 400 | Error: Field validation for parameter failed on the min tag | The parameter is not in the correct format. |
2 | 400 | Cannot unmarshal | The JSON body of the request is not valid. |
2 | 400 | INVALID: parameter empty | The parameter is required for this request. Try the request again with this parameter. |
Contracts errors
This section includes the errors that can be returned from the Circle Contracts API requests.Contract errors
| Error code | HTTP code | Error message | Description |
|---|---|---|---|
175001 | 404 | Contract not found. | The specified contract does not exist in the system. |
175002 | 400 | No ABI JSON for the target contract. | Cannot execute a read function on a contract without the ABI JSON. |
175003 | 400 | Constructor parameters length must match constructor signature. | The number of constructor parameters must match the constructor signature. |
175004 | 409 | Contract already exists. | The contract already exists in the system. |
175005 | 400 | Address is not a contract address. | The given address is not associated with a smart contract. |
175006 | 400 | Contract is archived. | Attempted to interact with an archived contract. |
175007 | 400 | Invalid ABI JSON. | The inputted ABI JSON is not correctly formatted. |
175008 | 400 | Multi-layered proxies are not supported. | Importing a multi-layered proxy contract is not supported. |
175009 | 400 | Contract deployment pending. | Contract deployment must be completed before function execution is available. |
175010 | 400 | ABI function not found. | The ABI function was not found on the contract. |
175011 | 400 | Empty update on a contract. | An empty update for a contract is not allowed |
175012 | 400 | Unable to query contract. | Unable to query contract. Check your parameters and try again. |
175013 | 400 | ABI function is not supported. | The ABI function of the contract is not supported. |
Template errors
| Error code | HTTP code | Error message | Description |
|---|---|---|---|
175201 | 404 | Template not found. | The specified template does not exist in the system. |
175202 | 400 | Deploying this template is temporarily disabled. | Deploying this template is temporarily disabled. |
175203 | 400 | Invalid template deployment parameter. | The request contains an invalid field in the template parameters. |
175204 | 400 | Missing required template deployment parameter. | The request is missing a required field in the template parameters. |
175205 | 400 | Estimation is not supported. | Estimating the deployment of this template is not supported. |
Event subscription errors
| Error code | HTTP code | Error message | Description |
|---|---|---|---|
175301 | 404 | Event subscription not found. | The specified event subscription does not exist or is not accessible to the caller. |
175302 | 409 | Event subscription already exist. | The specified event has already been created for this contract. |
175303 | 400 | The specified event signature does not exist. | The specified event signature does not exist on this contract. |
Common errors
| Error code | HTTP code | Error message | Description |
|---|---|---|---|
175401 | 400 | Fail to parse id as UUID in url. | The specified ID is invalid (must be in UUID format). Try again with a valid ID. |
175402 | 400 | The specified blockchain is either not supported or deprecated. | The specified blockchain is either not supported or deprecated. |
175403 | 409 | Please use a new idempotency key. | Use a new idempotency key and try again. |
175404 | 400 | TEST_API key cannot be used with blockchain mainnets, or LIVE_API key cannot be used with blockchain testnets. | TEST_API key cannot be used with blockchain mainnets, or LIVE_API key cannot be used with blockchain testnets. |
175405 | 401 | TEST_API key or LIVE_API key is not found for the request. | TEST_API key or LIVE_API key is not found for the request. |
175406 | 400 | This feature is temporarily disabled. | This feature is temporarily disabled. |
175407 | 400 | The specified blockchain is unavailable. | The specified blockchain is unavailable. Check the Circle Status page for more details. |
175408 | 404 | Cannot find corresponding pagination cursor in the system. | Cannot find corresponding pagination cursor in the system. |
175409 | 403 | Entities with restrictions cannot perform this operation. | Entities with restrictions cannot perform this operation. |
175410 | 400 | invalid address format | The address format is invalid. |
Transaction errors
| Error code | HTTP code | Error message | Description |
|---|---|---|---|
177001 | 400 | transaction nonce is inconsistent with sender's latest nonce | The transaction nonce is inconsistent with the sender’s latest nonce. |
177002 | 400 | user op nonce can not be larger than 0 when smart contract wallet hasn't been deployed | User op nonce can not be larger than 0 when the smart contract wallet hasn’t been deployed. |
177003 | 400 | failed to execute this request on EVM due to insufficient token when estimating fee | Failed to execute this request on EVM due to insufficient tokens when estimating the fee. |
177004 | 400 | the total cost of executing transaction is higher than the balance of the user's account when estimating fee | When estimating the fee, the total cost of executing the transaction is higher than the balance of the user’s account. |
177005 | 400 | the sender address is not token owner or approved when estimating token transfer | The sender address is not token owner or approved when estimating token transfer. |
177006 | 400 | gas required exceeds allowance when estimating fee | Gas required exceeds allowance when estimating fee. |
177007 | 400 | estimate fee execution reverted | Estimate fee execution reverted. |
177008 | 400 | ABI function signature can't pack ABI parameter | ABI function signature can’t pack ABI parameter. |
177009 | 400 | fails to perform transaction estimation | Fails to perform transaction estimation. |
177010 | 400 | maxFee * gasLimit exceed configurable max transaction fee (default is 1 native token) | The MaxFee * GasLimit exceeds the configurable max transaction fee (default is 1 native token). |
177011 | 400 | transaction needs feeLevel or gasLimit provided | The transaction requires feeLevel or gasLimit to be provided in the request. |
177012 | 400 | sca transaction needs feeLevel provided | The SCA transaction requires feeLevel to be provided in the request. |
177013 | 400 | EIP1559 chains need maxFee/priorityFee provided | EIP1559 chains require maxFee and priorityFee to be provided in the request. |
177014 | 400 | priorityFee cannot be larger than maxFee in creating transaction request | Creating transaction requestspriorityFee cannot be larger than maxFee. |
177015 | 400 | missing bytecode for contract deployment | Missing bytecode for contract deployment. |
177016 | 400 | cannot provide both WalletID and SourceAddress/Blockchain | You cannot provide WalletID and SourceAddress/Blockchain in a request. |
177017 | 400 | Invalid amount in contract execution request | The amount in the contract execution request is invalid. |
177018 | 400 | policy is not activated and cannot be used | The Gas Station paymaster policy is not activated and cannot be used. |
177019 | 400 | exceeded max daily transaction of the policy | The Gas Station paymaster policy maximum daily transaction limit has been reached. |
177020 | 400 | exceeded max spend USD per transaction of the policy | The transaction cost exceeds the Gas Station paymaster policy maximum spend per transaction in USD. |
177021 | 400 | exceeded max spend USD daily of the policy | The Gas Station paymaster policy for maximum spending daily in USD has been reached. |
177022 | 400 | exceeded max native token daily of the policy | The Gas Station paymaster policy for maximum native tokens daily of the policy. |
177023 | 400 | sender is in policy blocklist | The sender is on the Gas Station paymaster policy blocklist. |
177024 | 400 | wallet and request's blockchain mismatch. | The wallet and blockchain in the request should be the same. |
177301 | 400 | wallet is Frozen | Frozen wallets can not be updated or interacted with; they can only be queried. |
177302 | 400 | invalid sca wallet config | The SCA wallet configuration is invalid. |
177303 | 400 | sca wallet first-time transaction is still in progress | The SCA wallet needs to wait for the first-time transaction to finish deploying the wallet before processing more transactions. |
177304 | 400 | SCA account is not supported on the given blockchain | The SCA account is not supported on the given blockchain. |
177305 | 400 | Entity is not eligible for SCA account creation. Please check paymaster policy setup | The entity is not eligible for SCA account creation. Check the Gas Station paymaster policy setup. |
177601 | 400 | could be caused by either no such wallet or wallet is not accessible to the caller | The target wallet cannot be found in the system. Either the specified wallet doesn’t exist, or it’s inaccessible to the caller. |
177602 | 400 | reusing an entity secret ciphertext is not allowed. Please re-encrypt the entity secret to generate new ciphertext | Reusing an entity’s secret ciphertext is not allowed. Re-encrypt the entity secret to generate a new ciphertext. |
177603 | 400 | entity is likely not properly set up during the onboarding process | The corresponding entity cannot be found in the system. |
177604 | 400 | the provided entity secret is invalid | The provided entity secret is invalid. |
177605 | 400 | the entity secret has not been set yet. Please provide encrypted ciphertext in the console | The entity secret has not been set up on your account. Provide encrypted ciphertext in the console. |
177606 | 400 | current entity secret is invalid. Please rotate the entity secret first | The provided entity secret is invalid. Rotate the entity secret first and send another API request. |
177607 | 400 | please use a new idempotency key | Use a new idempotency key. |
177901 | 400 | smart contract query failed | Error when querying contract. Check parameters and try again. |