Base
Base
Base
Free tier covers personal projects. Pay-as-you-go scales without a card.
https://base.therpc.io/YOUR_API_KEY) for single or simple requests like balance checks and contract reads. Use the WebSocket endpoint (wss://base.therpc.io/YOUR_API_KEY) for real-time subscriptions — streaming new ~2-second blocks and logs via eth_subscribe instead of polling.Base returns standard JSON-RPC error codes, summarized in the table below: -32700 parse error, -32600 invalid request, -32601 method not found, -32602 invalid params, -32603 internal error, and the -32000 to -32099 range for server errors. Four practices keep your integration robust: always check the error field on every response before using result; retry transient failures with exponential backoff; log the full error code and message for later diagnosis; and set sensible timeouts so a slow request never hangs your application.
| Code | Meaning |
|---|---|
-32700 | Parse error |
-32600 | Invalid request |
-32601 | Method not found |
-32602 | Invalid params |
-32603 | Internal error |
-32000 to -32099 | Server error |
eth_getTransactionReceipt with the transaction hash until a receipt appears, or subscribe in real time with eth_subscribe over WebSocket to react the moment a transaction is mined.nonce parameter and an application-level queue so transactions from one address go out in sequence. Read the current nonce with eth_getTransactionCount before signing.eth_blockNumber, listen to newHeads via eth_subscribe to detect head changes, and verify finality by re-reading the block with eth_getBlockByNumber. On Base, soft confirmations come fast at ~2-second blocks, but full L1 finality settles on Ethereum, so wait for enough confirmations on high-value flows.net_version, which returns 8453 for Base.0x2105), which you can verify at runtime with eth_chainId.eth_blockNumber call, and monitor latency and error rates as you scale up.