Learn about the standard JSON-RPC error codes and BlockVision's custom error codes.
HTTP Status Codes
In addition to the standard Ethereum JSON-RPC error codes, Alchemy will return the following status codes for HTTP requests:
HTTP Status Codes
Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. Double-check your JSON-RPC body. |
401 | Unauthorized -- You must authenticate your request with an API key. |
403 | Forbidden -- You've hit your capacity limit, or your request was rejected by your app's whitelist settings. |
429 | Too Many Requests -- You've exceeded your concurrent requests capacity or Compute Units per second capacity. Check out the Throughput page for solutions. |
500 | Internal Server Error -- We're unable to process your request right now. Get in touch with us if you see this. |
JSON-RPC Error Codes
Code | Return Message | Description |
---|---|---|
-32700 | Parse error | Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text. |
-32600 | Invalid Request | The JSON sent is not a valid Request object. |
-32601 | Method not found | The method does not exist / is not available |
-32602 | Invalid params | Invalid method parameter(s). |
-32603 | Internal error | Internal JSON-RPC error. |
-32604 | Record not found | No result returned |
-32605 | Rate Limit | Too many requests were made, these requests are be limited. |
-32606 | Illegal Ip | Request IP not in whitelist. |
-32607 | Call Limit | The call limit has been reached, please upgrade your subscription plan. |
-32000 | Server error | Reserved for implementation-defined server-errors. See hint below. |
NOTE: -32000 is used for many server errors. Here are a few common examples:
"Already known"
- This generally means the transaction already posted and is on the node in a pending state. Sometimes this error occurs when transactions fail at first but are retried when the node already knows of them
"Unspecified origin not on whitelist"
- This error means whoever is making the request is not on the whitelist for using your API key.
"Filter not found"
- Filters expire after 5 minutes of inactivity so if it's not found the filter likely expired.
"Request timed out. Client should retry."
- Gateway timeouts (usually from nodes). Clients should retry the request.
"Transaction underpriced"
- Transaction was sent with too low gas. Re-send the transaction with higher gas!