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
| Endpoint | Latency | Behind best | eth_getLogs | State |
|---|---|---|---|---|
| https://api-optimism-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c | 61 ms | 0 blocks | under 1,000 | none |
| https://rpc.swiftnodes.io/rpc/optimism (SwiftNodes, keyless: 2 req/s) | 8 ms | 5 blocks | under 1,000 | recent only |
| https://public-op-mainnet.fastnode.io | 22 ms | 229 blocks | 10,000+ | recent only |
| https://optimism-rpc.publicnode.com | 32 ms | 19 blocks | 1,000 | none |
| https://optimism-rpc.blockreq.com/v1/rpc/public | 35 ms | 15 blocks | 1,000 | recent only |
| https://op.api.pocket.network | 39 ms | 10 blocks | 10,000+ | archive (1M+) |
| https://mainnet.optimism.io | 45 ms | 19 blocks | 10,000+ | archive (1M+) |
| https://rpc-optimism.blockmachine.io | 57 ms | 8 blocks | under 1,000 | none |
| https://optimism-mainnet.gateway.tatum.io | 62 ms | 9 blocks | under 1,000 | none |
| https://optimism-public.nodies.app | 132 ms | 13 blocks | under 1,000 | archive (1M+) |
| https://api.zan.top/opt-mainnet | 175 ms | 12 blocks | under 1,000 | archive (1M+) |
| https://optimism.rpc.sentio.xyz | 193 ms | 9 blocks | under 1,000 | archive (1M+) |
| https://optimism.drpc.org | 379 ms | 12 blocks | under 1,000 | archive (1M+) |
| https://optimism.api.onfinality.io/public | 431 ms | 9 blocks | under 1,000 | archive (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 busyrpc.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 instepublic.1rpc.io/op: chainId: You've reached the usage limit for your current plan. To continue with higher limits and unoptimism.gateway.tenderly.co: chainId: rate limitedoptimism.public.blockpi.network/v1/rpc/public: no answer (HTTP 521)api.stateless.solutions/optimism/v1/demo: chainId: fetch failedrpc.buildbear.io/esquivelfabian: no answer (HTTP 403)rpc.owlracle.info/opt/70d38ce1826c4a60bb2a8e05a6c8b20f: no answer (HTTP 401)lb.routeme.sh/rpc/evm/10: chainId: rate limitedrpc.nodeflare.app/op/public: chainId: rate limitedgateway.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.