Skip to content

Ethereum public RPC

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

Network Chain ID HTTP JSON-RPC WebSocket
Ethereum mainnet 1 (0x1) https://eth.nodely.dev wss://eth.nodely.dev/ws
  • Served from two nodes in Europe (Finland and Germany) with automatic failover: a node that falls more than 60 seconds behind the chain head leaves the pool.
  • Each node runs reth with a Lighthouse beacon node. The beacon (consensus layer) API is not public.
  • Transactions sent with eth_sendRawTransaction are broadcast from our nodes to the Ethereum network.
  • CORS is open, so browser apps and wallets can call the endpoint directly.
  • GET https://eth.nodely.dev/health answers ok head <block> age <seconds> while the node is in sync.
  • The same nodes feed our Base RPC, which derives the L2 from them.

The nodes are pruned, not archival:

  • State, blocks, receipts and logs cover the last 100,800 blocks (about 14 days). eth_call, eth_getBalance and similar calls at older blocks fail with pruned history unavailable.
  • Lookups by transaction hash (eth_getTransactionByHash, eth_getTransactionReceipt) cover only the last few hundred blocks, about an hour; older hashes return null. 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, newPendingTransactions) on the WebSocket only.

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

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

Per client IP:

Calls Rate
Most calls 12 per second (burst 25)
Heavy calls: eth_getLogs, eth_call, eth_estimateGas, eth_createAccessList, eth_getBlockReceipts, eth_feeHistory, eth_simulateV1 2 per second (burst 5)
eth_sendRawTransaction 1 per second (burst 2)
  • 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 1,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.