Fallback Function Trigger Debugger
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
Fallback Function Trigger Debugger helps developers and auditors understand how a contract behaves when it receives unexpected calls or plain ETH transfers. You provide a contract address and optional call data and ETH value; the tool analyzes the contract's bytecode to detect whether it has a receive() function, a fallback() function, or neither. It also estimates gas for the provided call data and checks if the contract is a proxy that might delegate the fallback logic to an implementation. This is critical for debugging contracts that accept arbitrary calls, implement emergency stop patterns, or need to handle ETH directly.
HOW TO USE
Enter the contract address you want to analyze. Optionally provide transaction data (as hex) and an ETH value (in wei) to simulate a specific call. You can also provide a custom RPC URL if you are not connected via wallet. Click "detect fallback". The tool fetches the contract bytecode, detects fallback and receive functions using heuristic patterns, estimates gas for the provided data, and checks for proxy patterns. Results show whether each fallback type is present, the bytecode size, any gas estimate, and guidance on what the contract can handle.
THE REAL MECHANISM
The tool uses ethers.js v5 to fetch contract bytecode from the blockchain. It analyzes the bytecode for known patterns associated with receive() and fallback() functions — specifically looking for the presence of the function selector 0x150b7a02 (receive) and fallback patterns like 0x69817061. While bytecode analysis cannot guarantee the exact behavior without source code or full disassembly, it provides a strong heuristic indicator. If call data is provided, the tool performs an eth_estimateGas call to simulate execution and detect whether the call would succeed or revert. It also checks the EIP‑1967 implementation slot to detect proxies, which may delegate fallback handling to another contract. All analysis is read‑only and does not modify state.
WHAT IT CANNOT SEE
The tool cannot determine if fallback functions are malicious, detect if fallback execution will succeed without full simulation, handle contracts with complex fallback logic, predict cross‑contract fallback chains, verify if fallback functions are intentionally designed, or detect fallback functions that rely on block context (e.g., block.timestamp or block.number). Bytecode detection is heuristic — a contract may have a fallback function that the tool does not detect, or may appear to have one that is never reached. Always verify behavior through direct interaction or thorough code review.
PLEASE NOTE — EVM CHAINS ONLY
This tool is designed for Ethereum Virtual Machine (EVM) compatible chains. It relies on EVM bytecode patterns and standard RPC methods. All processing occurs in your browser; no contract data is stored or transmitted.