Connection refused / ECONNREFUSED
Cause: The RPC endpoint is unreachable or the node is not running. Fix:- Try the secondary endpoint:
https://testnet-rpc2.autheo.com - Check node status:
autheod status --node <rpc-url> - Verify that port 8545 (HTTP) or 8546 (WebSocket) is open in your firewall
429 Too Many Requests
Cause: You have exceeded the rate limit on the public RPC endpoint. Fix:- Implement exponential backoff with jitter in your application
- Reduce polling frequency (prefer event subscriptions over polling)
- Use the secondary endpoint to distribute load
- For production applications, use a managed node provider
CORS errors in browser applications
Cause: Browser enforces same-origin policy; the RPC endpoint doesn’t return the expected CORS headers. Fix: Do not call the RPC endpoint directly from a browser. Route requests through your own backend server, which can add the appropriate CORS headers.invalid request (JSON-RPC error -32600)
Cause: The request body is malformed JSON or missing required fields.
Fix: Ensure the request includes jsonrpc, method, params, and id fields:
method not found (JSON-RPC error -32601)
Cause: The requested method is not supported by the node.
Common unsupported methods: eth_mining, eth_hashrate, eth_submitWork, eth_getWork — these are not applicable to BFT consensus chains.
Fix: See the JSON-RPC methods reference for the list of supported methods.
execution reverted (JSON-RPC error -32000)
Cause: A contract call reverted during execution.
Fix:
- Simulate the call with
eth_callfirst to get the revert reason - Check input parameters match the contract’s expected types and ranges
- Verify the caller has the required permissions
WebSocket connection drops
Cause: WebSocket connections have a default idle timeout. Fix: Implement reconnection logic with a backoff strategy:eth_getLogs returns empty array unexpectedly
Cause: The block range or filter parameters don’t match any events.
Fix:
- Verify the contract address is correct (checksummed EIP-55 format)
- Check the
fromBlockandtoBlockvalues bracket the expected transaction blocks - Ensure the topic hash matches your event signature exactly:
REST API 404 on block explorer endpoints
Cause: The requested resource doesn’t exist or the URL path is incorrect. Fix: Verify the endpoint against the REST API reference. The base URL is:Slow response times
Cause: High network load or the node is processing a large request. Fix:- Use
eth_callinstead ofeth_sendTransactionfor read-only operations - Avoid fetching large block ranges in a single
eth_getLogscall — paginate in chunks of 1,000–10,000 blocks - Cache responses for data that doesn’t change frequently (e.g., contract ABIs, static configuration)