Skip to content

Base public RPC

Nodely runs a public RPC for Base mainnet on its own nodes. No account, no keys.

Network Chain ID HTTP JSON-RPC WebSocket
Base mainnet 8453 (0x2105) https://base.nodely.dev wss://base.nodely.dev/ws
  • Served from two nodes in Europe (Finland and Germany) with automatic failover: a node that falls more than 30 seconds behind the chain head leaves the pool.
  • Both nodes derive Base from their own Ethereum L1 node. Transactions are forwarded to the Base sequencer.
  • The pending block tag follows Flashblocks, so apps see new transactions about every 200 ms instead of every block.
  • CORS is open, so browser apps and wallets can call the endpoint directly.
  • GET https://base.nodely.dev/health answers ok head <block> age <seconds> while the node is in sync.

The nodes are pruned, not archival:

  • State, blocks, receipts and logs cover the last 300,000 blocks: about 7 days at today’s 2-second blocks, about 17 hours once the Denim upgrade (5 November 2026) brings 200 ms blocks. eth_call, eth_getBalance and similar calls at older blocks fail.
  • Lookups by transaction hash (eth_getTransactionByHash, eth_getTransactionReceipt) cover only the newest few thousand blocks. That is enough to confirm a transaction you just sent, but not for explorers or indexers: for older transactions use eth_getBlockReceipts or eth_getLogs with the block number.

Need full history? Talk to us.

  • All read methods in the eth_ namespace, plus eth_sendRawTransaction. Signing, mining and account methods (eth_sign*, eth_sendTransaction, eth_accounts, …) are disabled.
  • net_version, net_listening, net_peerCount, web3_clientVersion, web3_sha3
  • eth_subscribe and eth_unsubscribe (newHeads, logs) on the WebSocket only.

Other namespaces (debug_*, trace_*, txpool_*, admin_*, …) return error -32601.

Terminal window
curl https://base.nodely.dev \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Per client IP:

Calls Rate
Most calls 25 per second (burst 50)
Heavy calls: eth_getLogs, eth_call, eth_estimateGas, eth_createAccessList, eth_getBlockReceipts, eth_feeHistory, eth_simulateV1 5 per second (burst 10)
eth_sendRawTransaction 2 per second (burst 5)
  • Over the limit you get HTTP 429 and JSON-RPC error -32005 (rate limit exceeded). Back off and retry.
  • Batches of up to 20 calls; each call counts against the limits.
  • 256 KB maximum request body, 4 WebSocket connections per IP.
  • eth_getLogs spans at most 2,000 blocks and returns at most 10,000 logs; eth_call gas cap 50M; responses up to 25 MB.

Need more? Talk to us about dedicated endpoints.