Disassemble EVM bytecode
disassembleConvert EVM bytecode (from address or hex) into opcodes with program counters and flag invalid jump targets that cause reverts.
Instructions
Disassemble bytecode into opcodes with program counters. Supply either an on-chain address or a raw hex string. Crucially, this also validates statically-resolvable jump targets: a PUSH followed immediately by JUMP/JUMPI whose target is not a JUMPDEST will halt exceptionally at runtime (revert, all gas consumed). Those are reported separately as invalidJumps — a common intentional trap in CTF and puzzle contracts, and a real bug in hand-written assembly.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain name. One of: ethereum, sepolia, holesky, polygon, polygon-amoy, arbitrum, optimism, base, base-sepolia, bsc, avalanche, gnosis, scroll, linea | ethereum |
| address | No | Contract address to fetch and disassemble. | |
| rpc_url | No | Custom JSON-RPC URL. Overrides `chain`; use for private or unlisted networks. | |
| bytecode | No | Raw bytecode hex, as an alternative to address. | |
| max_lines | No | Max instructions to print. |