> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dune.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Stablecoin Balances (EVM)

> Daily stablecoin balances per address across 37 supported EVM chains

export const StablecoinBalancesSupplyNote = ({filterHint, includeCoverageGap = false, includeAddressCategoryBridge = false}) => <>
    <h2>Interpreting balances vs circulating supply</h2>
    <ul>
      <li>This table represents onchain balances, which is different from circulating supply.</li>
      <li>Bridge-locked funds are intentionally included in balances. For example, more than $4B USDT can appear in the Tether <code>USDT0Adapter</code> contract on Ethereum while representing circulating <code>USDT0</code> on other chains.</li>
      <li>We are not subtracting bridge balances at this stage because exclusions are not objective across bridge designs, and some bridge-held balances represent liquidity for chains not covered elsewhere.</li>
      {includeCoverageGap && <li>Excluding only selected bridges would also be incomplete in practice: some bridge-held balances represent liquidity for chains not covered elsewhere (for example Lighter and Hyperliquid bridge balances).</li>}
      {includeAddressCategoryBridge && <li>Bridge exposure is directly analyzable with <code>address_category = 'bridge'</code>.</li>}
      <li>{filterHint}</li>
      <li>We will continue to work toward a more reliable total supply measure.</li>
    </ul>
  </>;

export const TableSample = ({tableName, tableSchema}) => <>
    <div className="hidden dark:block">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}&darkMode=true`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
    <div className="dark:hidden">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
  </>;

export const PrepackagedEnrichedCtaCard = ({href, title = "Upgrade to the enriched dataset"}) => <Card title={title} icon="info" href={href}>
    Skip manual reconstruction. The enriched version packages attribution and methodology so you can move from raw data to insights faster.
  </Card>;

The `stablecoins_evm.balances` table contains daily stablecoin balances per address across 37 supported EVM chains.

One row represents one address-token balance snapshot for a specific day. Coverage is ERC20 stablecoin balances.

<PrepackagedEnrichedCtaCard href="/data-catalog/curated/stablecoins/balances-enriched/stablecoins-evm-balances-enriched" />

## Table schema

| Column           | Type        | Description               |
| ---------------- | ----------- | ------------------------- |
| `blockchain`     | `VARCHAR`   | Chain name                |
| `day`            | `DATE`      | Balance date              |
| `address`        | `VARBINARY` | Holder address            |
| `token_symbol`   | `VARCHAR`   | Token symbol              |
| `token_address`  | `VARBINARY` | Token contract address    |
| `token_standard` | `VARCHAR`   | Token standard (`erc20`)  |
| `token_id`       | `VARCHAR`   | Token id (typically NULL) |
| `balance_raw`    | `UINT256`   | Raw balance               |
| `balance`        | `DOUBLE`    | Decimals-adjusted balance |
| `balance_usd`    | `DOUBLE`    | USD value                 |
| `currency`       | `VARCHAR`   | ISO 4217 currency code    |
| `last_updated`   | `TIMESTAMP` | Last balance update time  |

<TableSample tableSchema="stablecoins_evm" tableName="balances" />

## Sample Queries

```sql theme={null}
SELECT
    b.blockchain
    , b.token_symbol
    , SUM(b.balance_usd) AS total_supply_usd
FROM stablecoins_evm.balances AS b
WHERE b.day = CURRENT_DATE
    AND b.balance > 0
GROUP BY b.blockchain, b.token_symbol
ORDER BY total_supply_usd DESC
```

## Notes

* Balances are forward-filled by day.
* For best performance, filter by `blockchain` and `day`.
* For multichain aggregate balances, see `stablecoins_multichain.balances`.

<StablecoinBalancesSupplyNote filterHint={<>If you want a circulating-supply-style view, filter out bridge-linked addresses using enriched labels (<code>stablecoins_evm.balances_enriched</code>).</>} />
