Transfers

ERC-20 and native token transfers enriched with symbols and USD pricing.

5 tables in this category.

Tables

View NameDatabaseSourceORDER BY
agent.ethereum_transfersagenttokens_ethereum.transferscontract_address, block_number, tx_hash, evt_index
agent.base_transfersagenttokens_base.transferscontract_address, block_number, tx_hash, evt_index
agent.arbitrum_transfersagenttokens_arbitrum.transferscontract_address, block_number, tx_hash, evt_index
agent.bsc_transfersagenttokens_bsc.transfers
agent.tron_transfersagenttokens_tron.transferscontract_address, block_number, tx_hash, evt_index
  • agent.arbitrum_prices_day
  • agent.base_prices_day
  • agent.ethereum_erc20
  • agent.ethereum_prices_day

Sample Queries

1. Largest USDC transfers today

SELECT block_time, `from`, `to`, amount, amount_usd
FROM agent.ethereum_transfers
WHERE symbol = 'USDC'
  AND block_date = today() - 1
ORDER BY amount_usd DESC
LIMIT 20

Table Schemas

agent.ethereum_transfers

ERC-20 Transfer events plus native token (ETH/BNB/TRX) trace-based transfers. Includes WETH wrap/unwrap. Enriched with tx_from, tx_to, tx_index from transaction lookup. One row per transfer event or trace.

Engine: MergeTree | Partition: toYYYYMM(block_date) | ORDER BY: contract_address, block_number, tx_hash, evt_index

ColumnTypeDescription
blockchainStringBlockchain network name
block_monthDateUTC block month (partition key)
block_dateDateUTC block date
block_timeDateTime64(3)UTC block timestamp
block_numberUInt64Block number
tx_hashStringTransaction hash
evt_indexUInt32Event log index in transaction
trace_addressArray(Int64)Non-empty for native trace-based transfers. Empty string for event-based ERC-20 transfers.
token_standardString'erc20' for ERC-20 Transfer events, 'native' for ETH/BNB/TRX trace transfers.
tx_fromStringTransaction sender (EOA that signed the tx). From transaction lookup.
tx_toStringTransaction recipient (first-level contract called). From transaction lookup.
tx_indexUInt32Transaction index in block
fromStringTransfer sender address.
toStringTransfer recipient address.
contract_addressStringToken contract address. Zero address (0x0000...0000) for native token transfers.
symbolStringToken symbol
amount_rawUInt256Raw uint256 transfer amount. Divide by 10^decimals for human-readable value.
amountFloat64Amount in display units (decimal-adjusted)
price_usdFloat64USD price at transfer time
amount_usdNullable(Float64)USD value of transfer
💡 Tip
  • These tables are VERY large (billions of rows) — always filter on block_date first
  • token_standard is 'erc20' or 'native' — filter accordingly
  • amount_raw is uint256 before decimal adjustment — divide by 10^decimals for human-readable amounts
  • JOIN with ethereum_erc20 on contract_address for symbol and decimals
  • For net flows: SUM(amount_raw) WHERE to=addr minus SUM(amount_raw) WHERE from=addr
⚠️ Warning
  • No USD amounts — join with prices tables for valuation
  • Native transfers from trace data may include internal contract-to-contract transfers
  • Does not include ERC-721 (NFT) or ERC-1155 (multi-token) transfers
  • amount_raw is raw — you must know the token's decimals to interpret correctly

agent.base_transfers

ERC-20 Transfer events plus native token (ETH/BNB/TRX) trace-based transfers. Includes WETH wrap/unwrap. Enriched with tx_from, tx_to, tx_index from transaction lookup. One row per transfer event or trace.

Engine: MergeTree | Partition: toYYYYMM(block_date) | ORDER BY: contract_address, block_number, tx_hash, evt_index

ColumnTypeDescription
blockchainStringBlockchain network name
block_monthDateUTC block month (partition key)
block_dateDateUTC block date
block_timeDateTime64(3)UTC block timestamp
block_numberUInt64Block number
tx_hashStringTransaction hash
evt_indexUInt32Event log index in transaction
trace_addressArray(Int64)Non-empty for native trace-based transfers. Empty string for event-based ERC-20 transfers.
token_standardString'erc20' for ERC-20 Transfer events, 'native' for ETH/BNB/TRX trace transfers.
tx_fromStringTransaction sender (EOA that signed the tx). From transaction lookup.
tx_toStringTransaction recipient (first-level contract called). From transaction lookup.
tx_indexUInt32Transaction index in block
fromStringTransfer sender address.
toStringTransfer recipient address.
contract_addressStringToken contract address. Zero address (0x0000...0000) for native token transfers.
symbolStringToken symbol
amount_rawUInt256Raw uint256 transfer amount. Divide by 10^decimals for human-readable value.
amountFloat64Amount in display units (decimal-adjusted)
price_usdFloat64USD price at transfer time
amount_usdNullable(Float64)USD value of transfer
💡 Tip
  • This table has 7.5B+ rows — ALWAYS use tight block_date filters
  • token_standard is 'erc20' or 'native' — filter accordingly
  • amount_raw is uint256 before decimal adjustment — divide by 10^decimals
  • Base native token is ETH (bridged), same decimals as Ethereum ETH
⚠️ Warning
  • No USD amounts — join with prices tables for valuation
  • Native transfers from trace data may include internal contract-to-contract transfers
  • Does not include ERC-721 (NFT) or ERC-1155 (multi-token) transfers
  • amount_raw is raw — you must know the token's decimals to interpret correctly

agent.arbitrum_transfers

ERC-20 Transfer events plus native token (ETH/BNB/TRX) trace-based transfers. Includes WETH wrap/unwrap. Enriched with tx_from, tx_to, tx_index from transaction lookup. One row per transfer event or trace.

Engine: MergeTree | Partition: toYYYYMM(block_date) | ORDER BY: contract_address, block_number, tx_hash, evt_index

ColumnTypeDescription
blockchainStringBlockchain network name
block_monthDateUTC block month (partition key)
block_dateDateUTC block date
block_timeDateTime64(3)UTC block timestamp
block_numberUInt64Block number
tx_hashStringTransaction hash
evt_indexUInt32Event log index in transaction
trace_addressArray(Int64)Non-empty for native trace-based transfers. Empty string for event-based ERC-20 transfers.
token_standardString'erc20' for ERC-20 Transfer events, 'native' for ETH/BNB/TRX trace transfers.
tx_fromStringTransaction sender (EOA that signed the tx). From transaction lookup.
tx_toStringTransaction recipient (first-level contract called). From transaction lookup.
tx_indexUInt32Transaction index in block
fromStringTransfer sender address.
toStringTransfer recipient address.
contract_addressStringToken contract address. Zero address (0x0000...0000) for native token transfers.
symbolStringToken symbol
amount_rawUInt256Raw uint256 transfer amount. Divide by 10^decimals for human-readable value.
amountFloat64Amount in display units (decimal-adjusted)
price_usdFloat64USD price at transfer time
amount_usdNullable(Float64)USD value of transfer
💡 Tip
  • These tables are VERY large (billions of rows) — always filter on block_date first
  • token_standard is 'erc20' or 'native' — filter accordingly
  • amount_raw is uint256 before decimal adjustment — divide by 10^decimals for human-readable amounts
  • JOIN with ethereum_erc20 on contract_address for symbol and decimals
  • For net flows: SUM(amount_raw) WHERE to=addr minus SUM(amount_raw) WHERE from=addr
⚠️ Warning
  • No USD amounts — join with prices tables for valuation
  • Native transfers from trace data may include internal contract-to-contract transfers
  • Does not include ERC-721 (NFT) or ERC-1155 (multi-token) transfers
  • amount_raw is raw — you must know the token's decimals to interpret correctly

agent.bsc_transfers

ERC-20 Transfer events plus native token (ETH/BNB/TRX) trace-based transfers. Includes WETH wrap/unwrap. Enriched with tx_from, tx_to, tx_index from transaction lookup. One row per transfer event or trace.

💡 Tip
  • BSC transfer tables can be very large — always filter on block_date first
  • Native token is BNB, not ETH — 18 decimals
  • amount_raw is uint256 before decimal adjustment
⚠️ Warning
  • No USD amounts — join with prices tables for valuation
  • Native transfers from trace data may include internal contract-to-contract transfers
  • Does not include ERC-721 (NFT) or ERC-1155 (multi-token) transfers
  • amount_raw is raw — you must know the token's decimals to interpret correctly

agent.tron_transfers

ERC-20 Transfer events plus native token (ETH/BNB/TRX) trace-based transfers. Includes WETH wrap/unwrap. Enriched with tx_from, tx_to, tx_index from transaction lookup. One row per transfer event or trace.

Engine: MergeTree | Partition: toYYYYMM(block_date) | ORDER BY: contract_address, block_number, tx_hash, evt_index

ColumnTypeDescription
blockchainStringBlockchain network name
block_monthDateUTC block month (partition key)
block_dateDateUTC block date
block_timeDateTime64(3)UTC block timestamp
block_numberUInt64Block number
tx_hashStringTransaction hash
evt_indexUInt32Event log index in transaction
trace_addressArray(Int64)Non-empty for native trace-based transfers. Empty string for event-based ERC-20 transfers.
token_standardString'erc20' for ERC-20 Transfer events, 'native' for ETH/BNB/TRX trace transfers.
tx_fromStringTransaction sender (EOA that signed the tx). From transaction lookup.
tx_toStringTransaction recipient (first-level contract called). From transaction lookup.
tx_indexUInt32Transaction index in block
fromStringTransfer sender address.
toStringTransfer recipient address.
contract_addressStringToken contract address. Zero address (0x0000...0000) for native token transfers.
symbolStringToken symbol
amount_rawUInt256Raw uint256 transfer amount. Divide by 10^decimals for human-readable value.
amountFloat64Amount in display units (decimal-adjusted)
price_usdNullable(Float64)USD price at transfer time
amount_usdNullable(Float64)USD value of transfer
💡 Tip
  • 4.6B rows — ALWAYS filter on block_date
  • Tron addresses use base58 format (T...) not hex
  • Native token is TRX (6 decimals for energy, but TRX transfers use sun = 1e-6)
  • USDT on Tron is extremely high volume — can dominate results if not filtered
⚠️ Warning
  • No USD amounts — join with prices tables for valuation
  • Native transfers from trace data may include internal contract-to-contract transfers
  • Does not include ERC-721 (NFT) or ERC-1155 (multi-token) transfers
  • amount_raw is raw — you must know the token's decimals to interpret correctly