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

# Stablecoin Schema Deprecation

> Legacy crosschain.stablecoin.* and crosschain.metrics.stablecoin_volume schemas are removed on October 4, 2026. Migrate to stablecoins.* now.

<Warning>
  **Removal date set: October 4, 2026.** `crosschain.stablecoin.*` and
  `crosschain.metrics.stablecoin_volume` will be permanently removed on this
  date. The replacement `stablecoins.*` tables are live now — migrate before
  the cutover. Customers on Snowflake shares will have `STABLECOINS` provisioned
  automatically; no share reconfiguration needed.
</Warning>

## Timeline

| Date                | What happens                                                                             |
| ------------------- | ---------------------------------------------------------------------------------------- |
| Now                 | `stablecoins.*` tables live and available                                                |
| **October 4, 2026** | `crosschain.stablecoin.*` and `crosschain.metrics.stablecoin_volume` removed permanently |

## Table Mappings

| Legacy Table                                       | New Table                                                                                            |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `crosschain.stablecoin.list`                       | [`stablecoins.registry.deployments`](/historical-data/stablecoins/registry)                          |
| `crosschain.stablecoin.catalog`                    | [`stablecoins.registry.catalog`](/historical-data/stablecoins/registry)                              |
| `crosschain.stablecoin.deployments`                | [`stablecoins.registry.deployments`](/historical-data/stablecoins/registry)                          |
| `crosschain.stablecoin.transfers`                  | [`stablecoins.core.transfers`](/historical-data/stablecoins/transfers)                               |
| `crosschain.stablecoin.supply_beta`                | [`stablecoins.core.supply_daily`](/historical-data/stablecoins/supply-daily)                         |
| `crosschain.stablecoin.supply_delta_beta`          | [`stablecoins.core.supply_change`](/historical-data/stablecoins/supply-change)                       |
| `crosschain.stablecoin.filtered_transfers`         | [`stablecoins.intelligence.enriched_transfers`](/historical-data/stablecoins/transfers)              |
| `crosschain.stablecoin.transfer_classification`    | [`stablecoins.intelligence.enriched_transfers`](/historical-data/stablecoins/transfers)              |
| `crosschain.stablecoin.transaction_classification` | [`stablecoins.intelligence.enriched_transfers`](/historical-data/stablecoins/transfers)              |
| `crosschain.stablecoin.payment_categorization`     | [`stablecoins.intelligence.payment_categorization`](/historical-data/stablecoins/transfers)          |
| `crosschain.stablecoin.wallet_classification`      | [`stablecoins.intelligence.organic_activity_classification`](/historical-data/stablecoins/transfers) |
| `crosschain.stablecoin.supply_distribution_daily`  | [`stablecoins.core.supply_daily`](/historical-data/stablecoins/supply-daily)                         |
| `crosschain.stablecoin.balances_daily`             | [`stablecoins.core.balances_daily`](/historical-data/stablecoins/supply-daily)                       |
| `crosschain.metrics.stablecoin_volume`             | [`stablecoins.metrics.volume_daily`](/historical-data/stablecoins/volume-daily)                      |
| `<chain>.assets.stablecoin_transfers` (EVM chains) | [`<chain>.stablecoins.transfers`](/historical-data/stablecoins/transfers)                            |
| `<chain>.assets.stablecoin_list` (EVM chains)      | [`stablecoins.registry.deployments`](/historical-data/stablecoins/registry) (filter by `chain`)      |

## Breaking Column Changes

These columns are **removed** in the new schema. Update queries before the cutover date.

<AccordionGroup>
  <Accordion title="crosschain.stablecoin.transfers → stablecoins.core.transfers">
    **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`
  </Accordion>

  <Accordion title="crosschain.stablecoin.list → stablecoins.registry.catalog + stablecoins.registry.deployments">
    `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`.
  </Accordion>

  <Accordion title="crosschain.stablecoin.supply_beta → stablecoins.core.supply_daily">
    **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
  </Accordion>

  <Accordion title="<chain>.assets.stablecoin_list → stablecoins.registry.deployments">
    Per-chain `assets.stablecoin_list` tables are discontinued across all 28 EVM chains. Use `stablecoins.registry.deployments` filtered by `chain` instead. The crosschain table has the same data with additional registry metadata.
  </Accordion>

  <Accordion title="crosschain.metrics.stablecoin_volume → stablecoins.metrics.volume_daily">
    **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

    <Warning>
      **`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.
    </Warning>

    <Warning>
      **`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.
    </Warning>

    **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`
  </Accordion>
</AccordionGroup>

## EVM Chain-Level Tables (`assets.stablecoin_*`)

The following per-chain tables are also removed on **October 4, 2026**:

**Affected chains (28)**: arbitrum, avalanche, base, berachain, blast, bsc,
celo, codex, ethereum, hyperevm, ink, linea, mode, monad, optimism, plasma,
plume, polygon, polygon\_zkevm, scroll, sei, soneium, sonic, stable, tempo,
unichain, worldchain, zksync. (`tempo` only ever had `stablecoin_transfers`,
no `stablecoin_list`.)

Migrate `<chain>.assets.stablecoin_transfers` → `<chain>.stablecoins.transfers` and
`<chain>.assets.stablecoin_list` → `stablecoins.registry.deployments` filtered by chain.

## 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](/historical-data/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 4, 2026.

Questions: [support@allium.so](mailto:support@allium.so)
