Fork Test Environment 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
Fork Test Environment Snapshot Manager is a developer tool that manages snapshots of forked blockchain environments for testing and development. It reads the fork endpoint (Alchemy/Infura URL), block number, contract state at that block, account balances, storage slots, bytecode, and previous snapshot records. The tool then enables you to create snapshots of the current forked state, revert to a previously created snapshot, delete snapshots, and record snapshot metadata. This is essential for testing scenarios where you need to reset the fork state to a known point, such as before running a suite of tests or after making changes that affect the state.
HOW TO USE
Connect your wallet via the built-in connector. Select the network you want to fork. Enter the fork endpoint (e.g., Alchemy or Infura URL) and the block number to fork from (defaults to "latest"). Choose the action: create snapshot (saves current state), revert to snapshot (restores a previous state), or delete snapshot (removes a saved snapshot). If reverting or deleting, provide the snapshot ID. The tool will read the current state, display a preview including: fork endpoint, block number, action, snapshot ID, payment token, account balance, contract bytecode, estimated gas, and a list of current snapshots. Review all details carefully. Click "execute snapshot operation" to perform the action. The tool will guide you through the appropriate steps for your chosen action.
TECHNICAL MECHANISM
The tool uses ethers.js v5.7.2 to interact with the forked environment. It reads the current block number using `provider.getBlockNumber()` and contract state using `provider.getCode(address)` and `provider.getStorageAt(address, slot)`. Account balances are read via `provider.getBalance(address)`. For snapshot creation, the tool captures the current state by recording the block number, balances, and contract storage. For reverting, the tool restores the saved state by resetting the fork to the recorded block number and re-reading the state. For deletion, the tool removes the snapshot record from the local tracking. All operations are signed by the connected wallet, and the user pays gas fees for any on-chain operations (e.g., if the fork environment has a snapshot contract). The tool uses EIP-1559 fee data from `feeData` for gas estimates and transactions. The tool does not store snapshots persistently across sessions; they are managed in memory for the current session.
WHAT IT CANNOT SEE
This tool cannot guarantee that the snapshot state matches the real chain after new blocks are mined—forked environments may diverge. It cannot detect if the fork environment is properly configured—you must ensure the endpoint is correct. It cannot ensure that snapshots are reproducible across different nodes—different nodes may have different sync states. It cannot verify that account balances are accurate after forking. It cannot predict if storage slots will change after snapshot creation. It cannot validate that the fork endpoint is reliable or has the necessary archive data. It cannot ensure that snapshot IDs are unique across different runs. It cannot verify that the snapshot state is consistent across multiple providers.
PLEASE NOTE
This tool is EVM-only and works across all supported chains (Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, Avalanche). Snapshots are managed in memory for the current session and are not persisted across page reloads. For production testing, consider using dedicated fork testing frameworks. The tool does not store or transmit any snapshot data beyond what is displayed in the UI.