About the Showdown
Navigate to each result: Arbitrum One, Base, BSC, Ethereum, HyperEVM, Polkadot, Polygon, Tempo
Dwellir and Chainstack are amongst the leading infrastructure providers in web3. Both serve many protocols with support for JSON-RPC and WebSocket interfaces. Their entry level paid price-point is $49/mo which deliver comparable requests-per-second and cost per request.
We purchased our own paid accounts with Dwelllir and Chainstack for $49/mo to compare their global RPC performance using our own global RPC Inspector Pro (see its documentation).
This analysis is not sponsored. For additional information please contact Simon on LinkedIn.
All Runs
- From 31 global locations on 6 continents; all probes in AWS;
- HTTPS runs with throttling 1.1 sec start-to-start; 15 iterations; two requests per;
- WSS runs subscribe newHeads;
- Using our own RPC Inspector Pro.
Implementation
- 5 consecutive days: May 6 – May10 2026;
- 3 rounds per day for HTTPS;
- 3 rounds per day for WSS;
- Each round is Dwellir endpoint vs. Chainstack endpoint;
- All endpoints from the same account for the respective provider;
- Each round runs alone to minimize account requests-per-second.
Disclaimer
- Using a different subset of locations can result in different overall results / conclusion: e.g. you might not care about an entire continent group; use RPC Inspector Pro to conduct new analysis to match the locations (regions) best suited for your consumption patterns.
Methods
- EVM
- HTTPS JSON-RPC: eth_getBlockByNumber(latest, false) & eth_getLogs(hash from eth_getBlockByNumber);
- winner for each method is the lower-is-better p95 latency in milliseconds for the global rollup from 31 locations;
- WSS: eth_subscribe(newHeads);
- winner for each block-location (region) is the earlier arrival in that location;
- winner of the run is the higher total number of winners across all block-location combinations;
- In some cases, the providers can be “Tied” on block-location arrival.
- HTTPS JSON-RPC: eth_getBlockByNumber(latest, false) & eth_getLogs(hash from eth_getBlockByNumber);
- Polkadot
- HTTPS JSON-RPC: chain_getFinalizedHead & chain_getBlock(hash from chain_getFinalizedHead);
- winner for each method is the lower-is-better p95 latency in milliseconds for the global rollup from 31 locations;
- WSS chain_subscribeFinalizedHeads;
- winner for each block-location (region) is the earlier arrival in that location;
- winner of the run is the higher total number of winners across all block-location combinations;
- In some cases, the providers can be “Tied” on block-location arrival.
- HTTPS JSON-RPC: chain_getFinalizedHead & chain_getBlock(hash from chain_getFinalizedHead);
Overall Results
Dwellir vs. Chainstack on Arbitrum One Mainnet
- Chainstack scores a perfect win with 45 to 0 possible major performance metrics across the combined 30 runs for HTTPS and WSS;
- Both Dwellir and Chainstack had perfect 100% blockNumber consistency and 0 fails across 15 JSON-RPC runs; block availability dipped under 100% for both but only due to “empty” blocks;
- During the runs with WebSocket, we observed 1 timeout for Dwellir from São Paulo during warmup; while Chainstack had a total of 6 broken / premature connections out of the 465 (31 locations * 15 rounds).
You can access details for individual runs in the Date columns of this public google sheet.

Dwellir vs. Chainstack on Base Mainnet
- Dwellir wins by the narrowest of margin with 23 to 22 possible major performance metrics across the combined 30 runs for HTTPS and WSS;
- Dwellir leads in eth_getBlockByNumber(latest, false) and wins the entire WebSocket / newHeads while Chainstack wins the entire eth_getLogs(hash);
- On this network, both score perfect 100% in consistency and 100% in availability with just 1 timeout during warmup for Chainstack (in Stockholm!)
You can access details for individual runs in the Date columns of this public google sheet.

Dwellir vs. Chainstack on BSC Mainnet
- Chainstack wins 42 to 3 across JSON-RPC and WebSocket; but, we did observe 2 timeouts during JSON-RPC runs and in one round Chainstack’s eth_getLogs was missing ~3% of the blocks which were already announced by the same endpoint via eth_getBlockByNumber; hence a dip in block availability;
- Otherwise, both Chainstack and Dwellir delivered 100% blockNumber consistency and availability;
- Lastly, Dwellir had 4 timeouts in WebSocket and Chainstack “lost” 1 WebSocket.
You can access details for individual runs in the Date columns of this public google sheet.

Dwellir vs. Chainstack on Ethereum Mainnet
- Chainstack wins 43 of 45 possible major performance metrics across the combined 30 runs for HTTPS and WSS;
- Chainstack scores the perfect 100% for blockNumber consistency and blockAvailability while Dwellir had issues in both areas during multiple runs, albeit >90%;
- Chainstack recorded a few timeouts at 4,000 millis (enforced by our probes).
Btw, we used a screenshot below because WordPress tables are PITA. You can access details for individual runs in the Date columns of this public google sheet.

Dwellir vs. Chainstack on HyperEVM Mainnet
- Chainstack wins 35 to 10 and all JSON-RPC, very much due to Dwellir’s slower showing from Sydney and Melbourne which increased their p95;
- Dwellir did better than Chainstack on WebSocket newHeads propagation (not weighted into percentiles);
- Both achieved perfect 100% blockNumber consistency; block availability was mainly affected by empty blocks for both; and Dwellir did have 23 to 2 fails & timeouts;
- During the runs for WebSockets, we observed 4 problems for Chainstack and 1 for Dwellir (out of a total of 465 total connections for each).
You can access details for individual runs in the Date columns of this public google sheet.

Dwellir vs. Chainstack on Polkadot Mainnet
- Dwellir wins with 30 measures to Chainstack’s 15 by splitting the JSON-RPC and winning the entire WebSocket; Dwellir was strangely consistent in chain_getFinalizedHead too;
You can access details for individual runs in the Date columns of this public google sheet.

Dwellir vs. Chainstack on Polygon Mainnet
- Chainstack dominates JSON-RPC for the overall result of 29 to 16 while Dwellir’s was well ahead in WebSocket newHeads;
- Both achieved perfect 100% blockNumber consistency and 100% block availability; and Chainstack had 3 timeouts;
- Dwellir did win the entire WebSocket and did so with 115 connection problems, out of possible 465!
You can access details for individual runs in the Date columns of this public google sheet.

Dwellir vs. Chainstack on Tempo Mainnet
- Chainstack is ahead on 37 measures while Dwellir wins the other 8, all of which are via WebSocket;
- Both achieved perfect 100% blockNumber consistency; block availability was mainly affected by empty blocks for both; no errors / fails for either;
- Although Chainstack did win 7 runs for WebSocket, we observed many long lags in Bangkok, Seoul, Kuala Lumpur etc.
You can access details for individual runs in the Date columns of this public google sheet.

