Historical Event Log Exporter to CSV
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Historical Event Log Exporter to CSV is an analytics-focused utility that queries historical event logs from EVM chains and exports them as downloadable CSV files. It reads current chain state and block number, accepts user-defined filters including contract address, block range, and up to four topic filters (topic0 through topic3), and executes eth_getLogs queries with automatic chunking to handle provider block range limits. The tool displays a preview of the retrieved logs with transaction and address links to the block explorer, and provides a CSV preview before export. It exports all log data including block number, transaction hash, transaction index, log index, contract address, all topics, data payload, and a flag indicating whether the log was removed. This enables developers, auditors, and analysts to efficiently extract and analyze historical event data for forensic analysis, reporting, and integration with other tools.
HOW TO USE
Connect your wallet to the target EVM chain. Enter optional filter parameters: contract address, from block, to block, and up to four topic filters as hex strings. Click "Query & preview logs" to execute the query. The tool will display a summary including the number of logs found, the current block number, the block range queried, and a preview of the first 20 logs. A CSV preview of the first 5 rows is also shown. If satisfied with the results, click "Export to CSV" to download the full dataset as a CSV file. The export includes all logs from the query, not just the preview.
TECHNICAL NOTE: CHUNKED LOG QUERY WITH DYNAMIC BACKOFF
The tool implements a robust log query strategy that automatically chunks block ranges to handle RPC provider limitations. It starts with a default chunk size of 5,000 blocks and dynamically adjusts based on provider responses. If a chunk request fails with a range-too-large error, the tool halves the chunk size and retries, ensuring the query completes even on public RPCs with aggressive caps. On successful responses, the tool gradually increases the chunk size up to the maximum, optimizing for performance. This approach prevents the common failure of a full-range request being rejected, ensuring that large historical log queries complete reliably. The tool also validates all inputs and provides clear error messages when queries fail.
WHAT IT CANNOT SEE
The tool cannot query logs beyond the RPC provider's archival limits; very old blocks may not be available if the provider does not support archival data. It cannot decode logs without the correct contract ABI; the tool exports raw topics and data but does not parse named event parameters. It cannot filter by non-indexed parameters efficiently, as these are not indexed in the log and cannot be filtered at the RPC level. It cannot query logs across multiple chains simultaneously; queries are limited to the currently selected network. The tool is limited by eth_getLogs block range restrictions and provider rate limits, which may affect query speed and completeness. It cannot detect events that were not emitted as logs, such as internal transactions or function calls that do not emit events. It cannot export logs from pending transactions, as eth_getLogs only returns confirmed logs. Export size is limited by browser memory and performance; very large datasets may cause performance issues.
PLEASE NOTE
This tool is designed exclusively for EVM-compatible chains (Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche C-Chain, etc.). It does not support non-EVM blockchains. The tool uses the connected wallet's RPC provider; results depend on the provider's archival capabilities and rate limits. The chunked query implementation automatically handles most provider range limits, but very large ranges may still take time to complete. Topics are expected as hex strings (0x-prefixed). The tool is read-only and does not modify any state. The exported CSV is generated client-side and may be large; ensure adequate browser memory for large exports.