ABI 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
ABI Generator helps you recover function selectors from compiled contract bytecode. Paste bytecode or provide a contract address, and the tool scans the bytecode to extract all 4-byte function selectors it can find. It then generates a minimal ABI with placeholder function names, giving you a starting point for contract interaction when you don't have the original ABI. This is essential for developers working with unverified contracts, auditors analyzing unknown bytecode, or anyone who needs to understand what functions a contract might expose.
HOW TO USE
Connect your EVM wallet (optional—the tool works read-only). Select the network from the dropdown. Enter a contract address to fetch its bytecode, or paste bytecode directly into the bytecode field (or both—address takes priority). Click "generate" to extract function selectors. The tool displays the number of selectors found, lists each selector with an index, and generates a minimal ABI with placeholder function names. The placeholder names are based on the selector value, which you can replace with actual function names if you know them. Use the "clear" button to reset all fields. No signing or approvals required.
TECHNICAL MECHANISM
The tool uses a heuristic approach to extract function selectors from bytecode. It removes the 0x prefix from the bytecode and scans for 4-byte (8 hex character) sequences that appear as valid selectors. It filters out common padding values (0x00000000, 0xffffffff, 0x00000001) to reduce false positives. The tool also avoids duplicate selectors using a Set. The extracted selectors are displayed as a list, and a minimal ABI is constructed by mapping each selector to a placeholder function with the name "function_[selector]" with empty inputs and outputs and a view state mutability. The tool also detects if the address is a contract and fetches its bytecode using provider.getCode().
WHAT IT CANNOT SEE
This tool cannot generate a complete ABI from bytecode alone—only function selectors can be extracted, not function names, parameter names, or parameter types. It cannot recover function names or parameter names from bytecode—those are lost during compilation. It cannot generate ABI for contracts with non-standard or optimized compilation patterns, such as those using the legacy assembly or custom encoding. It cannot verify that the generated ABI is correct or complete—it only extracts selectors that appear in the bytecode. It cannot detect events or errors from bytecode. It cannot parse source code to generate a full ABI—you must use a Solidity compiler for that. The tool is limited by the quality and completeness of the provided source or bytecode.
PLEASE NOTE
Works exclusively on EVM-compatible chains: Ethereum Mainnet, Goerli, Sepolia, Polygon, Arbitrum, and Optimism. Solana, Tron, Starknet, SUI, TON, Aptos, Bitcoin, Cosmos, and XRP are not supported. This is a read-only, free developer tool—use it for contract analysis and reverse engineering, but always combine with other sources for accurate ABI information. The generated ABI contains placeholder function names and is not suitable for production use without manual verification and correction.