Every balance you see in nimimo comes from an RPC provider. If it is slow, the wallet feels slow. If it rate-limits us, balances fail to load for everyone at once. It is the least visible dependency in the product and one of the least forgiving.
In August we added SolidRPC to the read path for Ethereum and Base, and pointed a benchmark at it first. These are the numbers it came back with.
Zero errors in 3,650 requests
Across the benchmark run, 3,650 requests went to SolidRPC. Zero errors. Zero rate-limit responses. Not one refusal and not one throttle, across every method and every step of the load ramp.
Reliability is the one thing we cannot paper over. A failed call during a balance refresh is a person staring at a spinner, and there is nothing to engineer around that.
26 to 40 milliseconds from Frankfurt
Measured server side from Frankfurt, SolidRPC answers in 26 to 40 milliseconds on Ethereum and 26 to 48 on Base, median over 25 samples.
3,650 requests. Zero errors. Zero throttles. 26 to 40 milliseconds on Ethereum, server side.
It did not move under load
We ramped throughput in ten-second steps on both Ethereum and Base, from 20 requests per second to 50, then to 100. These runs went out from a host in the United States, so every median below carries a transatlantic round trip on top of the figures above. What matters in this table is not the number, it is that the number does not move.
chain target achieved ok errors median
ethereum 20 rps 19.6 198 0 165ms
ethereum 50 rps 48.8 495 0 163ms
ethereum 100 rps 96.8 984 0 158ms
base 20 rps 19.5 198 0 158ms
base 50 rps 48.5 492 0 160ms
base 100 rps 96.2 977 0 158msFive times the load, and the median held inside a seven millisecond spread across the entire ramp. It improved slightly at the top, as connections warmed.
The flattening near 97 requests per second is our own test script pacing itself, not the provider pushing back.
Always current
Speed is worthless if the data is stale, so we probed chain head. On Ethereum SolidRPC returned block 25,868,692, the head at that moment. On Base it was current too. Nothing stale, on either chain.
How it runs for us
Authentication is a bearer header, so no key ever appears in a URL or in a log. Two endpoints, one credential, and nothing else to wire up.
It has been in nimimo's Ethereum and Base read path since August. If you are choosing an RPC provider, these are numbers worth putting next to whatever you are running today.
