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

CodeMeaning
400Bad Request -- Your request is invalid. Double-check your JSON-RPC body.
401Unauthorized -- You must authenticate your request with an API key.
403Forbidden -- You've hit your capacity limit, or your request was rejected by your app's whitelist settings.
429Too Many Requests -- You've exceeded your concurrent requests capacity or Compute Units per second capacity. Check out the Throughput page for solutions.
500Internal Server Error -- We're unable to process your request right now. Get in touch with us if you see this.

JSON-RPC Error Codes

CodeReturn MessageDescription
-32700Parse errorInvalid JSON was received by the server.
An error occurred on the server while parsing the JSON text.
-32600Invalid RequestThe JSON sent is not a valid Request object.
-32601Method not foundThe method does not exist / is not available
-32602Invalid paramsInvalid method parameter(s).
-32603Internal errorInternal JSON-RPC error.
-32604Record not foundNo result returned
-32605Rate LimitToo many requests were made, these requests are be limited.
-32606Illegal IpRequest IP not in whitelist.
-32607Call LimitThe call limit has been reached, please upgrade your subscription plan.
-32000Server errorReserved 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!