Fuzz Test Seed Corpus Generator
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
Fuzz Test Seed Corpus Generator is a read-only developer tool that generates a seed corpus for fuzzing smart contracts. It reads the contract ABI, function signatures, parameter types, edge case values, and fuzzing configuration (iterations and mutation rate). The tool then produces a diverse set of random function calls with varying parameter values that can be used as input seeds for fuzzing frameworks like Echidna, Foundry, or Mythril. This helps developers test their contracts more comprehensively by providing a starting corpus that covers a wide range of function calls and parameter combinations.
HOW TO USE
Connect your wallet via the built-in connector. Select the network where the contract is deployed (used for context only). Enter the contract ABI as a JSON array. Optionally, specify a comma-separated list of function signatures (e.g., "transfer(address,uint256),balanceOf(address)"). Configure the number of iterations (seeds to generate) and the mutation rate (probability of using edge case values instead of random values). The tool will parse the ABI, extract functions, and generate a seed corpus with random function calls and parameter values. The results display: functions detected, number of seeds generated, iteration count, mutation rate, and the seed corpus itself—a list of function calls with arguments. The tool also shows previous corpus records (simulated, as this is read-only).
TECHNICAL MECHANISM
The tool uses the contract ABI to extract function names and parameter types. It supports common parameter types including address, uint256, int256, bool, string, and bytes32. The seed generation process works as follows: for each iteration, the tool randomly selects a function from the available functions. It then generates a random number of arguments (1-3) and for each argument, it randomly selects a parameter type and generates a value. If the mutation rate is triggered, the tool uses a predefined set of edge case values (e.g., zero address, max uint256, zero bytes, etc.) instead of random values. The generated seeds are displayed as function call strings with their arguments. The tool does not execute any transactions or interact with the blockchain beyond reading the ABI provided by the user. All generation is performed locally in the browser—no data is sent to any server. The tool does not store any corpus data; it only displays it in the UI.
WHAT IT CANNOT SEE
This tool cannot guarantee that generated seeds will uncover all vulnerabilities—fuzzing coverage depends on the fuzzing engine and the contract's complexity. It cannot detect if seeds are valid for the specific contract implementation (e.g., if the contract requires a certain state). It cannot ensure that seeds cover all possible edge cases. It cannot verify that seeds are deterministic across different fuzzing engines. It cannot predict if seeds will trigger corner cases in the contract. It cannot detect if seeds are too similar to each other. It cannot guarantee that seeds are reproducible across environments. It cannot verify that seeds are appropriate for the contract's current state.
PLEASE NOTE
This tool is EVM-only and works across all supported chains (Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, Avalanche). The corpus generation is local—no data is transmitted. The generated seeds are a starting point for fuzzing; you should combine them with other inputs and run the fuzzing engine for sufficient time to achieve good coverage. The tool does not execute any tests—it only generates seeds. Always validate the generated seeds before using them in a fuzzing campaign.