Ethereum Error Codes

Ethereum API requests can fail at two levels:

  • HTTP errors happen before or while the request reaches the endpoint.
  • Ethereum RPC errors come from the JSON-RPC request body or the backing Ethereum node.

Successful JSON-RPC responses include a result value. Failed JSON-RPC responses include an error object with a code, message, and optional data field.

HTTP Error Codes

CodeMessageMeaningWhat to check
400Bad RequestThe request is malformed, uses an invalid body, or cannot be interpreted by the endpoint.Confirm the request body is valid JSON and follows the JSON-RPC 2.0 shape.
401UnauthorizedAuthentication failed or the request is missing valid credentials.Check that the endpoint URL includes the correct project API key.
403ForbiddenThe request is not allowed for the endpoint, project, origin, or enabled method set.Confirm project access, allowed origins, billing state, and method availability.
404Not FoundThe endpoint URL or requested route does not exist.Check the endpoint URL, network path, and copied project endpoint.
405Method Not AllowedThe endpoint does not accept the HTTP method used by the request.Use POST for JSON-RPC requests.
413Content Too LargeThe request body is larger than the endpoint accepts.Reduce payload size, block ranges, batch size, or log/filter scope.
415Unsupported Media TypeThe request uses an unsupported Content-Type.Send Content-Type: application/json.
429Too Many RequestsThe request rate is higher than the available rate limit.Slow down requests, add retries with backoff, or review your service plan limits.
500Internal Server ErrorThe endpoint or upstream node failed while processing the request.Retry the request and check whether the issue is method-specific or temporary.
503Service UnavailableThe endpoint or upstream service is temporarily unavailable.Retry with backoff and monitor service health before increasing traffic.

HTTP Error Code Example

This response shows an HTTP-level rate limit error:

1{
2 "jsonrpc": "2.0",
3 "error": {
4 "code": 429,
5 "message": "The request rate is higher than the available rate limit."
6 },
7 "id": 1
8}

Ethereum RPC Error Codes

CodeMessageMeaning
-32700Parse errorInvalid JSON was received and could not be parsed.
-32600Invalid requestThe JSON-RPC request is malformed or missing required fields.
-32601Method not foundThe method name is misspelled or unavailable on the endpoint.
-32601Failed to parse requestThe request body or method parameters could not be parsed.
-32602Invalid paramsThe method parameters are missing, malformed, or incompatible with the method schema.
-32602Missing 0x prefixA hex value, address, hash, or quantity is missing the required 0x prefix.
-32602Block range limit exceededA logs or filter request covers more blocks than the endpoint accepts.
-32603Internal JSON-RPC errorThe Ethereum node encountered an internal error while processing the payload.
-32612Custom traces are blockedThe requested custom trace behavior is not enabled for the endpoint.
-32613Custom trace not allowedThe requested custom trace is not allowed by the endpoint configuration.
-32000Header not found / Block not foundThe requested block is not available, the block number is invalid, or the node is not synced to that block yet.
-32000Stack limit reachedContract execution exceeded the EVM stack limit.
-32000Method handler crashedThe backing blockchain client failed while handling the method.
-32000Execution timeoutThe request took longer than the client or endpoint timeout allows.
-32000Nonce too lowThe transaction nonce is lower than the next valid nonce for the sender account.
-32000Filter not foundThe filter expired, was removed, or is no longer available on the node serving the request.
-32001Resource not foundThe requested resource does not exist or is unavailable.
-32002Resource unavailableThe requested resource is temporarily or permanently unavailable.
-32003Transaction rejectedThe transaction failed validation or could not be accepted by the node.
-32004Method not supportedThe requested method is not implemented or supported by the server.
-32005Limit exceededThe request exceeds an allowed limit or quota.
-32006JSON-RPC version not supportedThe jsonrpc version is missing or not supported.
-32009Trace requests limitedTrace or debug request volume exceeds endpoint limits.
-32010Transaction cost exceeds gas limitThe transaction gas limit is too low for the expected execution cost.
-32011Network errorThe client, endpoint, or upstream node connection failed or timed out.
-32015VM execution errorSmart contract execution failed in the EVM.
3Execution revertedThe transaction or call reverted during execution because of contract logic, failed conditions, insufficient gas, or another EVM execution failure.

Ethereum RPC Error Code Example

This response shows a method lookup error:

1{
2 "jsonrpc": "2.0",
3 "id": 1,
4 "error": {
5 "code": -32601,
6 "message": "The method eth_randomMethod does not exist or is not available."
7 }
8}

Error Monitoring

Use W3api platform request monitoring and statistics to compare successful and failed requests by project, chain, method, and time range. When investigating errors, capture the endpoint, request timestamp, method name, request body, HTTP status, and JSON-RPC error object so you can identify whether the issue is caused by request shape, rate limits, endpoint access, or upstream Ethereum execution.