Skip to main content
ReserveBeat

← All posts

How can I track stablecoin supply on-chain? Storage proof or eth_call

ReserveBeat reads each tracked stablecoin's on-chain supply at finalized Ethereum blocks. Six of seven carry the STORAGE-PROVEN tier: the supply slot is proven with eth_getProof and checked locally. RLUSD carries QUORUM ETH-CALL, because its supply has no single discoverable slot. The tier describes how supply was read; it is not a solvency judgment.

By ReserveBeat

Every on-chain supply figure on the coverage board carries a source tier, a label for how the number was read. Two tiers are in use today. Six of the seven tracked tokens read at the stronger one, STORAGE-PROVEN. RLUSD reads at QUORUM ETH-CALL. This note explains what separates them and why RLUSD sits where it does. The tier is about the reading, not the issuer. Nothing here is a judgment of any issuer's solvency.

Two ways to read totalSupply()

Supply is read at finalized Ethereum blocks through a quorum of independent RPC providers, and every provider must return the same bytes. If they disagree, nothing is published from that read.

STORAGE-PROVEN. The token contract's total-supply storage slot is read with eth_getProof[1]. The proof is verified locally against the block's state root, so the value does not rest on any provider's word. A slot is pinned only after a probe finds exactly one slot equal to totalSupply(), and that equality is checked again on every snapshot.

QUORUM ETH-CALL. The contract's own totalSupply() answer at the same finalized block, agreed byte for byte across the quorum. There is no proof, because there is no pinned slot to prove. The figure rests on the providers agreeing, and the label says so.

Why RLUSD has no slot to prove

RLUSD keeps its supply in ERC-7201 namespaced storage[2], a layout that places a contract's variables at a hashed location instead of in the low-numbered slots. ReserveBeat's slot probe checked slots 0 to 200 and found no slot equal to totalSupply(). With no slot found, none is pinned, and none is guessed. RLUSD's supply is therefore read at the QUORUM ETH-CALL tier and labelled that way everywhere it appears. A slot is never invented to lift a token to the higher tier.

The tiers today

TokenOn-chain supply tier
PYUSDSTORAGE-PROVEN
RLUSDQUORUM ETH-CALL
USD1STORAGE-PROVEN
USDCSTORAGE-PROVEN
USDGSTORAGE-PROVEN
USDTSTORAGE-PROVEN
USDtbSTORAGE-PROVEN

Each token's page shows the tier beside its supply figure, for example RLUSD and USDC.

Reading the tier from the API

The keyless API carries the same label, so a program can make the same distinction a reader does. GET /v1/board/coverage returns each token's latest_snapshot_tier, either STORAGE_PROVEN or ETH_CALL. GET /v1/board/tokens/RLUSD returns the supply series with a source_tier on every point. A client that wants only proven supply can filter on that field rather than on a list of token names, so it stays correct if a token's tier ever changes.

What the tier does not cover

The tier describes the on-chain supply reading only. Reserve figures come from each issuer's published report and carry their own tier, the issuer's attestation. A coverage ratio divides only figures from the same report, so on-chain supply never enters one. The methodology and the longer methodology walk-through cover the rest of the measurement.

Get alerted when RLUSD's next attestation drops

Double opt-in: an address becomes active only after a confirmation click, every email includes a one-click unsubscribe link, and the address is used for these attestation alerts only — never shared.

See how every figure is sourced

Last updated: Timestamps reflect the underlying data — when a figure was captured or a report was published — never when a page was built.

Frequently asked questions

What does QUORUM ETH-CALL mean?

The figure is the token contract's own totalSupply() answer at a finalized block, and every provider in the quorum returned the same bytes. No storage proof backs it, because there is no single known storage slot to prove. The tier is printed beside the figure.

Why can't RLUSD's supply be storage-proven?

A storage proof needs the slot that holds the total supply. ReserveBeat pins a slot only after a probe finds exactly one slot equal to totalSupply(). RLUSD keeps its supply in ERC-7201 namespaced storage, and the probe over slots 0 to 200 found no match, so no slot is pinned and none is guessed.

Does the tier say anything about RLUSD's reserves?

No. The tier describes how ReserveBeat read the token's on-chain supply. RLUSD's reserve figures come from its issuer's published reports, and on-chain supply never enters a coverage ratio.