Skip to main content
End of lifecycle: October 31, 2026. Deletion: December 1, 2026. crosschain.stablecoin.*, crosschain.metrics.stablecoin_volume, and the per-chain <chain>.assets.stablecoin_transfers and <chain>.assets.stablecoin_list tables are no longer supported after October 31, 2026, and no new data is appended to them. The models remain available until December 1, 2026, and are deleted after that date. The replacement stablecoins.* tables are live now. Customers on Snowflake shares will have STABLECOINS provisioned automatically; no share reconfiguration needed.

Timeline

Table Mappings

Breaking Column Changes

These columns are removed in the new schema. Update queries before October 31, 2026.
Removed columns (no direct replacement):
  • TOKEN_TYPE — use stablecoin_type from the registry join
  • BLOCK_NUMBER
  • BLOCK_HASH
  • TRANSFER_TYPE
  • TOKEN_ACC_FROM
  • TOKEN_ACC_TO
Added columns (new in stablecoins.core.transfers):
  • PRODUCT_ID — links to stablecoins.registry.catalog
  • IS_NATIVE — true for native-chain stablecoins
  • STABLECOIN_TYPE — fiat-backed, crypto-backed, algorithmic, etc.
  • USD_EXCHANGE_RATE — rate at transfer time
  • ISSUER_ID — links to issuer registry
  • PEG_MECHANISM
crosschain.stablecoin.list combined product-level and deployment-level data in one table. The new schema splits them:
  • stablecoins.registry.catalog — one row per stablecoin product (USDC, USDT, etc.)
  • stablecoins.registry.deployments — one row per chain/address deployment
If you were filtering list by chain, use stablecoins.registry.deployments WHERE chain = '<chain>'. For product metadata, join on product_id.
Removed columns:
  • SUPPLY — replaced by circulating_supply and adjusted_circulating_supply
  • SUPPLY_DELTA
  • NON_CIRCULATING_SUPPLY
Added columns:
  • CIRCULATING_SUPPLY — issuer-reported circulating supply
  • ADJUSTED_CIRCULATING_SUPPLY — nets out bridge escrows, protocol collateral, and savings-vault deposits
  • PRICE_USD — daily close price
Per-chain assets.stablecoin_list tables are discontinued on all 28 chains that have one. Use stablecoins.registry.deployments filtered by chain instead. The crosschain table has the same data with additional registry metadata.
Removed columns (no direct replacement):
  • BASE_ASSET
  • AVG_TRANSFER_COUNT — derive as transfer_count / transfer_tx_count
  • AVG_TRANSFER_VOLUME, AVG_TRANSFER_VOLUME_USD — derive as transfer_volume(_usd) / transfer_count
  • TRANSFER_VOLUME_IS_ANOMALY — anomalous transactions are already excluded upstream in both tables, so the flag is redundant
  • SINGLE_DIRECTION_NET_TRANSFER_VOLUME, SINGLE_DIRECTION_NET_TRANSFER_VOLUME_USD
  • ENTITY_ADJUSTED_SINGLE_DIRECTION_MAX_TRANSFER_VOLUME (native units) — the new table only exposes the adjusted metric in USD
SINGLE_DIRECTION_MAX_TRANSFER_VOLUME(_USD) → MAX_TRANSFER_VOLUME(_USD) is not a rename. The legacy column summed, across every transaction that day, each transaction’s single largest transfer leg (deduplicating multi-hop internal transfers). The new column is simply max(amount) for the day — the single largest individual transfer, not a sum. The two are not comparable; do not substitute one for the other in existing queries.
ENTITY_ADJUSTED_SINGLE_DIRECTION_MAX_TRANSFER_VOLUME_USD → ADJUSTED_VOLUME_USD uses a different methodology. The legacy column excluded known bot/exchange addresses by label and priced volume using the daily median price. The new column instead classifies each transfer’s intent (Real-World Payment, Investment/Trade, Store as Value) and sums only those, priced at transfer time. Expect materially lower values on the same chain/day — this is a stricter definition, not a data quality regression.
Added columns:
  • PRODUCT_ID, ISSUER_ID, PEG_MECHANISM, TOKEN_NAME, IS_NATIVE, STABLECOIN_TYPE — registry metadata joined in directly
  • SENDER_COUNT, RECIPIENT_COUNT
  • ADJUSTED_TRANSFER_COUNT — adjusted transfer-level count, alongside the renamed ADJUSTED_TRANSFER_TX_COUNT (formerly ENTITY_ADJUSTED_SINGLE_DIRECTION_MAX_TRANSFER_TX_COUNT)
  • HAS_ADJUSTED_VOLUME — check before relying on ADJUSTED_VOLUME_USD; it is null (not zero) on chains where has_adjusted_volume = false

Chain-level tables (assets.stablecoin_*)

The per-chain assets.stablecoin_* tables also reach end of lifecycle on October 31, 2026 and are deleted on December 1, 2026, on every chain listed below, EVM and non-EVM. Each chain already has a <chain>.stablecoins.transfers replacement.
arbitrum, avalanche, base, berachain, blast, bob, bsc, celo, codex, ethereum, hyperevm, ink, linea, mode, monad, optimism, plasma, plume, polygon, polygon_zkevm, scroll, sei, soneium, sonic, stable, tempo, unichain, worldchain, x_layer, zksyncbob, tempo, and x_layer only have stablecoin_transfers, with no stablecoin_list.
aptos, hyperliquid, near, solana, starknet, stellar, sui, ton, tronOnly solana has assets.stablecoin_list. The other non-EVM chains only have stablecoin_transfers.
Removed columns (all 39 chains):
  • BASE_ASSET: join product_id to stablecoins.registry.catalog for product metadata
  • IS_BRIDGE
  • _METADATA_CREATED_AT (aptos, near, solana, stellar, sui, ton only)
Added columns:
  • PRODUCT_ID: links to stablecoins.registry.catalog
  • IS_NATIVE: true for native-chain stablecoins
  • STABLECOIN_TYPE: fiat-backed, crypto-backed, algorithmic, etc.
  • USD_EXCHANGE_RATE: rate at transfer time (EVM chains and hyperliquid only)
All other columns keep the same name.

Why we’re migrating

The stablecoins.* schema replaces the crosschain.stablecoin.* family with:
  • Registry metadata joined in — product_id, issuer_id, is_native, and stablecoin_type are available directly on stablecoins.core.transfers, stablecoins.core.supply_daily, and stablecoins.metrics.volume_daily, without a separate join.
  • A cleaner registry split — stablecoins.registry.deployments (per chain/address) and stablecoins.registry.catalog (per product) replace the overlapping crosschain.stablecoin.list, .catalog, and .deployments tables.
  • New tables with no legacy equivalent — stablecoins.core.supply_change (mint/burn events) and stablecoins.core.balances_daily (daily forward-filled holder balances).
  • A more conservative supply methodology — stablecoins.core.supply_daily adds adjusted_circulating_supply, which nets out bridge escrows, protocol collateral, and savings-vault deposits on top of the issuer-basis exclusions already in circulating_supply.

Migration Checklist

  • Review the new schema — See the Stablecoins docs for full column-level detail.
  • Update your queries — Replace legacy references using the table mapping above. Pay attention to removed columns.
  • Test your applications — Run existing queries against the new schema to confirm parity.
  • Deploy changes — Update your workflows to use stablecoins.* before October 31, 2026.
Questions: [email protected]