Opcode-Level Execution Step 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
Opcode-Level Execution Step Debugger is a read-only developer tool that provides opcode-level debugging of EVM execution. It reads the transaction hash (or raw bytecode), contract bytecode, opcode list at the current program counter (PC), stack contents, memory contents, storage state at the specific PC, execution step index, gas remaining, and previous step records. The tool then displays a snapshot of the EVM state at a given step, allowing developers to inspect the exact opcode being executed, the stack, memory, storage, and gas state. This is essential for understanding low-level contract behavior, debugging complex transactions, or verifying the correctness of compiler output.
HOW TO USE
Connect your wallet via the built-in connector. Select the network where the transaction was executed. Enter the transaction hash (or raw bytecode) and the step index you wish to inspect. The tool will read on-chain data and display a preview including: transaction hash, step index, opcode (highlighted), program counter (PC), gas remaining, stack contents (top to bottom), memory contents (first 64 bytes), storage state (slot 0 for demonstration), and previous step records. No transaction is signed or sent—this is a read-only debug session.
TECHNICAL MECHANISM
The tool uses ethers.js v5.7.2 to read transaction data. In a production environment, this would use a node's `debug_traceTransaction` or `evm_mine` with detailed traces to get opcode-level execution data. For this tool, the opcode state is simulated to demonstrate the visualization pattern. The opcode at the given step is determined by a sequence of common EVM opcodes (PUSH1, DUP1, SWAP1, ADD, MSTORE, JUMPI, CALL, RETURN, REVERT). The program counter is calculated based on the step index. Gas remaining is simulated as a decreasing value. Stack contents are simulated with sample values (hex-encoded). Memory is simulated with a pattern of bytes. Storage is simulated with a value based on the step index. All decoding and visualization are performed locally in the browser—no data is sent to any server, and no transaction is signed or sent.
WHAT IT CANNOT SEE
This tool cannot guarantee that the execution trace is complete—it relies on the available trace data. It cannot detect if the opcode simulation is accurate. It cannot ensure that the memory and stack states are correct. It cannot validate that the bytecode matches the source. It cannot detect if the contract has been modified. It cannot verify that the execution is reproducible. It cannot predict if the opcode trace will be available in the future.
PLEASE NOTE
This tool is EVM-only and works across all supported chains (Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, Avalanche). The opcode state is simulated for demonstration purposes. For actual opcode-level debugging, use a node with `debug_traceTransaction` support or an EVM debugger like Remix or Hardhat. The tool does not store or transmit any debugging data. Always verify the opcode state against the actual transaction trace if possible.