Skip to main content

Table Overview

All tables are located in the stablecoins.intelligence schema. Each table is per-transfer grain and cross-chain.
TablePurposeRow Grain
enriched_transfersPer-transfer intelligence + adjusted-volume flagOne row per transfer leg
organic_activity_classificationWallet typing + transaction intentOne row per organic transfer
payment_categorizationGranular payment purposeOne row per real-world payment
Access tiers. The full-history tables are gated (entitled customers). Each is also published as a rolling last-30-days view that is broadly shared, identical schema, filtered to block_timestamp >= dateadd('day', -30, current_timestamp()):
  • stablecoins.intelligence.enriched_transfers_last_30d
Use the *_last_30d view for evaluation and rolling analytics; contact Allium for full-history access.

1. enriched_transfers

Purpose: Cross-chain stablecoin transfers enriched with registry metadata, an activity taxonomy, directional flow categories, and the adjusted-volume gate. Use Case: Adjusted payment volume, organic-vs-noise analysis, flow analysis by counterparty sector.

Schema

Column NameData TypeDescription
chainVARCHARBlockchain network (ethereum, solana, tron, …)
unique_idVARCHARChain-scoped surrogate key for the transfer leg
transaction_hashVARCHAROn-chain transaction identifier
block_timestampTIMESTAMPUTC timestamp of the transfer
activity_dateDATEblock_timestamp truncated to day (UTC)
block_numberNUMBERChain-native block index
from_address / to_addressVARCHARSender / recipient
token_addressVARCHAROn-chain token identifier (registry join key)
token_symbolVARCHARDisplay ticker (USDC, USDT, …)
product_id / product_name / product_symbolVARCHARCanonical registry product identity
issuer_idVARCHARIssuing entity (circle, tether, …)
stablecoin_typeVARCHARnative / bridged / yield_bearing / lending_receipt / vault_share / unclassified
currencyVARCHARPeg currency (usd, eur, …)
amountNUMBERDecimal-normalized token quantity
usd_amountNUMBERUSD notional at transfer time
classificationVARCHARActivity bucket: dust, mint_burn, infra_automation, cex_flow, defi, short_term_pair, gambling, payments, store_of_value, investment_trade, organic_activity, unclassified
subcategoryVARCHARFiner label within classification
classification_sourceVARCHARWhich rule family won the priority stack
sender_classification / receiver_classificationVARCHARPrimary label category for each side (unlabeled if none)
from_primary_category / to_primary_categoryVARCHARRaw label vertical (exchange, decentralized_finance, …)
cex_flow_categoryVARCHARDirectional CEX flow tag
defi_flow_categoryVARCHARDirectional DeFi flow tag
payment_services_flow_categoryVARCHARDirectional payment-processor flow tag
infrastructure_flow_categoryVARCHARDirectional infrastructure flow tag
is_adjusted_volumeBOOLEANPasses Visa-methodology organic-volume filters. Primary gate for “economically meaningful” activity
is_inorganic_sender / is_inorganic_receiverBOOLEANFlagged automated/test/bot wallet on each side
is_mev_transferBOOLEANEither party matches MEV/searcher heuristics
is_short_term_routingBOOLEANOutbound leg of a short-term round-trip pattern

Example Queries

Total Adjusted Volume by Chain (30d)

SELECT
  chain,
  SUM(usd_amount) AS adjusted_volume_30d
FROM stablecoins.intelligence.enriched_transfers_last_30d
WHERE is_adjusted_volume
GROUP BY 1
ORDER BY 2 DESC;

Top Stablecoins by Organic Volume

SELECT
  token_symbol,
  COUNT(*) AS transfer_count,
  SUM(usd_amount) AS total_volume
FROM stablecoins.intelligence.enriched_transfers
WHERE is_adjusted_volume
  AND block_timestamp >= CURRENT_DATE - 30
GROUP BY 1
ORDER BY 3 DESC;

2. organic_activity_classification

Purpose: Assigns each organic transfer a sender/receiver wallet type, balance tier, and high-level transaction intent. Use Case: Who is transacting (consumer vs business vs institutional) and why (payments vs trading vs savings).

Schema

Column NameData TypeDescription
chainVARCHARBlockchain network
transaction_hashVARCHAROn-chain transaction identifier
token_symbol / token_addressVARCHARStablecoin moved
activity_dateDATEUTC date of the transfer
block_timestampTIMESTAMPUTC timestamp
from_address / to_addressVARCHARSender / recipient
usd_amountNUMBERUSD notional
from_wallet_type / to_wallet_typeVARCHARConsumer / Business / Institutional
from_balance_tier / to_balance_tierVARCHARwhale / large / medium / small / micro / dust
transaction_typeVARCHARReal-World Payment / Investment/Trade / Store as Value / Unclassified
wallet_type_combinationVARCHARC2C, C2B, B2C, B2B, I2C, I2B, I2I, C2I, B2I, …
from_30d_volume / to_30d_volumeNUMBERRolling 30-day USD volume per side
from_avg_txn_size / to_avg_txn_sizeNUMBER30-day average transaction size per side
to_total_outflow_1m / to_total_outflow_3mNUMBERReceiver rolling outflow (store-of-value signal)

Transaction Types

TypeDescription
Real-World PaymentConsumer/business payment-sized flows below large-ticket trade thresholds
Investment/TradeLarge B2B/I transfers, short-term pairs, outlier ticket sizes, chain-specific overrides
Store as ValueReceiver accumulating stablecoins relative to balance and typical ticket size
UnclassifiedNo rule matched with sufficient confidence

Wallet Types

TypeDescription
ConsumerRetail-sized activity
BusinessCommercial volume patterns
InstitutionalTreasury, protocol, or market-maker scale

Example Query — Transaction Type Distribution

SELECT
  transaction_type,
  COUNT(*) AS tx_count,
  SUM(usd_amount) AS total_volume
FROM stablecoins.intelligence.organic_activity_classification
WHERE activity_date >= CURRENT_DATE - 30
GROUP BY 1
ORDER BY 3 DESC;

3. payment_categorization

Purpose: Granular payment category and purpose for transfers classified as Real-World Payment. Use Case: Payment-use-case analytics, merchant insights, payroll/remittance tracking.

Schema

Includes the wallet-type/balance-tier context from organic_activity_classification, plus:
Column NameData TypeDescription
core_payment_categoryVARCHARC2C / C2B / B2C / B2B Payment, I2C / I2B, Institutional Payment, Deposit to Institutional
payment_purposeVARCHARGranular purpose within the category
classification_tierVARCHARCore / Extended / Fallback confidence
Only transfers with transaction_type = 'Real-World Payment' are present in this table. Deposits to institutional wallets and I2C flows are treated as Investment/Trade and excluded from the real-world payment mix.

Core Payment Categories

CategoryDescription
C2C PaymentConsumer-to-Consumer transfers
C2B PaymentConsumer-to-Business purchases/services
B2C PaymentBusiness-to-Consumer payouts/refunds
B2B PaymentBusiness-to-Business settlements
I2C / I2B PaymentInstitutional to consumer / business
Institutional PaymentInstitutional-to-Institutional (I2I)
Deposit to InstitutionalC2I / B2I inflows to institutional wallets (excluded from payment mix)

Payment Purposes (by flow)

FlowExample purposes
C2CP2P Micro Payment, P2P Remittance, P2P Large Transfer
C2BRetail Purchase, Service Payment, Large Purchase
B2CMicro Payout, Gig/Creator Payout, Salary/Payroll, Large Disbursement
B2BService Fee, Supplier Payment, Large B2B Settlement
I2C / I2B / I2IInstitutional Settlement and related

Example Query — Payment Purpose Breakdown

SELECT
  core_payment_category,
  payment_purpose,
  COUNT(*) AS payment_count,
  SUM(usd_amount) AS total_usd
FROM stablecoins.intelligence.payment_categorization
WHERE activity_date >= CURRENT_DATE - 30
GROUP BY 1, 2
ORDER BY 4 DESC;

Table Relationships

enriched_transfers is the per-transfer base (adjusted-volume gate + flow categories). organic_activity_classification adds wallet typing and intent; payment_categorization adds purpose for the real-world-payment subset. Join across them on chain + transaction_hash (+ unique_id where a transaction has multiple legs).

Next Steps

Adjusted Volume Methodology

Learn how organic volume is calculated

Pipeline Overview

Back to payments pipeline overview