Local Chain Snapshot Manager
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
Local Chain Snapshot Manager is a read-only developer tool that captures point-in-time snapshots of EVM chain state for specified accounts. It reads account balances via eth_getBalance, contract bytecode via eth_getCode, and records block header metadata including block number, block hash, chain ID, and timestamp. The tool generates structured JSON snapshots that can be used for state inspection, before/after comparisons, audit verification, and debugging contract interactions. It helps developers verify contract state after deployments, compare state changes across blocks, and maintain auditable state records without running a full archive node.
HOW TO USE
Connect your EVM-compatible wallet via the BGWallet bridge and select the network you are targeting. Enter a snapshot name and a list of contract addresses (one per line) to include in the snapshot. Click "Capture Snapshot" to fetch the current chain state for all specified addresses at the latest block. The tool records the block number, chain ID, timestamp, and per-account data including balance (in wei), bytecode, and a contract indicator. Results are displayed in a structured table and also provided as a JSON export that can be copied for offline analysis. All analysis is read-only—no signatures or transactions are submitted.
TECHNICAL MECHANISM
The tool uses ethers.js v5.7.2 to fetch current chain state via the provider. It retrieves the current block number using provider.getBlockNumber() and the chain ID via provider.getNetwork(). For each user-provided address, the tool executes parallel RPC calls to provider.getBalance(address, blockNumber) and provider.getCode(address, blockNumber), both specifying the captured block number to ensure consistency. The block number is critical—it ensures all state reads are from the same point in time, preventing inconsistency if new blocks are mined during the snapshot process. The balance is returned as a BigNumber (converted to string for JSON serialization) and the bytecode is returned as a hex string. The tool also identifies whether an address is a contract by checking if the bytecode is non-empty (not '0x' or '0x0'). The snapshot is assembled into a structured object with metadata (name, chainId, block, timestamp, addressCount) and a per-account state object. The tool generates both a formatted HTML table for quick inspection and a JSON representation for export. The JSON can be copied to the clipboard for use in other tools or saved for historical record-keeping.
WHAT IT CANNOT SEE
This tool has fundamental limitations that users must understand. It cannot actually store or restore snapshots to a local filesystem—the tool generates JSON snapshots that must be manually saved by the user. It cannot capture or replay historical transaction traces—the tool only captures state at a single block, not the transactions that led to that state. It cannot generate state dumps that are compatible with node-level snapshot formats (e.g., Geth chaindata)—the output is a JSON representation, not a node-level database backup. It cannot ensure snapshot consistency across multiple RPC calls without a coordinated block number—the tool uses a single block number for all calls, but RPC providers may have slight delays between calls. It cannot handle contracts with dynamic storage that changes during the snapshot process—the tool does not capture storage values, only balances and code. It cannot restore snapshots to a running node without manual intervention—the tool does not have write access to any node. It cannot capture snapshots of internal contract state (storage slots, mappings, arrays) without additional storage key specifications. It cannot compare snapshots automatically—the tool captures individual snapshots but does not perform diff operations. It cannot capture snapshots across multiple chains simultaneously.
PLEASE NOTE
This tool only supports EVM-compatible blockchains (Ethereum, Polygon, BSC, Avalanche C-Chain, Optimism, Arbitrum, and their testnets). Solana, Tron, Starknet, SUI, TON, Aptos, Bitcoin, Cosmos, and XRP are not supported. The tool is free, open-source, requires no API keys, and uses the wallet's native provider for all read operations. Snapshots are for development and debugging purposes only—do not rely on them for production-critical state verification without additional validation.