Sonic public RPC endpoints, tested
Every keyless Sonic (chain ID 146) endpoint listed on Chainlist and chainid.network, tested the same way on 2026-10-11: 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. 10 of 15 HTTP endpoints were working.
Working HTTP endpoints
| Endpoint | Latency | Behind best | eth_getLogs | State |
|---|---|---|---|---|
| https://lb.routeme.sh/rpc/evm/146 | 60 ms | 0 blocks | under 1,000 | none |
| https://sonic-rpc.publicnode.com | 18 ms | 11 blocks | 10,000+ | archive (1M+) |
| https://sonic.drpc.org | 21 ms | 11 blocks | under 1,000 | archive (1M+) |
| https://sonic-mainnet.gateway.tatum.io | 25 ms | 8 blocks | under 1,000 | none |
| https://sonic-json-rpc.stakely.io | 29 ms | 12 blocks | under 1,000 | archive (1M+) |
| https://sonic-rpc.blockreq.com/v1/rpc/public | 36 ms | 11 blocks | 1,000 | recent only |
| https://rpc.swiftnodes.io/rpc/sonic (SwiftNodes, keyless: 2 req/s) | 43 ms | 10 blocks | 10,000+ | archive (1M+) |
| https://sonic.api.pocket.network | 44 ms | 9 blocks | 10,000+ | archive (1M+) |
| https://rpc.soniclabs.com | 64 ms | 12 blocks | 10,000+ | archive (1M+) |
| https://sonic-mainnet.rpc.sentio.xyz | 167 ms | 8 blocks | 10,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
sonic.drpc.org: first head after 758 ms - streams
sonic-rpc.publicnode.com: first head after 2050 ms - does not stream
sonic.callstaticrpc.com: connection failed (connect) - does not stream
rpc.swiftnodes.io/ws/sonic(SwiftNodes): subscribe rejected: WebSocket subscriptions require an API key. Get a free key at https://swiftnodes
Listed but not working
rpc.ankr.com/sonic_mainnet: chainId: message: API key is not allowed to access blockchain, json-rpc code: -32052, rest code: 403sonic.therpc.io: chainId: fetch failedrpc.nodeflare.app/sonic/public: chainId: rate limitedsonic.api.onfinality.io/public: eth_blockNumber failedapi-sonic-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c: eth_blockNumber failed
Test any endpoint yourself with the RPC tester. Our Sonic endpoint, limits and status: Sonic RPC, uptime history.