Skip to main content
The stablecoins_evm_activity_enriched table classifies each stablecoin transfer into an activity category (for example DEX, CEX, bridge, lending, issuer).

Premium dataset access

This dataset is part of a premium offering and requires additional access. Contact the Dune enterprise team to request access.

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 activity-enriched table answers the second question by tracing the economic path of transfers across categories such as DEX trading, lending, borrowing, bridging, internal transfers, and payment-like flows.

What this dataset is designed to do

  • Explain how stablecoin balances move through the ecosystem.
  • Attribute transfer activity with transparent, reproducible logic.
  • Provide a defensible foundation for flow analysis.
The goal is to turn stablecoin flow data from noise into structured economic insight.

Table schema

ColumnTypeDescription
blockchainVARCHARChain name
block_monthDATEFirst day of month (partition column)
block_dateDATETransaction date
block_timeTIMESTAMPTransaction timestamp
block_numberBIGINTBlock number
tx_hashVARBINARYTransaction hash
evt_indexBIGINTTransfer event index
activity_evt_indexBIGINTMatched activity event index (nullable)
trace_addressVARCHARTrace address (nullable)
token_standardVARCHARToken standard (erc20)
token_addressVARBINARYToken contract address
token_symbolVARCHARToken symbol
currencyVARCHARISO 4217 code
amount_rawUINT256Raw transfer amount
amountDOUBLEDecimals-adjusted amount
price_usdDOUBLEUSD price used for valuation
amount_usdDOUBLEUSD amount
from_addressVARBINARYSender
to_addressVARBINARYRecipient
categoryVARCHARActivity category
activityVARCHARActivity label
project_addressVARBINARYMatched project address (nullable)
project_nameVARCHARMatched project name (nullable)
project_versionVARCHARMatched project version (nullable)
unique_keyVARCHARUnique transfer identifier

Value possibilities

The category and activity columns are intentionally standardized so downstream models, dashboards, and monitoring can rely on deterministic value vocabularies.
categoryAllowed activity values
dexdex_swap
flashloanflashloan_borrow, flashloan_repay, flashloan_unidentified
issuerissuer_mint, issuer_burn, issuer_peg_rebalance, issuer_unidentified
cexcex_deposit, cex_withdraw, cex_internal_transfer
lendinglending_supply, lending_borrow, lending_repay, lending_withdraw, lending_unidentified
bridgebridge_deposit, bridge_withdraw, bridge_unidentified
dex_liquiditydex_liquidity_supply, dex_liquidity_withdraw, dex_liquidity_unidentified
unidentifiedunidentified_activity
This mapping enables consistent flow segmentation, KPI rollups, and alerting logic without custom per-dashboard label handling. As protocol coverage expands, new values may be added in backward-compatible fashion.

Methodology

Classification is done at the transfer level, not the transaction level.
  1. Start from curated stablecoin transfer rows in stablecoins_evm.transfers.
  2. Build candidate matches for each transfer against activity-specific datasets (for example DEX, bridge, CEX, flashloan, lending, and issuer signals) using transfer-level keys such as tx_hash, token identity, and amount context.
  3. Resolve conflicts with a deterministic precedence order, so each transfer gets exactly one winning category.
  4. Write unmatched transfers as unidentified to preserve full coverage instead of dropping rows.

Important interpretation details

  • One transaction can map to multiple categories if it contains multiple stablecoin transfers.
  • project_address, project_name, and project_version are populated only when a protocol/entity match exists.
  • Priority rules improve consistency, but edge cases still exist when protocols emit similar transfer patterns in the same transaction.

Sample query

SELECT
    a.block_date
    , a.category
    , COUNT(*) AS transfers
    , SUM(a.amount_usd) AS volume_usd
FROM stablecoins_evm_activity_enriched AS a
WHERE a.blockchain = 'ethereum'
    AND a.block_date >= CURRENT_DATE - INTERVAL '30' DAY
GROUP BY a.block_date, a.category
ORDER BY a.block_date DESC, volume_usd DESC

Notes

  • One transfer maps to one output row (highest-priority match wins).
  • For performance, filter by blockchain and block_month.