Atupa (meaning Lantern/Lamp) is a professional-grade EVM execution profiler designed to turn raw JSON-RPC debug_traceTransaction logs into actionable visual insights. Whether you are debugging a complex DeFi reentrancy or optimizing a gas-intensive Uniswap v4 hook, Atupa sheds light on the internal state of every transaction.
✨ Key Features
- 🔥 Visual Flamegraphs: Collapses thousands of EVM opcodes into hierarchical gas-weighted visualizations.
- 🚨 Crimson Revert Identification: Instantly identifies failing sub-calls with high-contrast crimson gradients.
- 🔍 Smart Contract Resolution: Automatically resolves hex addresses to verified contract names via Etherscan V2.
- ⚙️ Layered Configuration: Robust configuration management via
atupa.toml, environment variables, and CLI overrides. - 🛠 Modular Library Architecture: Pure Rust implementation with separate crates for RPC, Parsing, and Visualization.
🚀 Quick Start
Installation
Profiling a Transaction
# Profile a mainnet transaction
# Run the offline demo
📦 Project Structure
Atupa is built as a highly modular monorepo:
| Crate | Description |
|---|---|
atupa |
The primary command-line interface. |
atupa-core |
Shared types and core configuration logic. |
atupa-parser |
The aggregation engine that collapses EVM traces. |
atupa-rpc |
Async Ethereum JSON-RPC client & Etherscan resolver. |
atupa-output |
SVG generation engine using Askama templates. |
🤝 Contributing
We welcome contributions! Please see our Contributing Guidelines for more details.
📄 License
Atupa is dual-licensed under the MIT License and the Apache License 2.0.