Optimism public RPC endpoints, tested

Every keyless Optimism (chain ID 10) endpoint listed on Chainlist and chainid.network, tested the same way on 2026-11-08: does it answer on the right chain, how fast, how far behind the best head, how large an eth_getLogs range it accepts, whether it keeps archive state, and whether its WebSocket actually streams. 14 of 26 HTTP endpoints were working.

Working HTTP endpoints

EndpointLatencyBehind besteth_getLogsState
https://api-optimism-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c61 ms0 blocksunder 1,000none
https://rpc.swiftnodes.io/rpc/optimism (SwiftNodes, keyless: 2 req/s)8 ms5 blocksunder 1,000recent only
https://public-op-mainnet.fastnode.io22 ms229 blocks10,000+recent only
https://optimism-rpc.publicnode.com32 ms19 blocks1,000none
https://optimism-rpc.blockreq.com/v1/rpc/public35 ms15 blocks1,000recent only
https://op.api.pocket.network39 ms10 blocks10,000+archive (1M+)
https://mainnet.optimism.io45 ms19 blocks10,000+archive (1M+)
https://rpc-optimism.blockmachine.io57 ms8 blocksunder 1,000none
https://optimism-mainnet.gateway.tatum.io62 ms9 blocksunder 1,000none
https://optimism-public.nodies.app132 ms13 blocksunder 1,000archive (1M+)
https://api.zan.top/opt-mainnet175 ms12 blocksunder 1,000archive (1M+)
https://optimism.rpc.sentio.xyz193 ms9 blocksunder 1,000archive (1M+)
https://optimism.drpc.org379 ms12 blocksunder 1,000archive (1M+)
https://optimism.api.onfinality.io/public431 ms9 blocksunder 1,000archive (1M+)

Order: endpoints within 3 blocks of the best head first, then by median latency. Latency is measured from one server, so yours will differ by region; lag and limits do not.

WebSocket endpoints

  • streams op.api.pocket.network: first head after 924 ms
  • streams optimism-rpc.publicnode.com: first head after 1456 ms
  • does not stream optimism.gateway.tenderly.co: connection failed (connect)
  • does not stream optimism.drpc.org: subscribe rejected: You reached Public endpoint rate limit, please upgrade to paid plan
  • does not stream opt-mainnet.4everland.org/ws/v1/37fa9972c1b1cd5fab542c7bdd4cde2f: connection failed (connect)
  • does not stream rpc.swiftnodes.io/ws/optimism (SwiftNodes): subscribe rejected: WebSocket subscriptions require an API key. Get a free key at https://swiftnodes

Listed but not working

  • xrpc.cl/optimism: chainId: XRPC Cluster: Backend optimism node currently syncing and fallbacks busy
  • rpc.hostdefi.com/api/rpc/optimism: no answer (HTTP 403)
  • optimism-mainnet.public.blastapi.io: chainId: Blast API is no longer available. Please update your integration to use Alchemy's API inste
  • public.1rpc.io/op: chainId: You've reached the usage limit for your current plan. To continue with higher limits and un
  • optimism.gateway.tenderly.co: chainId: rate limited
  • optimism.public.blockpi.network/v1/rpc/public: no answer (HTTP 521)
  • api.stateless.solutions/optimism/v1/demo: chainId: fetch failed
  • rpc.buildbear.io/esquivelfabian: no answer (HTTP 403)
  • rpc.owlracle.info/opt/70d38ce1826c4a60bb2a8e05a6c8b20f: no answer (HTTP 401)
  • lb.routeme.sh/rpc/evm/10: chainId: rate limited
  • rpc.nodeflare.app/op/public: chainId: rate limited
  • gateway.tenderly.co/public/optimism: chainId: rate limited

Test any endpoint yourself with the RPC tester. Our Optimism endpoint, limits and status: Optimism RPC, uptime history.