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
| Endpoint | Latency | Behind best | eth_getLogs | State |
|---|---|---|---|---|
| https://public-op-mainnet.fastnode.io | 41 ms | 2 blocks | 10,000+ | recent only |
| https://rpc-optimism.blockmachine.io | 74 ms | 0 blocks | 1,000 | archive (1M+) |
| https://op.api.pocket.network | 75 ms | 2 blocks | 10,000+ | archive (1M+) |
| https://rpc.nodeflare.app/op/public | 79 ms | 1 blocks | under 1,000 | recent only |
| https://optimism.rpc.sentio.xyz | 181 ms | 0 blocks | 10,000+ | archive (1M+) |
| https://optimism.api.onfinality.io/public | 305 ms | 2 blocks | under 1,000 | none |
| https://optimism-rpc.publicnode.com | 20 ms | 13 blocks | 1,000 | none |
| https://mainnet.optimism.io | 36 ms | 13 blocks | 10,000+ | archive (1M+) |
| https://optimism.drpc.org | 49 ms | 11 blocks | under 1,000 | archive (1M+) |
| https://optimism.public.blockpi.network/v1/rpc/public | 98 ms | 10 blocks | 1,000 | archive (1M+) |
| https://optimism-public.nodies.app | 136 ms | 10 blocks | under 1,000 | archive (1M+) |
| https://api.zan.top/opt-mainnet | 173 ms | 8 blocks | under 1,000 | archive (1M+) |
| https://xrpc.cl/optimism | 1135 ms | 9 blocks | 10,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 instepublic.1rpc.io/op: chainId: You've reached the usage limit for your current plan. To continue with higher limits and unrpc.optimism.gateway.fm: chainId: fetch failedoptimism.meowrpc.com: chainId: fetch failedoptimism.gateway.tenderly.co: chainId: rate limitedapi.stateless.solutions/optimism/v1/demo: chainId: fetch failedpublic.stackup.sh/api/v1/node/optimism-mainnet: chainId: fetch failedlb.routeme.sh/rpc/evm/10: chainId: rate limitedgo.getblock.io/e8a75f8dcf614861becfbcb185be6eb4: no answer (HTTP 401)opt-mainnet.4everland.org/v1/37fa9972c1b1cd5fab542c7bdd4cde2f: chainId: Invalid API Key.gateway.tenderly.co/public/optimism: chainId: rate limitedendpoints.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 failedoptimism-mainnet.gateway.tatum.io: chainId: timeoutop-rpc.keccak.io: chainId: auth error - api key required. This method needs an account — register free and get an APIapi-optimism-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c: eth_blockNumber failedrpc.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.