Historical Event Backfill Progress Tracker
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
This tool connects to your EVM wallet and tracks the progress of historical event backfill operations. It scans event logs from a contract across a specified block range, displaying real-time progress with a progress bar, scanned/remaining block counts, and events found. The tool supports pause and resume functionality, allowing you to control the backfill process. It uses chunked RPC queries with automatic backoff to handle provider rate limits, ensuring reliable scanning even over large block ranges.
HOW TO USE
Connect your Web3 wallet using the Connect button. Enter the contract address you want to scan. Optionally, enter an event signature (e.g., "Transfer(address,address,uint256)") to filter by specific event types. Specify the start block (default 0) and chunk size (default 2000 blocks per request). Click "Start Backfill" to begin scanning. Click "Pause" to temporarily stop, and "Resume" to continue. The progress bar updates in real-time. Click "Load Sample" to populate fields with example data, and "Reset" to clear all progress and start over. Results appear in the Results card with a summary of status, scanned blocks, remaining blocks, events found, and a list of recent events.
TECHNICAL MECHANISM: CHUNKED BACKFILL WITH PROGRESS TRACKING
The tool uses ethers.js to fetch event logs from the RPC provider using eth_getLogs. It divides the total block range into chunks of configurable size (default 2000 blocks) to work around RPC block range limits. If a chunk fails with a rate-limit error (code -32005 or message containing 'limit'), the tool halves the chunk size and retries, continuing until the request succeeds or the chunk size drops below 100 blocks. The tool tracks progress by maintaining the current block position, total blocks to scan, and the number of events found. It updates the progress bar and statistics after each chunk completes. Pause and resume functionality is implemented by clearing and resetting the interval timer that drives the backfill loop, allowing the process to be controlled without losing state.
WHAT IT CANNOT SEE
This tool cannot resume backfill progress after page reload without external persistence—all state is in-memory and lost on refresh. It cannot automatically detect which blocks have been processed without stored state—the tool relies on its internal counters. It cannot predict backfill completion time accurately due to variable RPC response times—estimates are not provided. It relies on provider availability and may be rate-limited—large backfills may be throttled. It cannot backfill events that are not emitted or are emitted in non-standard formats—the tool only reads standard event logs.
PLEASE NOTE
This is a read-only tool—it never signs transactions. All data is stored only in memory and will be lost on page reload. The tool supports EVM chains only—Ethereum, Polygon, BSC, Arbitrum, Optimism, Base, and their testnets. Event signatures must match the exact format used by the contract. The backfill process may take time for large block ranges—the tool is designed for monitoring progress, not high-speed scanning. Use the pause/resume feature to control RPC load and manage rate limits.