EVM transaction traces contain valuable evidence about how a contract executes: nested calls, gas usage, reverts, errors, and storage changes. But navigating raw trace output can be difficult when you need to understand how individual execution frames relate to each other.
EVMTraceX is a terminal-first EVM execution trace explorer written in Rust. It turns supported execution traces into an interactive interface designed for developers, auditors, and security researchers.
The project is open source under the MIT License.
Repository: GhostLabs-dot/EVMTraceX
Downloads: EVMTraceX v0.2.1 Releases
Exploring the execution tree
EVMTraceX presents execution traces as a navigable tree rather than an unstructured block of output. This makes it easier to follow nested calls and move between relevant execution frames.
The interface provides an overview of the trace, including frame counts, revert counts, storage writes, and execution status when available in the input.
Supported trace inputs include Geth-style callTracer JSON and Foundry textual traces.
Inspecting individual frames
Selecting a frame exposes more detailed execution information, including call type, target address, gas usage, execution status, and other fields available in the trace.
The interface also supports keyboard-driven navigation and filtering. You can move between frames, inspect details, filter matching calls, and focus on reverted frames or frames with storage changes.
Investigating storage changes
Storage modifications can help explain how execution affects contract state. EVMTraceX provides a storage view that associates changes with execution frames and shows available before-and-after values.
The information available depends on the trace format and the fields supplied by the input. The tool preserves the available evidence instead of inventing missing execution data.
Finding reverts and errors
When a trace contains a revert or execution error, EVMTraceX makes that status visible in the interface. This helps developers investigate where an execution failed and examine the associated frame details.
This is particularly useful when inspecting complex call sequences or examining traces produced during testing.
Quick start
Option 1: Download a prebuilt binary
Open the EVMTraceX v0.2.1 release page and select the archive matching your operating system and CPU architecture.
Prebuilt archives are available for:
- Linux x86-64
- Linux ARM64
- macOS Intel
- macOS Apple Silicon
- Windows x86-64
The release notes include SHA-256 checksums for verifying downloaded archives.
After extracting the archive, run the executable with --help to see the available command-line options.
On Linux or macOS:
./evmtracex --help
On Windows PowerShell:
.\evmtracex.exe --help
Option 2: Build from source
Install the stable Rust toolchain, then clone the repository and build the project:
git clone https://github.com/GhostLabs-dot/EVMTraceX.git
cd EVMTraceX
cargo build --release --locked
Run the included example trace:
./target/release/evmtracex examples/sample_trace.json
On Windows, the executable is named evmtracex.exe.
For more usage examples and input-format details, see the project README.
Working with Foundry traces
You can capture a Foundry test trace and inspect it with EVMTraceX:
forge test -vvvv > foundry-trace.txt
./target/release/evmtracex --foundry foundry-trace.txt
For additional storage-change output from Foundry, use the verbosity level documented in the project README.
Using RPC tracing
EVMTraceX can also fetch a completed transaction trace when an RPC endpoint is explicitly configured and supports the required debug_traceTransaction call with callTracer.
RPC access is optional. Local trace files can be inspected without configuring a remote endpoint.
What EVMTraceX is — and what it is not
EVMTraceX is an execution trace explorer, not an automatic vulnerability scanner.
Its purpose is to help engineers inspect execution evidence. It does not currently provide symbolic execution, exploit generation, automatic vulnerability classification, opcode-level structLogs analysis, or arbitrary ABI argument decoding.
The tool is designed to make supported trace data easier to navigate while keeping the limits of that data explicit.
Project links
- Source code: GitHub repository
- Releases and downloads: EVMTraceX releases
- Bug reports and feature requests: GitHub Issues
- Company: Ghost Labs
EVMTraceX is developed and maintained by Ghost Labs as part of our work on developer tooling, EVM analysis, and software security research.
Feedback is welcome, especially from developers who work with Foundry, Geth traces, and terminal-based debugging workflows. Which trace formats or inspection features would be most useful in your workflow?




Top comments (0)