Skip to main content
Schema: solana.defi Table: ez_stablecoins_supply Type: View

What

This table provides daily supply metrics for verified stablecoins across Solana. It tracks total supply, mint/burn activity, and distribution across various DeFi protocols and platforms. Historical data available, starting from 2025-06-01.

Key Use Cases

  • Tracking stablecoin supply growth and contraction over time
  • Analyzing stablecoin distribution and TVL across DeFi protocols
  • Monitoring mint and burn events for supply changes
  • Identifying stablecoin liquidity concentration in specific venues
  • Building supply-based metrics and charts

Important Relationships

  • Join with defi.dim_stablecoins: Use contract_address for stablecoin metadata
  • Join with price.ez_prices_hourly: Use contract_address for price data

Commonly-used Fields

  • block_date: Date of the supply snapshot
  • contract_address: Stablecoin token contract address
  • symbol: Token symbol (e.g., USDC, USDT, DAI)
  • total_supply: Total supply of the stablecoin, based on direct totalSupply contract functions calls
  • amount_minted: Cumulative amount minted
  • amount_burned: Cumulative amount burned
  • amount_in_bridges: Amount held in Bridge vaults
  • amount_in_dex_liquidity_pools: Amount held in DEX liquidity pools
  • amount_in_lending_pools: Amount deposited in lending protocols
  • amount_in_cex: Amount held in centralized exchange addresses

Sample queries

-- Latest supply metrics by stablecoin
SELECT 
    label AS stablecoin,
    total_supply,
    amount_in_dex_liquidity_pools,
    amount_in_lending_pools
FROM solana.defi.ez_stablecoins_supply
WHERE block_date = CURRENT_DATE - 1
ORDER BY total_supply DESC;

-- Daily supply changes for a specific stablecoin
SELECT 
    block_date,
    symbol,
    total_supply,
    amount_minted - LAG(amount_minted) OVER (PARTITION BY contract_address ORDER BY block_date) AS daily_minted,
    amount_burned - LAG(amount_burned) OVER (PARTITION BY contract_address ORDER BY block_date) AS daily_burned
FROM <blockchain_name>.defi.ez_stablecoins_supply
WHERE symbol = 'USDC'
    AND block_date >= CURRENT_DATE - 30
ORDER BY block_date DESC;

-- Stablecoin distribution analysis
SELECT 
    block_date,
    label AS stablecoin,
    amount_in_bridges / NULLIF(total_supply, 0) AS pct_in_bridge,
    amount_in_dex_liquidity_pools / NULLIF(total_supply, 0) AS pct_in_dex,
    amount_in_lending_pools / NULLIF(total_supply, 0) AS pct_in_lending,
    amount_in_cex / NULLIF(total_supply, 0) AS pct_in_cex
FROM <blockchain_name>.defi.ez_stablecoins_supply
WHERE block_date = CURRENT_DATE - 1
    AND total_supply > 0
ORDER BY total_supply DESC;

Columns

Column NameData TypeDescription
BLOCK_DATEDATEThe date of the daily supply snapshot. This corresponds with the MAX block_number from the previous day. Example: ‘2025-06-10’
TOKEN_ADDRESSTEXTThe address of the stablecoin token. Example: ‘0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48’
SYMBOLTEXTThe symbol identifier for the stablecoin token. Example: ‘USDC’
NAMETEXTThe full name of the stablecoin token. Example: ‘USD Coin’
LABELTEXTA combined display label containing both symbol and name, as a stablecoin unique identifier. Example: ‘USDC: USD Coin’
DECIMALSNUMBERThe number of decimal places used by the token address. Example: 6
TOTAL_SUPPLYFLOATThe total supply of the stablecoin on this blockchain as of the block_date. Example: 1500000000
TOTAL_HOLDERSNUMBERThe total number of unique addresses holding the stablecoin on this blockchain as of the block_date. Example: 750000
AMOUNT_MINTEDFLOATThe amount of tokens minted daily. Example: 2000000000
AMOUNT_BURNEDFLOATThe amount of tokens burned daily. Example: 500000000
AMOUNT_TRANSFERREDFLOATThe amount of tokens transferred daily. Example: 10000000000
AMOUNT_IN_CEXFLOATThe amount of tokens held in centralized exchange addresses. Example: 300000000
AMOUNT_IN_BRIDGESFLOATThe amount of tokens held in bridge vaults and contracts. Example: 50000000
AMOUNT_IN_DEX_LIQUIDITY_POOLSFLOATThe amount of tokens deposited in decentralized exchange liquidity pools. Example: 200000000
AMOUNT_IN_LENDING_POOLSFLOATThe amount of tokens deposited in lending protocol pools. Example: 150000000
AMOUNT_IN_CONTRACTSFLOATThe amount of tokens held in all contracts (including other categorized contracts). Example: 100000000
INSERTED_TIMESTAMPTIMESTAMP_NTZThe timestamp when this transaction record was first inserted into the analytics database. Used for data freshness tracking and incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process.
MODIFIED_TIMESTAMPTIMESTAMP_NTZThe timestamp when this transaction record was last updated in the analytics database. Used for tracking updates and supporting incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process.
EZ_STABLECOINS_SUPPLY_IDTEXTA unique, stable identifier for each record in this table. The primary key (PK) ensures that every row is uniquely identifiable and supports efficient joins, lookups, and data integrity across models. The PK may be a natural key (such as a blockchain transaction hash) or a surrogate key generated from one or more fields, depending on the table’s structure and requirements.