What counts as a CU

Learn what Compute Units (CUs) are and how GetBlock calculates them to track and price API calls

In our Shared Node plans, we use CU-based pricing. CUs, Compute Units, is a way to measure the computational resources that each API request consumes.

Request vs CU

Requests are the raw number of calls (e.g., an RPC method call) you make to the node, while Compute Units show how much computing power each call uses.

Instead of charging a fixed fee for every call, GetBlock calculates the “cost” of processing a request based on the actual computational work involved – such as CPU & memory usage, and disk I/O.

Here's how it works:

  • Different shared node plans include different allocations of Compute Units (CUs).

  • Each API call deducts an amount based on the resources it consumes.

  • Users can track their remaining CUs in real time on the dashboard.

How to check your CU balance in GetBlock accounts

This model ensures costs are aligned with actual infrastructure usage.

Learn More


How CUs are calculated

Every API call "spends" a number of Compute Units. The total value is determined by two main factors:

  1. A base CU cost (chain multiplier) reflecting the network's resource intensity.

  2. A method-specific multiplier which varies by API method.

The total Compute Units for an API call are calculated using the following formula:

Total CU=Chain Multiplier×Method Multiplier\text{Total CU} = \text{Chain Multiplier} \times \text{Method Multiplier}

1. Chain-based multipliers

Not all blockchains are built or operate the same way. GetBlock accounts for inherent differences between networks by assigning chain multipliers based on factors such as:

  • Node infrastructure costs;

  • Protocol complexity and the size of the blockchain data;

  • Operational overhead.

Here’s how blockchains are grouped based on their average resource intensity:

Chains
Multiplier
Explanation

Algorand, Bitcoin, Bitcoin Cash, Dash, Dogecoin, Ethereum Classic, Kusama, Litecoin, Near, OKB, Polkadot, RSK, Scroll, Shiba Inu, Sonic, Syscoin, Telos, Zcash, others

10

These chains typically have low write/read complexity and use fewer resources per request

Aptos, Arbitrum, Avalanche, BNB Smart Chain, Base, Blast, Cardano, Cosmos, Cronos, Ethereum, Filecoin, Flow, Gnosis, Harmony, Kaia, Linea, Moonbeam, OKT, Optimism, Polygon, Polygon zkEVM, StarkNet, Tezos, Tron, XRP, opBNB, zkCronos, zkSync

20

Requests on these blockchains are more resource-intensive

Solana, Sui, TON

50

These chains require significantly more computational resources per request


2. Method-specific multipliers

Different API methods put different loads on backend nodes. For example:

  • eth_blockNumber is lightweight since it just returns the latest block number.

  • trace_replayBlockTransactions executes a full replay of all txs in a block and can be extremely heavy.

Therefore, individual blockchain methods have their own multipliers, depending on how computationally demanding each particular operation is.

The example table below shows some Ethereum blockchain methods with their associated multipliers and total CU calculated.

Ethereum RPC Method
Method Multiplier
Base Chain Multiplier
Total CU

eth_blockNumber

1

20

20

eth_getTransactionByHash

1

20

20

debug_traceTransaction

2

20

40

debug_traceBlock

2

20

40

trace_call

2

20

40

trace_transaction

2

20

40

txpool_status

2

20

40

trace_replayTransaction

4

20

80

Some "heavy" calls (e.g. archive calls) may have special adjustments or additional weighting to more accurately reflect their extra computational demands

Calculation example for debug_traceTransaction: 20 (Ethereum base multiplier)×2 (method multiplier)=40 CU20\ (\text{Ethereum base multiplier}) \times 2\ (\text{method multiplier}) = \mathbf{40\ CU}

For full details on all methods—including exact multipliers and total CU values for each protocol—please refer to our Compute Units page.


Why we use the CU system at GetBlock?

🛡️ It helps keep infrastructure stable

Tracking and pricing requests based on how “heavy” they are:

  • Discourages abuse (like hammering archive calls) and protects node performance & uptime.

  • Makes it easier for GetBlock to scale and optimize resources behind the scenes.

💰 Compute Units provide a fair, usage-based billing model

A simple per-request pricing model would charge the same for all methods, which isn’t scalable or logical. The CU model fixes this imbalance.

⚙️ To help developers build smarter

Because each API call has a clear CU cost, you can spot inefficiencies quickly (e.g. which parts of your dApp consume the most), making it easier to fine-tune performance.

Last updated