Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dune.com/llms.txt

Use this file to discover all available pages before exploring further.

The tokens_multichain.transfers table provides a chain-agnostic view of fungible token transfer activity across EVM-compatible chains, Solana, Aptos, Sui, Stellar, and XRPL. It normalizes the most commonly used transfer fields into one schema, so you can analyze token movement across ecosystems without writing your own UNION ALL query over chain-specific tables. This dataset includes:
  • Transfer activity from EVM, Solana, Aptos, Sui, Stellar, and XRPL source models
  • String-based addresses and transaction identifiers for cross-ecosystem compatibility
  • Chain-native token identifiers through token_address and token_id
  • Normalized amount fields and USD values where source pricing is available
Use this table for broad cross-chain transfer analysis. Use the chain-specific transfer tables when you need source-specific details that are not part of the normalized multichain schema.

Utility

The multichain transfers table provides a consistent view of fungible token movement across ecosystems, enabling you to:
  • Compare transfer volume and activity across chains
  • Build cross-chain wallet activity views
  • Track token movement by symbol, token identifier, or blockchain
  • Analyze transfers across EVM and non-EVM ecosystems with one query

Methodology

The tokens_multichain.transfers table is built as a normalized union of Dune’s chain-level token transfer models:
  • EVM transfers from tokens_evm.transfers
  • Solana transfers from tokens_solana.transfers
  • Aptos transfers from tokens_aptos.transfers
  • Sui transfers from tokens_sui.transfers
  • Stellar transfers from tokens_stellar.transfers
  • XRPL transfers from tokens_xrpl.transfers
Each source model keeps its own chain-specific reconstruction logic. The multichain table maps those outputs into shared columns for time, transaction identity, sender, receiver, token identity, amount, pricing, and transfer classification. Some chain-specific fields are nullable because not every ecosystem has the same concepts. For example, EVM has transaction indexes and event indexes, Solana has instruction indexes, Aptos has transaction versions, Sui has checkpoints, Stellar has ledger sequences and operation IDs, and XRPL has ledger indexes.

Pricing Methodology

The amount_usd column is carried through from the chain-specific source models when pricing is available. Availability varies by ecosystem and token. If a token does not have a usable USD price at the transfer time, amount_usd stays NULL. The price_usd column is also source-dependent. Some source models provide an hourly token price, while others only expose the final USD value. For more details on Dune’s pricing methodology, see the Prices documentation.

Table Schema

ColumnTypeDescription
unique_keyVARCHARSurrogate key to identify a unique transfer row
blockchainVARCHARBlockchain identifier for the transfer
block_timeTIMESTAMP WITH TIME ZONEBlock, slot, checkpoint, ledger, or transaction timestamp
block_dateDATEDate derived from block_time
block_monthDATEMonth bucket derived from block_time
block_numberBIGINTChain-native block or ledger number, such as EVM block number, Solana slot, Sui checkpoint, Stellar ledger sequence, or XRPL ledger index
tx_idVARCHARChain-native transaction identifier
tx_sequenceBIGINTNullable chain-native transaction sequence, such as Aptos transaction version or Stellar transaction ID
tx_indexBIGINTNullable transaction index within the block or ledger unit
event_indexBIGINTNullable primary event, instruction, or operation index
sub_event_indexBIGINTNullable secondary event, instruction, or matched-counterpart index
from_addressVARCHARSender owner or account address
to_addressVARCHARReceiver owner or account address
tx_signerVARCHARTransaction signer or sender when available
token_addressVARCHARAddress-like token identifier, such as an EVM contract, Solana mint, Aptos package address, Sui package address, Stellar contract ID, or XRPL issuer
token_idVARCHARFull chain-native token identifier when richer than token_address, such as Aptos asset type, Sui coin type, Stellar asset ID, or XRPL asset ID
token_symbolVARCHARToken symbol
token_standardVARCHARSource token standard or program label
amount_rawUINT256Raw token amount before decimal adjustment
amountDOUBLETransfer amount in display units
price_usdDOUBLEUSD price used to calculate amount_usd, when provided by the source model
amount_usdDOUBLEUSD value of the transfer when pricing is available
transfer_typeVARCHARNullable chain-native transfer classification or action
_updated_atTIMESTAMPTimestamp when this row was last written, when provided by the source model

Sample Queries

Compare transfer activity across ecosystems This query aggregates recent priced transfer volume by blockchain and token symbol:
SELECT
    block_date,
    blockchain,
    token_symbol,
    COUNT(*) AS num_transfers,
    SUM(amount_usd) AS transfer_volume_usd
FROM tokens_multichain.transfers
WHERE block_date >= current_date - interval '30' day
    AND amount_usd IS NOT NULL
GROUP BY 1, 2, 3
ORDER BY block_date DESC, transfer_volume_usd DESC
LIMIT 100
Query recent transfers for one address on one chain Because addresses are stored as strings, include blockchain when querying a specific address so the value is interpreted in the right ecosystem:
SELECT
    block_time,
    blockchain,
    tx_id,
    token_symbol,
    token_id,
    CASE
        WHEN from_address = '9SUrE3EPBoXVjNywEDHSJKJdxebs8H8sLgEWdueEvnKX' THEN 'Outgoing'
        WHEN to_address = '9SUrE3EPBoXVjNywEDHSJKJdxebs8H8sLgEWdueEvnKX' THEN 'Incoming'
    END AS direction,
    amount,
    amount_usd
FROM tokens_multichain.transfers
WHERE blockchain = 'solana'
    AND (
        from_address = '9SUrE3EPBoXVjNywEDHSJKJdxebs8H8sLgEWdueEvnKX'
        OR to_address = '9SUrE3EPBoXVjNywEDHSJKJdxebs8H8sLgEWdueEvnKX'
    )
    AND block_date >= current_date - interval '30' day
ORDER BY block_time DESC
LIMIT 100
Analyze transfer categories by chain This query compares source transfer classifications where they are available:
SELECT
    blockchain,
    COALESCE(transfer_type, 'not_applicable') AS transfer_type,
    COUNT(*) AS num_rows,
    SUM(amount_usd) AS total_amount_usd
FROM tokens_multichain.transfers
WHERE block_date >= current_date - interval '30' day
GROUP BY 1, 2
ORDER BY num_rows DESC
LIMIT 100