Stablecoin Balances Enriched (EVM) - Dune Docs

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

The stablecoins_evm.balances_enriched table extends EVM stablecoin balances with address classification, entity tags, whale flags, and a circulating supply flag.

Why these enriched tables matter

Stablecoin analysis comes down to two fundamental questions:

  1. Where are stablecoins right now? (balances)
  2. How did they get there? (activity)

This balances-enriched table answers the first question by going beyond raw balances and adding attribution for where capital sits: CEX, lending, treasury, yield, bridge, whale concentration, and more.

Table schema

Column Type Description
blockchain VARCHAR Chain name
day DATE Balance date (partition column)
address VARBINARY Holder address
token_symbol VARCHAR Token symbol
token_address VARBINARY Token contract address
token_standard VARCHAR Token standard (erc20)
token_id VARCHAR Always NULL
balance_raw UINT256 Raw balance
balance DOUBLE Decimals-adjusted balance
balance_usd DOUBLE USD value
currency VARCHAR ISO 4217 code
address_category VARCHAR Address category (see below)
address_subcategory VARCHAR Address subcategory
address_project VARCHAR Project/entity name (nullable)
address_version VARCHAR Project version (nullable)
address_label VARCHAR Label value (nullable)
is_smart_contract BOOLEAN Contract flag
is_whale BOOLEAN Address holds >= $10M total stablecoins that day
is_circulating BOOLEAN true when the balance contributes to circulating supply. false for lock-and-mint / rollup-escrow / check-balance / non-minting bridge escrows, issuer bridge escrow, and CEX locked-token wallets (e.g., Binance Stablecoin Proof of Assets). Use WHERE is_circulating = true to compute circulating supply.
last_updated TIMESTAMP Last balance update time

Address categories

Every address receives exactly one address_category — no double counting is possible by construction. When an address matches a curated label, that label wins. Unlabeled addresses fall through: smart contract → unidentified_smart_contract, EOA with >= $10M → unidentified_whale, otherwise → unidentified. When an address appears in multiple label sets, a fixed priority order resolves the conflict (table is ordered by priority, highest first):

address_category Allowed address_subcategory values Description
erc20_contract erc20_contract Canonical stablecoin token contracts defining supply. Not deployed capital.
dex dex_liquidity, dex_execution Stablecoins in decentralized exchange pools and routing contracts.
lending lending_liquidity, lending_execution Stablecoins deployed as credit in lending protocols.
bridge bridge_liquidity Stablecoins escrowed or locked for cross-chain transfers.
yield yield_liquidity, yield_execution Stablecoins in strategy or wrapper contracts earning passive yield.
issuer issuer_operations, issuer_treasury Stablecoin monetary infrastructure — minting, redemption, peg management.
treasury_or_governance treasury, treasury_collector, governance Protocol-controlled capital for governance, reserves, or fees.
cex cex Known exchange-controlled wallets (hot and cold). Not user deposit addresses.
burn burn Irrecoverable token sinks (dead/burn addresses).
unidentified_smart_contract unidentified_smart_contract Contracts detected onchain but not yet categorized.
unidentified_whale unidentified_whale Unlabeled EOAs holding >= $10M total stablecoin balance that day. Recalculated daily.
unidentified unidentified Addresses with no known classification.

As label coverage expands, new values may be added in backward-compatible fashion.

Methodology

  1. Start from daily rows in stablecoins_evm.balances.
  2. Join curated address labels to assign address_category, subcategory, and project metadata where a label exists.
  3. Derive is_smart_contract (from creation traces), is_whale (>= $10M total stablecoin balance), and is_circulating (true unless the address is a bridge escrow / issuer bridge escrow / CEX locked-token wallet) flags per address per day.
  4. Apply the priority waterfall for unlabeled addresses to maintain complete coverage.

Category totals should be interpreted as “where balances sit” rather than ownership or liability accounting. Labels represent the best-known economic function of an address and can evolve as coverage improves.

Sample query

SELECT
    b.address_category
    , b.token_symbol
    , SUM(b.balance_usd) AS total_usd
FROM stablecoins_evm.balances_enriched AS b
WHERE b.blockchain = 'ethereum'
    AND b.day = CURRENT_DATE
    AND b.balance > 0
GROUP BY b.address_category, b.token_symbol
ORDER BY total_usd DESC

Notes

Interpreting balances vs circulating supply