transfers
24 columnsOne row per native ETH or token transfer on Base, with sender, receiver, token metadata and a USD value where a price exists.
base/transfers<start_block>_<end_block>.parquet50 blocks per file, sorted ascendingEvery native ETH and token transfer on Base, one row per transfer, with sender, receiver and a USD value where a price exists.
transfersThis is every transfer on Base, native ETH and tokens alike, from 15 June 2023. Each row names the sender, the receiver, the token with its decimals and symbol, and the transaction it settled in. 19.2 billion rows in all.
Most buyers start with flow for one token: filter Transfer_Currency_SmartContract to its contract, then group by sender and receiver. Filter Transfer_Currency_Native instead to see ETH moving on its own. Amounts are decimal strings, so cast with care, and join on contract addresses rather than symbols, which repeat.
One row per native ETH or token transfer on Base, with sender, receiver, token metadata and a USD value where a price exists.
base/transfers<start_block>_<end_block>.parquet50 blocks per file, sorted ascendingSend this dataset’s full schema to an assistant and ask it anything. It reads the plain-text brief first, so the answer comes from the real column list rather than a guess.
Opens a new chat with the question filled in. Nothing about you is sent to Bitquery, and the assistant sees only the public brief.
Parquet files, delivered as signed download links by email after payment, in this layout:
# transfers — 50 blocks per file, sorted ascending
base/transfers<start_block>_<end_block>.parquetEvery window includes 24 columns. Only the time range changes.
transfers table, 24 columnsOne Parquet table with 24 columns: every native ETH and token transfer on Base, one row each, with sender, receiver, amount, token metadata, the transaction it settled in and the fee. Internal transfers of ETH made by contract calls are included.
About 19.2 billion rows and 1.39 TiB across 40 monthly partitions. The last 24 months hold about 16.8 billion of them and the last 12 months about 9.0 billion. Figures are approximate until the delivery manifest is generated.
To the start of indexed history: from 15 June 2023, at block 4,877, weeks before the public launch in August. The Full window runs from there to yesterday.
Base has no price history of its own, so ETH, WETH, USDC, the bridged USDbC, USDT and DAI are valued on Ethereum's series: bridged ETH is ETH, and using the real series keeps a de-peg visible. Other tokens carry 0. In a recent six-hour window that priced about 56% of rows. The free sample shows less, because 76% of its rows are one spam airdrop and it leaves native ETH unpriced; delivered files price native ETH. A value of 0 means either a $0 transfer or no price; the column cannot tell them apart.
Transfer_Amount is decimal adjusted. Multiply it by 10 to the power of Transfer_Currency_Decimals for the raw on-chain integer. We ship the adjusted value because decimals differ per token and the raw figure is wrong without them.
Amounts are decimal strings, so casting to float loses precision on large values. Symbols and names repeat, and lookalike tokens copy them, so join on the contract address. Failed transactions are kept, so filter TransactionStatus_Success for settled flow. Zero-value transfers are common: they are address-poisoning attempts, not real movement. Base history is short, so the 24-month window already holds about 87% of every Base transfer ever made.
Filter Transfer_Currency_SmartContract to the token's contract, lower case with 0x. For native ETH alone, filter Transfer_Currency_Native to true; its contract column holds the string 0x.
One line in DuckDB: SELECT * FROM read_parquet('transfers/*.parquet') LIMIT 10. Pandas works too: pandas.read_parquet(path). The sample file opens without credentials.
Refreshed daily with T+1 latency, so a purchase made today includes everything to yesterday. Delivered as Parquet named by block range, 50 blocks per file and sorted ascending, under a stable S3 layout with a JSON manifest listing every file and its sha256. Signed HTTPS links are emailed once the files are prepared.
Every bonding-curve trade, token creation, migration and pool on Pump.fun, plus per-token OHLCV, decoded and USD-priced.
Every TRX, TRC-10 and TRC-20 transfer on TRON since mainnet launch in June 2018, one row per transfer, valued in USD at block time.
Every native ETH and token transfer on Ethereum since August 2015, one row per transfer, valued in USD where a price exists.
Tell us the chain, tables and date range.