Transfers

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

5 tables — one per chain.

TableChainNotable
agent.ethereum_transfersEthereumBillions of rows
agent.base_transfersBase7.5B+ rows
agent.arbitrum_transfersArbitrum
agent.bsc_transfersBSCBNB is native token (18 decimals)
agent.tron_transfersTron4.6B rows, base58 addresses, USDT-heavy

Schema

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

ColumnTypeDescription
blockchainStringChain name
block_dateDateAlways filter on this — tables are billions of rows
block_timeDateTime64(3)UTC timestamp
block_numberUInt64
tx_hashStringTransaction hash
evt_indexUInt32Event log index
trace_addressArray(Int64)Non-empty for native transfers, empty for ERC-20
token_standardString'erc20' or 'native'
tx_fromStringTransaction sender (EOA)
tx_toStringTransaction recipient
tx_indexUInt32
fromStringTransfer sender
toStringTransfer recipient
contract_addressStringToken contract. Zero address for native token.
symbolStringToken symbol
amount_rawUInt256Raw amount — divide by 10^decimals
amountFloat64Decimal-adjusted amount
price_usdFloat64USD price at transfer time
amount_usdNullable(Float64)USD value

Good to Know

  • These are the largest tables in the catalog. Always use tight block_date filters.
  • token_standard is 'erc20' or 'native' — filter accordingly.
  • Native transfers come from traces and include internal contract-to-contract transfers.
  • Does not include ERC-721 (NFT) or ERC-1155 (multi-token) transfers.
  • For net flows: SUM(amount WHERE to=addr) - SUM(amount WHERE from=addr).