Skip to main content

HTTP status codes

CodeMeaningCommon cause
200 OKSuccessRequest completed successfully
400 Bad RequestInvalid parametersMalformed address, invalid block number, or missing required parameter
404 Not FoundResource not foundAddress has no data, block doesn’t exist, or transaction hash not found
422 Unprocessable EntityValidation errorParameter value is out of range or wrong type
429 Too Many RequestsRate limitedToo many requests in a short period
500 Internal Server ErrorServer errorRetry with backoff

Error response format

All error responses return a JSON body with a message field:
{
  "message": "Not found"
}

Common errors

400 — Invalid address format

{"message": "Invalid address hash"}
Fix: Ensure the address is a valid EIP-55 checksummed hex address (0x..., 40 hex characters). Use ethers.getAddress(address) to checksum an address.

404 — Address or transaction not found

{"message": "Not found"}
Fix: The address may have no on-chain activity, or the transaction hash may be incorrect. Verify on the block explorer.

429 — Rate limited

Fix: Reduce request frequency and implement exponential backoff. See JSON-RPC rate limits for backoff strategies — the same approach applies to REST requests.

Example error handling in JavaScript

async function apiRequest(path) {
  const response = await fetch(`https://evm-explorer.autheo.com/api/v2${path}`);

  if (!response.ok) {
    const error = await response.json().catch(() => ({ message: "Unknown error" }));
    throw new Error(`API error ${response.status}: ${error.message}`);
  }

  return response.json();
}

try {
  const data = await apiRequest("/addresses/0x<address>");
  console.log(data);
} catch (err) {
  console.error(err.message);
}