EVM Debugger & Transaction Trace Analyzer: A high-performance Rust/Tauri desktop app for deep-dive smart contract auditing and replaying.
OpTrace
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.
Feature Overview
1) Transaction Replay and Navigation
- Load and replay execution by transaction hash
- Step, continue, drag timeline, and jump to specific step
- Playback speed control and back/forward navigation
2) Execution State Inspection
- 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
3) Call Context and Structure
- Call Tree for internal call hierarchy
- Jump from call nodes to corresponding steps
- Switch by transaction/frame context
4) Condition Scan
- 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
5) Breakpoints and Marks
- Opcode line breakpoints with labels
- Hit list and fast positioning
- Pause by opcode type
6) Fork Debugging
- Modify stack/memory at any step and fork execution
- Replay patched execution in a separate window
- Compare what-if paths against original run
7) Analysis and Utilities
- Analysis: run scripts against trace data
- Utilities: hash, 4byte, ABI, slot, and conversion tools
- Bytecode tool: quick disassembly and inspection
8) CFG View
- Build and render control flow graph
- Highlight blocks/edges by execution sequence
- Zoom, pan, center, and step-linked navigation
9) Hint Mode
- 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
Foundry Integration
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.json
Replace <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.
Install & Run
pnpm install
pnpm tauri dev
Sponsorship
If OpTrace helps your workflow, sponsorship is appreciated.
EVM Address: 0xCa6D18615e4EB3Fa58ceB0155234E0F6b3A5e312
Third-Party Licenses
See THIRDPARTYLICENSES.md.
License
MIT. See LICENSE.