The Hard DataThe Hard DataCRYPTO RESEARCH
ChartsResearchAbout
Subscribe
Charts/Stablecoin Supply by Chain

What does stablecoin supply by chain show?

Quick answerUpdate due

As of 2026-07-18, Ethereum held $179.5B (54.2%) of $330.9B in Dune-tracked USD stablecoin balances, followed by Tron with $92.3B (27.9%).

Stablecoin Supply by Chain

As of 2026-07-18, Ethereum held $179.5B (54.2%) of $330.9B in Dune-tracked USD stablecoin balances, followed by Tron with $92.3B (27.9%).
Stablecoin Supply by Chain underlying data rows. Showing 7 rows.
ChainShare of tracked balancesTracked balanceLeading stablecoinLeading stablecoin shareTracked assetsAs of
Ethereum54.2%$179.49BUSDT55.6%74Jul 18, 2026
Tron27.9%$92.32BUSDT98.4%6Jul 18, 2026
Solana4.9%$16.15BUSDC45.1%30Jul 18, 2026
BNB4.2%$13.81BUSDT66.5%33Jul 18, 2026
HyperEVM1.8%$5.86BUSDC96.9%10Jul 18, 2026
Arbitrum1.4%$4.74BUSDC55.4%24Jul 18, 2026
Other chains5.6%$18.56BOther assets41.7%77Jul 18, 2026
Source: Dune · as of 2026-07-18 · theharddata.xyz
Last checked: Jul 26, 2026

About the data

What is counted

This chart groups Dune stablecoin balance rows by blockchain and asset bucket for the displayed snapshot date. Other chains is an aggregated long-tail bucket, not one blockchain.

Coverage and comparison

Snapshot through Jul 18, 2026. 6 ranked chain groups represent $330.9B in tracked balances.

What this does not show

Stablecoin supply by chain is balance-stock evidence, not proof of usage, liquidity, demand, reserves, or bridge flow.

Common questions

Which chain holds the most stablecoin supply?

As of 2026-07-18, Ethereum is the largest chain in this Dune snapshot, with 54.2% of tracked USD stablecoin balances. Other chains is a grouped long-tail bucket, not one blockchain.

Why is Tron's stablecoin balance almost all USDT?

Within this source and date, USDT accounts for 98.4% of Tron's tracked stablecoin balance. The chart shows the asset mix; it does not explain the user, venue, issuer, or bridge reasons behind that mix.

Is stablecoin supply by chain the same as market cap or usage?

No. This page uses Dune balance rows by chain; use separate market-cap, activity, liquidity, or flow data for those questions.

Sources & methodology

Provider, method, coverage, and verification details.

Source

Dune Analytics

Dune supplies the reviewed observations used here. This chart groups Dune stablecoin balance rows by blockchain and asset bucket for the displayed snapshot date. Other chains is an aggregated long-tail bucket, not one blockchain.

Cadence
weekly
Checked
Jul 26, 2026

Source and coverage

The published dataset spans Jul 18, 2026. Its rows represent single-date chain asset snapshot. This is a dated chart input rather than a live market feed.

Method

Rows come from Dune stablecoins_multichain.balances on the displayed snapshot date, filtered to USD stablecoins and summed by blockchain and asset bucket. Chain totals use the same in-scope denominator for that date.

Limits

Stablecoin supply by chain is balance-stock evidence, not proof of usage, liquidity, demand, reserves, or bridge flow. Do not read this chart as proof of liquidity, demand, solvency, peg safety, or future market direction unless those claims are explicitly measured.

View SQL
Source query
with latest as (
  select date '2026-06-25' as as_of
), usd_universe as (
  select distinct symbol as token_symbol
  from stablecoins_multichain.tokens
  where currency = 'USD'
), by_chain_asset as (
  select
    l.as_of,
    b.blockchain as chain,
    b.token_symbol as asset,
    sum(b.balance_usd) as supply_usd
  from stablecoins_multichain.balances b
  join latest l on b.day = l.as_of
  join usd_universe u on b.token_symbol = u.token_symbol
  where b.balance > 0
  group by 1, 2, 3
), chain_totals as (
  select
    as_of,
    chain,
    sum(supply_usd) as supply_usd,
    count(*) as asset_count
  from by_chain_asset
  group by 1, 2
), market_totals as (
  select
    as_of,
    sum(supply_usd) as total_tracked_balances_usd,
    count(distinct chain) as denominator_chain_count,
    count(distinct asset) as denominator_asset_count
  from by_chain_asset
  group by 1
), ranked_chains as (
  select
    c.as_of,
    c.chain,
    c.supply_usd,
    c.asset_count,
    m.total_tracked_balances_usd,
    m.denominator_chain_count,
    m.denominator_asset_count,
    row_number() over (partition by c.as_of order by c.supply_usd desc, c.chain asc) as rank
  from chain_totals c
  join market_totals m on c.as_of = m.as_of
), labeled_assets as (
  select
    a.as_of,
    case when r.rank <= 6 then a.chain else 'Other chains' end as chain,
    case
      when a.asset in ('USDT', 'USDC', 'USDS', 'USDe', 'DAI', 'USD1') then a.asset
      else 'Other assets'
    end as asset_bucket,
    sum(a.supply_usd) as supply_usd,
    max(r.total_tracked_balances_usd) as total_tracked_balances_usd,
    max(r.denominator_chain_count) as denominator_chain_count,
    max(r.denominator_asset_count) as denominator_asset_count,
    min(case when r.rank <= 6 then r.rank else 999 end) as display_order,
    count(distinct a.chain) as chain_count_in_bucket,
    count(distinct a.asset) as asset_count_in_bucket
  from by_chain_asset a
  join ranked_chains r on a.as_of = r.as_of and a.chain = r.chain
  group by 1, 2, 3
), stack_rows as (
  select
    *,
    supply_usd / nullif(sum(supply_usd) over (partition by as_of, chain), 0) * 100 as chain_asset_share_percent,
    sum(supply_usd) over (partition by as_of, chain) / nullif(total_tracked_balances_usd, 0) * 100 as chain_market_share_percent
  from labeled_assets
), dominant_asset as (
  select
    as_of,
    chain,
    asset_bucket as dominant_asset,
    supply_usd as dominant_asset_supply_usd,
    chain_asset_share_percent as dominant_asset_share_percent
  from (
    select
      *,
      row_number() over (
        partition by as_of, chain
        order by supply_usd desc, asset_bucket asc
      ) as segment_rank
    from stack_rows
  )
  where segment_rank = 1
), final_rows as (
  select
    s.as_of,
    s.chain,
    s.asset_bucket as asset,
    s.asset_bucket,
    s.supply_usd,
    s.chain_asset_share_percent,
    s.chain_market_share_percent,
    s.total_tracked_balances_usd,
    s.denominator_chain_count,
    s.denominator_asset_count,
    s.display_order,
    s.chain_count_in_bucket,
    s.asset_count_in_bucket,
    d.dominant_asset,
    d.dominant_asset_supply_usd,
    d.dominant_asset_share_percent,
    concat(
      d.dominant_asset,
      ' at ',
      format('%.1f', d.dominant_asset_share_percent),
      '% of chain balances'
    ) as dominant_asset_context
  from stack_rows s
  join dominant_asset d on s.as_of = d.as_of and s.chain = d.chain
)
select
  as_of,
  chain,
  asset,
  asset_bucket,
  supply_usd,
  chain_asset_share_percent,
  chain_market_share_percent,
  total_tracked_balances_usd,
  denominator_chain_count,
  denominator_asset_count,
  display_order,
  chain_count_in_bucket,
  asset_count_in_bucket,
  dominant_asset,
  dominant_asset_supply_usd,
  dominant_asset_share_percent,
  dominant_asset_context
from final_rows
order by
  display_order,
  case asset_bucket
    when 'USDT' then 1
    when 'USDC' then 2
    when 'USDS' then 3
    when 'USDe' then 4
    when 'DAI' then 5
    when 'USD1' then 6
    else 99
  end,
  supply_usd desc

Related questions

Explore adjacent questions on live production chart pages.

Stablecoin Supply Concentration by AssetAsset-level concentration of Dune-tracked USD stablecoin balances.Stablecoin Supply: Total Tracked BalancesDune-tracked USD stablecoin balances over time, shown as supply stock rather than market cap, usage, demand, or liquidity.
The Hard DataThe Hard Data

Each chart page should stand on its own: one evidence object, one reading path, and enough method to check the claim.

Research

ResearchChartsMethod

Desk

AboutContactPrivacy

The Hard Data publishes research context and chart evidence for informational use only. It does not provide investment advice, trading signals, or paid market promotion.

CHART PAGE // source-visible artifact and method attached.
Source = DuneData through = Jul 18, 2026Last checked = Jul 26, 2026