OpTrace is a high-performance, open-source EVM Debugger for deep-dive Ethereum transaction replaying, state inspection, advanced condition scanning, and what-if fork debugging.
optrace_1080p.mp4
- Load and replay execution by transaction hash
- Step, continue, drag timeline, and jump to specific step
- Playback speed control and back/forward navigation
- Opcode view: current PC highlight, breakpoints, category filters
- Stack view: depth and values
- Memory view: hex/ASCII, range selection, copy
- Storage view: persistent and transient storage changes
- Logs view: event browsing and step jump
- Return Data / State Diff views
- Call Tree for internal call hierarchy
- Jump from call nodes to corresponding steps
- Switch by transaction/frame context
- Multiple condition types (storage access, call address, selector, log topic, etc.)
- AND/OR condition composition
- One-click full scan with hit list and quick jump
- Optional scan scope by transaction
- Opcode line breakpoints with labels
- Hit list and fast positioning
- Pause by opcode type
- Modify stack/memory at any step and fork execution
- Replay patched execution in a separate window
- Compare what-if paths against original run
- Analysis: run scripts against trace data
- Utilities: hash, 4byte, ABI, slot, and conversion tools
- Bytecode tool: quick disassembly and inspection
- Build and render control flow graph
- Highlight blocks/edges by execution sequence
- Zoom, pan, center, and step-linked navigation
- Press
Fto enter Hint Mode for keyboard-first click/navigation - Press
Shift+Fto open Panel Selector hints (1-8) and quickly focus a panel - Press the shown number key to select; press
Escto cancel - Press
?to open keyboard shortcuts help
OpTrace can visualize test execution traces exported from Foundry.
Step 1 — Export the trace from your project root:
forge test --debug --mp "test/**/**.t.sol" --match-test "<test_name>" -vvvvv \
> ./optrace_calltree.json \
--dump ./optrace_dump.jsonReplace <test_name> with the exact test function name you want to debug (e.g. testExploit). The two output files must be placed in the Foundry project root.
Step 2 — Open in OpTrace:
Launch OpTrace, click the Foundry button in the top-right corner of the main interface, then select the Foundry project root folder. OpTrace will load the trace and open the debugger automatically.
pnpm install
pnpm tauri devIf OpTrace helps your workflow, sponsorship is appreciated.
EVM Address: 0xCa6D18615e4EB3Fa58ceB0155234E0F6b3A5e312
See THIRD_PARTY_LICENSES.md.
MIT. See LICENSE.