Skip to main content
The stablecoins.core.supply_daily table gives a daily snapshot of total supply for every tracked stablecoin deployment, alongside two circulating supply figures with different levels of adjustment, and registry metadata (issuer, peg mechanism, stablecoin type) joined in. Unique Key: date, chain, token_address

Table Columns

Sample Query

Compare an issuer’s reported-style circulating supply against Allium’s adjusted circulating supply for a single product

Why adjusted_circulating_supply differs from other providers

Most third-party aggregators (issuer transparency pages, DeFiLlama, CoinGecko) publish a single “circulating supply” figure that is calculated as:
Allium calculates that same figure as circulating_supply, and it should reconcile with those sources within a few percent. adjusted_circulating_supply is a second, more conservative figure that most providers don’t compute at all: it removes an additional layer of supply that is technically outstanding (it still counts toward total_supply) but is economically inert — locked away where it cannot trade or move without first passing through another contract.
Because this extra layer isn’t subtracted by most other sources, Allium’s adjusted_circulating_supply is expected to run lower than the “circulating supply” reported elsewhere for the same token. That is by design, not a data quality issue.

The two exclusion layers

The non-issuer-basis layer covers supply that is still sitting in the totalSupply() count, but isn’t free-floating:
  • Bridge escrows — when a stablecoin is bridged with a lock-and-mint design, the locked tokens on the source chain back a wrapped copy on the destination chain. They can’t move again until the wrapped copy is burned, so they aren’t part of the tradeable float.
  • Stablecoin/protocol collateral — tokens locked inside another stablecoin’s minting contract (e.g. USDC backing USDe) or a DeFi protocol’s treasury/reserve. These are committed to backing something else, not available to trade.
  • Savings-vault deposits — the underlying token held inside a yield-bearing wrapper for that same token (e.g. USDS inside sUSDS). The vault is a large holder, not an end user.
  • Frozen / banned addresses — balances the issuer has blacklisted. Still counted in totalSupply(), but permanently inaccessible.
stablecoins.core.supply_daily surfaces only the two final supply figures (circulating_supply and adjusted_circulating_supply) — it does not expose a separate exclusion-amount or per-address breakdown column. None of the excluded supply is “missing” — it all still exists on-chain and is included in total_supply. Allium just separates out the portion that is contractually or technically committed elsewhere, to answer a different question than “what has been minted”: what supply is actually free to trade in markets right now?

When to use which column

  • Use circulating_supply when reconciling against an issuer’s published circulating supply, CoinGecko, or DeFiLlama’s default figure.
  • Use adjusted_circulating_supply when you need the real, tradeable float — for example, market-cap-to-float ratios, liquidity analysis, or any use case where bridge-locked or collateral-locked supply would overstate what’s actually available.
crosschain.stablecoin.supply_beta is deprecated in favor of stablecoins.core.supply_daily above. It was never documented on this site; it exposed total_supply/circulating_supply/non_circulating_supply (plus USD variants) at a date, chain, token_address grain, without the adjusted-circulating-supply methodology described above.