Understanding Common API Errors
When using both our SDKs and APIs/RPCs, there are a number of common errors you may run into while building your application. This page is intended to list as many of these errors as possible and highlight what may cause them, thus adding clarity to the standard return messages attached to the errors. For SDK-specific errors, look at Common SDK Errors.
Code | Possible Return Message | Cause |
---|---|---|
System Errors | ||
10001 | System error | System error, or 10001, gets thrown when an internal JSON-RPC error occurs, referring to an error beneath the layer you're directly interacting with. |
10002 | Invalid parameters | When the parameters of a given RPC/API request are incorrect or missing, 10002 is thrown. Refer to the Introduction to API & SDK overview section for more details on specific endpoints. |
Common Errors: 401xx | ||
40101 | User not exists | Accessing an invalid user (a Particle Auth wallet instance that's connected to your application and thus exposed a UUID and Token) will throw 40101, or "User not exists." |
40102 | Authentication failed | Initializing Particle Auth (or associated SDKs) requires a projectId , clientKey , and appId , if these are invalid, the error "Authentication failed" is returned. |
40103 | Address not exists | If you attempt to execute a method that takes a public address as a parameter, and this address is invalid, 40103 is thrown, |
40104 | Insufficient funds | 40104, or "Insufficient funds," is a common error given when a transaction (state-changing action requiring funds) is attempted while the sender has a balance lower than the minimum required to execute the transaction. |
40105 | EIP1559: Invalid fee setting | 40105 occurs when attempting to execute a transaction with an invalid EIP-1159 fee setting (priority fee). Retrieve gas fees with suggestedGasFees. |
40106 | Nonce error | Backed up RPC endpoints or attempting to send transactions in quick succession may throw 40106, which results from an invalid nonce order (value nonce on your attempted transaction). |
40107 | Cancel the biggest nonce first | When attempting to cancel a transaction, 40107 will be returned if this cancellation targets a nonce lower than the largest known. |
40108 | Transaction confirmed | Confirmed transactions can no longer be canceled or sped up, thus if you attempt to do this, error 40108 will occur. |
40109 | gasLimit too low | Attempting to send a transaction with a low gasLimit (sometimes expressed as gas ). Increase your units of gas represented within this variable or estimate the gas with estimateGas . |
40110 | JsonRPC request body error | Parameters or values passed into the request body that may be invalid will result in error 40110 ("JsonRPC request body error") being returned. |
40113 | EIP1559 transaction is not supported | When sending or constructing a transaction using EIP-1559 (often determined by type being 2 ) that is invalid or not supported in that specific context, you'll encounter error 40113. |
Solana Errors: 402xx | ||
40201 | Transaction Error | Attempting to send an invalid or failing transaction on Solana via. JSON-RPC will return 40201, indicating that the transaction itself likely has an underlying issue. |
40202 | You can not settle the auction because you have not participated in the auction | Returned apart of the old Metaplex/Action House API endpoints, not listed on developers.particle.network |
40203 | You are not the creator of this metadata | Returned apart of the old Metaplex/Action House API endpoints, not listed on developers.particle.network |
40204 | Auction is not in Started state | Returned apart of the old Metaplex/Action House API endpoints, not listed on developers.particle.network |
40205 | Metadata already exists | Returned apart of the old Metaplex/Action House API endpoints, not listed on developers.particle.network |
40206 | No need to unwrap | Returned apart of the old Metaplex/Action House API endpoints, not listed on developers.particle.network |
EVM-Specific Errors: 403xx | ||
40301 | Swap Error | When using endpoints like getSwap and getQuote, if the parameters provided to the endpoint are invalid or will result in a failed swap, 40301 may be returned. |
JSON RPC Errors: -32xxx Includes standard, enhanced, bundler, paymaster, and AA RPC endpoints. | ||
-32700 | Parse error | If the server (the node or database) receives an invalid JSON request body, -32700 will be returned, indicating either an underlying issue or a problem with the values, parameters, or structure used within the request. |
-32600 | Invalid request | Similar to the above, -32600 will be thrown if the request object is an invalid structure or includes invalid parameters. This is a targeted error, while -32700 is generic. |
-32601 / -32006 | Method not found | Methods are dictated through the method parameter within the JSON-RPC request; if this is invalid (doesn't exist), error -32601 will be returned. |
-32602 | Invalid parameters | More narrowly scoped than -32600, this error (-32602) will be thrown if the parameters themselves were determined as invalid, thus not meeting the server's expectations. |
-32603 & -3200 | Internal error / System error / Server error | Like 10001, these errors may be thrown if an internal error occurs behind the scenes. This may or may not result from an invalid request. Contact us within the Particle Network Discord to help troubleshoot. |
-32001 | Unsupported chainId | When passing a chainId within the standard JSON-RPC request parameters, -32001 may be returned if this value does not correspond with a currently supported blockchain. |
-32002 | Arrays are not currently supported | If you're attempting to pass an array as a parameter value through either the Paymaster RPC or Bundler RPC, -32002 will be thrown due to their lack of compatibility as a type within these requests. |
-32003 / -32603 | Not supported entry point | When attempting to send UserOperations to or interact with an entrypoint that isn't 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 , -32003 will be thrown due to the current exclusive compatibility with said entrypoint. |
-32004 | The UserOP is already processed | Once a UserOperation has been sent, processed, and thus settled on-chain, it can no longer be re-sent or modified, thus when attempting to do this, -32004 is returned. |
-32005 | Estimate gas failed | Gas estimations occur either automatically through something like createUserOp, or manually through getFeeQuotes. If the parameters passed into these requests are invalid or if the transaction may fail, -32005 will possibly be returned. |
-32600 | Invalid Request | Sending an invalid request (meaning incorrect parameters, value, or structure) to the Bundler RPC or Paymaster RPC will result in error -32600, although this is a generalized error with the scope of the entire request. |
-32602 | Invalid params | Alternatively, for requests to the Bundler RPC or Paymaster RPC in which the parameters themselves are deemed to be invalid (rather than the entire request), -32602 will be thrown. |
-32604 | Send user operation failed | When sending a UserOperation to the Bundler RPC and it fails due to a variety of potential reasons (balance errors, paymaster issues, account deployment issues, etc.), -32604 is returned. |
-32605 | Validate user operation failed | Similar to the above, UserOperations undergoing validation through the Bundler RPC that fail will result in -32605 being returned. |
-32606 | Simulate user operation failed | If calling estimateUserOperationGas on a UserOperation that may fail or contains invalid parameters, you may encounter -32606 (or, depending on the nature of the failure, -32600/-32602). |
-32003 | The sign request is rejected | Requesting aymaster signature under invalid conditions may result in error -32003, which refers to the rejection of the sponsorship. Ensure you've set your conditions properly and funded the Paymaster. |
-32004 | Can not fetch the usd price | When calling paymasterBalance, the USD price calculation may fail, resulting in error -32004. |
-32005 | Insufficient deposit for the project | Before leveraging the Particle Network Omnichain Paymaster within your application, you'll need to deposit enough USDT for sponsorship. Failing to do so may result in error -32005 being thrown. |