At 0xArc, we have to have each piece of information, on each chain, at each time limit (previous, current and to-be-future). Because of this, our knowledge warehouses are tons of of terabytes in measurement. To get this knowledge we’ve made billions of RPC calls and proceed to make tons of of tens of millions per 30 days throughout many blockchain networks. Sadly, we discovered, on common, RPC calls to nodes work roughly ~80% of the time relying on circumstances with 10x variances in pricing! This text shares a few of our findings and can hopefully be helpful to the remainder of the group.
Earlier than we speak about numbers it’s vital to know how the node trade works in crypto so we are able to correctly perceive what we’re discussing. Whereas it’d be nice if everybody ran their very own nodes and we adopted excellent rules of decentralisation, the fact is that working a node is complicated and requires experience. Subsequently we delegate this duty to a node supplier. This diagram relies on how the business node trade works in 2024 in crypto.
At a excessive degree, you have got full or archive nodes which might be run on a selected sort of node implementation (geth/reth/erigon). These nodes are hosted by a supplier comparable to Alchemy or Quicknode for each blockchain community they assist. You because the RPC shopper entry all of this on the finish of the road.
If you deconstruct this chain of logic, you have got 4 major dimensions that can vastly influence efficiency:
-
The chain you’re making RPC requests to: every chain’s community of nodes behave otherwise and have differing exercise ranges.
-
The tactic you’re calling: this may rely should you’re making full or archive node calls and the node consumer implementation.
-
The supplier that you simply’re utilizing: the entity that hosts the nodes so that you can entry.
-
If you name the node: node efficiency varies throughout the entire above dimensions over time, it isn’t fixed.
With the ability to instrument and perceive this knowledge may be very difficult. Nevertheless, at 0xArc that is our job as we make billions of RPC calls and punctiliously monitor the efficiency of all the pieces we contact. Efficiency, reliability and price are paramount to us. We all know when a series is down or when a RPC supplier is down earlier than most market contributors. Right here is the context of the info we’ll taking a look at on this article:
With the intention to correctly perceive what’s taking place with over 1b+ rows of information, we’re going to must slice and cube it throughout many dimensions. Fortunately, we all know what these are via the factors I made above.
The remainder of the article will present distinctive situations of how efficiency can range throughout every of those dimensions in an unpredictable approach.
Suppose you’re constructing a cross-chain software that depends on interfacing with numerous networks. Your node’s efficiency will range considerably primarily based on the chain you’re calling and the time you’re calling it.
This primary graph is exhibiting what the typical success charge for every chain per day was aggregated throughout all suppliers and strategies. As you possibly can see from the chart under, the typical success charge you get from chains varies considerably nearly each month. We’re undecided why this can be the case however we are able to see that Polygon calls had been profitable on common 60% of the time in August however then have spiked as much as 80%+ in newer weeks.
A key caveat of this knowledge when evaluating it isn’t: “Polygon is a foul chain and RPC calls solely succeed 70% of the time on common”. That is the blended common success charge throughout all chains, all suppliers, all strategies over a ~2.5 month interval. As we dig into any of those dimensions the info modifications considerably.

This is similar chart however for a 17 day interval and filtered by a single supplier. As you possibly can see the graph is loads smoother and varies from the general mixture.

If we see a single supplier doing nicely, what stops us from doubling down on them on a regular basis? The following part addresses that query with extra nuance.
This subsequent graph I simplified as a result of I wished to keep away from having too many strains. Every of those represents a serious RPC supplier community and their success charge aggregated throughout all chains and strategies. As you possibly can see from the chart under, the orange supplier is among the most dependable relative to the others and the distinction is kind of staggering!
As soon as once more, the apparent would possibly simply be “use orange supplier” as a result of it performs nicely. Sadly, that doesn’t actually work both. After we take a look at orange supplier’s efficiency for simply Ethereum, the archive node strategies can have dramatic drops in efficiency. As you possibly can see for nearly one month, archive nodes carried out terribly on what was meant to be “the perfect supplier” in our above instance.
So if we’re after the perfect efficiency for sure strategies, we have to look nearer.
Our closing chart under reveals how success throughout numerous strategies modifications significantly month-to-month. Relying on should you’re making calls to full nodes versus archive nodes, your efficiency will range considerably. We noticed this briefly in an remoted instance with the only supplier on a series above, however now now we have a extra zoomed out view.
If we common out this knowledge, we get the under breakdown of common success charge per technique with the accompanying areas chart exhibiting a breakdown of archive versus non-archive node calls. If you put it like this, you realise simply how unreliable nodes may be while you’re trying throughout many dimensions. Many occasions, node suppliers use shiny advertising and marketing numbers on restricted time frames to market their efficiency. It isn’t till you hammer them at scale do you see the actual metrics.
So what’s one of the best ways to pick a node? One line of argument to this complexity could also be to only use the orange supplier in our above instance, nonetheless when their programs begin failing and experiencing massive drop offs, your downstream programs will fail due to them.
One technique to keep away from that is by having fall-back suppliers in your system. Nevertheless, these fall-back suppliers require guide upkeep and add to latency via sub-optimal routing. Ideally you wish to have knowledge on how all these routes carry out in a dynamic, clever approach — quite than static if/else clauses in your code base.
To make issues much more difficult, pricing for each supplier modifications on a per chain and technique foundation. These variations be be as a lot as 10 occasions the price per technique/chain. Out of the blue a 10-20% distinction in efficiency finally ends up costing you much more! Every supplier desires to lock you right into a yearly plan or a month-to-month quota which has further prices. Virtually no supplier is pure utilization primarily based which implies you’re compelled to take a wager on a single one — with none knowledge! What’s a “easy service” on the outset, truly has nice variance in efficiency when inspected intently.
When you’re paying for RPCs or fascinated by your infrastructure’s reliability, let’s discover maximize efficiency throughout chains and suppliers. Attain out to speak about our findings or to see how we may also help.
-
Presently paying for RPCs and wish to study extra about enhance your reliability
-
Are a RPC supplier and wish to understand how your nodes carry out
-
Excited about signing as much as a RPC service and would really like some recommendation
Attain out to me straight from this e mail or by emailing me at k@0xarc.io so we are able to setup a while to speak.