What are request units?

Request unit (RU) is a metric that measures the size and complexity of request processing for Chainstack request‑based services.

Why request units are used for pricing?

In the Web3 ecosystem, certain requests can require more extensive data processing or involve complex computations and higher spending of resources. Such requests consume more RUs. This aligns pricing with actual resource consumption. See current service pricing on the pricing page.

Base rules

  • Full node request: 1 RU
  • Archive node request: 2 RUs
These rules apply consistently unless noted below for specific protocols.

EVM protocols

  • Full node calls against the latest state: 1 RU.
  • Archive state requests (historical state at a past block): 2 RUs.
  • Debug and trace APIs: 2 RUs per call (require archive state).
Examples of archive‑state usage on EVMs:
  • debug_* and trace_* methods, including debug_traceTransaction, debug_traceBlockByNumber, and trace_block.
  • State at historical blocks (for example, eth_getStorageAt or eth_getProof when querying past blocks).
For debug and trace capabilities by protocol, see debug & trace APIs.

Solana

  • A Solana full node keeps about 1.5 days of full block data. Requests within that horizon are consumed as 1 RU.
  • Anything beyond that horizon is an archive call and is consumed as 2 RUs.
  • Only specific Solana methods can fetch archive data. See the list under Solana archive methods availability.

TON

There is no difference between full and archive requests. All data is always available, and every request is consumed as 1 RU.

All other protocols

  • Full node request: 1 RU
  • Archive request: 2 RUs