Optimism public RPC endpoints, tested

Every keyless Optimism (chain ID 10) endpoint listed on Chainlist and chainid.network, tested the same way on 2026-09-24: 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. 13 of 33 HTTP endpoints were working.

Working HTTP endpoints

EndpointLatencyBehind besteth_getLogsState
https://public-op-mainnet.fastnode.io41 ms2 blocks10,000+recent only
https://rpc-optimism.blockmachine.io74 ms0 blocks1,000archive (1M+)
https://op.api.pocket.network75 ms2 blocks10,000+archive (1M+)
https://rpc.nodeflare.app/op/public79 ms1 blocksunder 1,000recent only
https://optimism.rpc.sentio.xyz181 ms0 blocks10,000+archive (1M+)
https://optimism.api.onfinality.io/public305 ms2 blocksunder 1,000none
https://optimism-rpc.publicnode.com20 ms13 blocks1,000none
https://mainnet.optimism.io36 ms13 blocks10,000+archive (1M+)
https://optimism.drpc.org49 ms11 blocksunder 1,000archive (1M+)
https://optimism.public.blockpi.network/v1/rpc/public98 ms10 blocks1,000archive (1M+)
https://optimism-public.nodies.app136 ms10 blocksunder 1,000archive (1M+)
https://api.zan.top/opt-mainnet173 ms8 blocksunder 1,000archive (1M+)
https://xrpc.cl/optimism1135 ms9 blocks10,000+none

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 optimism-rpc.publicnode.com: first head after 677 ms
  • streams op.api.pocket.network: first head after 818 ms
  • streams rpc.swiftnodes.io/ws/optimism (SwiftNodes): first head after 1169 ms
  • streams optimism.drpc.org: first head after 1213 ms
  • does not stream optimism.gateway.tenderly.co: connection failed (connect)
  • does not stream opt-mainnet.4everland.org/ws/v1/37fa9972c1b1cd5fab542c7bdd4cde2f: connection failed (connect)

Listed but not working

  • 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
  • rpc.optimism.gateway.fm: chainId: fetch failed
  • optimism.meowrpc.com: chainId: fetch failed
  • optimism.gateway.tenderly.co: chainId: rate limited
  • api.stateless.solutions/optimism/v1/demo: chainId: fetch failed
  • public.stackup.sh/api/v1/node/optimism-mainnet: chainId: fetch failed
  • lb.routeme.sh/rpc/evm/10: chainId: rate limited
  • go.getblock.io/e8a75f8dcf614861becfbcb185be6eb4: no answer (HTTP 401)
  • opt-mainnet.4everland.org/v1/37fa9972c1b1cd5fab542c7bdd4cde2f: chainId: Invalid API Key.
  • gateway.tenderly.co/public/optimism: chainId: rate limited
  • endpoints.omniatech.io/v1/op/mainnet/public: no answer (HTTP 521)
  • rpc.buildbear.io/esquivelfabian: no answer (HTTP 403)
  • optimism.lava.build: chainId: This endpoint has been discontinued.
  • rpc.owlracle.info/opt/70d38ce1826c4a60bb2a8e05a6c8b20f: no answer (HTTP 401)
  • optimism.therpc.io: chainId: fetch failed
  • optimism-mainnet.gateway.tatum.io: chainId: timeout
  • op-rpc.keccak.io: chainId: auth error - api key required. This method needs an account — register free and get an API
  • api-optimism-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c: eth_blockNumber failed
  • rpc.swiftnodes.io/rpc/optimism: chainId: rate limited

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