At 0xArc, we have to have every bit of information, on each chain, at each time limit (previous, current and to-be-future). In consequence, our information warehouses are lots of of terabytes in measurement. To get this information we’ve made billions of RPC calls and proceed to make lots of of thousands and thousands per thirty days throughout many blockchain networks. Sadly, we discovered, on common, RPC calls to nodes work roughly ~80% of the time relying on situations 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 discuss numbers it’s necessary to know how the node business works in crypto so we will 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 operating a node is advanced and requires experience. Due to this fact we delegate this duty to a node supplier. This diagram relies on how the industrial node business works in 2024 in crypto.
At a excessive stage, you may have full or archive nodes which can be run on a selected sort of node implementation (geth/reth/erigon). These nodes are hosted by a supplier equivalent to Alchemy or Quicknode for each blockchain community they help. You because the RPC shopper entry all of this on the finish of the road.
Whenever you deconstruct this chain of logic, you may have 4 major dimensions that can significantly impression efficiency:
-
The chain you’re making RPC requests to: every chain’s community of nodes behave in another way and have differing exercise ranges.
-
The tactic you’re calling: this can rely when you’re making full or archive node calls and the node shopper implementation.
-
The supplier that you simply’re utilizing: the entity that hosts the nodes so that you can entry.
-
Whenever you name the node: node efficiency varies throughout the entire above dimensions over time, it’s not fixed.
With the ability to instrument and perceive this information might be very difficult. Nevertheless, at 0xArc that is our job as we make billions of RPC calls and punctiliously monitor the efficiency of every part 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 members. Right here is the context of the information we’ll taking a look at on this article:
As a way to correctly perceive what’s occurring 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 cases of how efficiency can fluctuate throughout every of those dimensions in an unpredictable means.
Suppose you’re constructing a cross-chain software that depends on interfacing with numerous networks. Your node’s efficiency will fluctuate considerably based mostly on the chain you’re calling and the time you’re calling it.
This primary graph is displaying what the typical success charge for every chain per day was aggregated throughout all suppliers and strategies. As you’ll be able to see from the chart beneath, the typical success charge you get from chains varies considerably nearly each month. We’re undecided why this can be the case however we will see that Polygon calls had been profitable on common 60% of the time in August however then have spiked as much as 80%+ in more moderen weeks.
A key caveat of this information when evaluating it’s not: “Polygon is a nasty 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 information modifications considerably.

This is similar chart however for a 17 day interval and filtered by a single supplier. As you’ll be able to see the graph is quite a bit smoother and varies from the general mixture.

If we see a single supplier doing properly, what stops us from doubling down on them on a regular basis? The subsequent part addresses that query with extra nuance.
This subsequent graph I simplified as a result of I needed 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’ll be able to see from the chart beneath, the orange supplier is without doubt one of the most dependable relative to the others and the distinction is kind of staggering!
As soon as once more, the plain may simply be “use orange supplier” as a result of it performs properly. 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’ll be able to see for nearly one month, archive nodes carried out terribly on what was meant to be “the most effective supplier” in our above instance.
So if we’re after the most effective efficiency for sure strategies, we have to look nearer.
Our ultimate chart beneath exhibits how success throughout numerous strategies modifications significantly month-to-month. Relying on when you’re making calls to full nodes versus archive nodes, your efficiency will fluctuate considerably. We noticed this briefly in an remoted instance with the only supplier on a series above, however now we’ve a extra zoomed out view.
If we common out this information, we get the beneath breakdown of common success charge per methodology with the accompanying areas chart displaying a breakdown of archive versus non-archive node calls. Whenever you put it like this, you realise simply how unreliable nodes might be if you’re wanting throughout many dimensions. Many instances, node suppliers use shiny advertising 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 simplest ways to pick out a node? One line of argument to this complexity could also be to simply use the orange supplier in our above instance, nevertheless when their methods begin failing and experiencing massive drop offs, your downstream methods will fail due to them.
One strategy 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 information on how all these routes carry out in a dynamic, clever means — moderately 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 methodology foundation. These variations be be as a lot as 10 instances the fee per methodology/chain. All of the sudden 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. Nearly no supplier is pure utilization based mostly which suggests you’re pressured to take a guess on a single one — with none information! What’s a “easy service” on the outset, really has nice variance in efficiency when inspected intently.
In the event you’re paying for RPCs or excited about your infrastructure’s reliability, let’s discover maximize efficiency throughout chains and suppliers. Attain out to talk about our findings or to see how we may help.
-
At the moment 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
-
Desirous about signing as much as a RPC service and would love some recommendation
Attain out to me instantly from this e-mail or by emailing me at okay@0xarc.io so we will setup a while to talk.