Stylus Trace Studio - Final Report

Executive Summary

Stylus Trace Studio — Final Grant Report

Project Summary

Stylus Trace Studio set out to fill a critical observability gap for developers building on Arbitrum

Stylus: the absence of a clear, developer-friendly way to visualize how Stylus (Wasm)

transactions actually execute alongside the EVM. Over the grant period, the team delivered a

full suite of tooling — a cross-platform CLI, a diff engine with CI regression gating, a static web

viewer, comprehensive documentation, a starter repository, and ongoing maintenance. All six

milestones have been completed and delivered in full.

The project is publicly available at:

GitHub:

Crates.io:

https://crates.io/crates/stylus-trace-studio/0.1.2

Milestone 1 — Trace Ingest and Flamegraph

What Was Delivered

The foundation of the entire toolchain: a command-line interface (CLI) that connects to a local

Nitro dev node and calls debug_traceTransaction with {“tracer”:“stylusTracer”}

to fetch raw Stylus execution traces. The CLI aggregates HostIO events and Wasm to EVM

boundaries into collapsed stacks, then renders them as SVG flamegraphs and emits a

structured JSON summary.

Deliverables

CLI — reads stylusTracer output via debug_traceTransaction from the local

Nitro dev node or any tracing-enabled RPC

SVG Flamegraph Generator — visual representation of execution hot paths and HostIO

activity

JSON Summary Schema — versioned schema capturing top hot paths, HostIO event

counts, and storage-related signals where available

Cross-Platform Builds — release packages for macOS arm64, macOS x86

64, Linux

_

x86

64, and Windows x86

64_

_

Unit Tests + Smoke Test — end-to-end test using a sample Stylus transaction against

the Nitro dev node

KPI Results

KPI Target Result

Generate flamegraph and JSON for 3 sample transactions with no

Achieved

errors

Cross-platform builds published with a green CI matrix Process a 5 MB trace in under ~5 seconds on a typical CI runner Achieved

Achieved

Links

GitHub:

Crates.io:

https://crates.io/crates/stylus-trace-studio/0.1.2

Milestone 2 — Diff Engine and CI Action

What Was Delivered

A before-and-after profile comparison engine and a GitHub Action that fully automates Stylus

performance regression checks within any CI pipeline. Teams can now block pull requests

automatically when HostIO counts or execution costs exceed defined thresholds, without

requiring paid RPC endpoints or any secrets.

Deliverables

Diff Engine — deterministic comparison of two Stylus execution profiles; produces a

machine-readable diff report highlighting increases and decreases in HostIO usage and

execution weight

Threshold Policy — configurable gating on HostIO totals and time-based metrics

GitHub Action — starts the Nitro dev node inside CI, runs a scripted transaction,

captures profiles, uploads artifacts, and fails the pull request when thresholds are

breached

Example Workflows + Caching Guidance — reusable workflow files demonstrating

passing and failing cases

KPI Results

KPI Target Result

Diff engine flags synthetic regressions reliably in test cases End-to-end Action run completes in under ~6 minutes on

ubuntu-latest

Example workflow produces one passing and one failing case Achieved

Achieved

Achieved

Links

GitHub:

Video Presentation:

https://drive.google.com/file/d/1R27NuX5d4dctfRLIQ-67i

_

MoqVLTgEUe/view

Milestone 3 — Static Web Viewer and Source Hints

What Was Delivered

A fully static, zero-backend single-page web application that allows developers and reviewers to

open Stylus execution profiles locally in a browser. The viewer supports zooming into

flamegraph sections, searching by function or HostIO label, and placing two profiles side by side

for a visual before-and-after comparison.

Deliverables

Single-Page Viewer — opens local profile files with zoom and search; no server or

cloud dependency

Side-by-Side Diff View — visual comparison of two profiles highlighting regression

areas

Source Hints — best-effort file and function labels when debug symbols are present;

graceful category labels when symbols are absent

Published Static Bundle + Public Demo Site — exportable and hostable anywhere

(GitHub Pages or equivalent)

KPI Results

KPI Target Result

Viewer loads a 10 MB profile in a few seconds on a laptop-class

machine

Achieved

Basic accessibility and performance checks pass with high scores Works in Chrome and Firefox for sample profiles Fallback labels render correctly when symbols are absent Achieved

Achieved

Achieved

Links

GitHub:

Milestone 4 — Docs, Starter Repo, Onboarding, and polish

What Was Delivered

A complete onboarding layer for the tool: a ready-to-clone starter repository, step-by-step

documentation, a CI cookbook, an education template, an Orbit-chain example, a demo video,

and a published tutorial post. Any developer can go from zero to a green CI pipeline producing

Stylus flamegraphs in under 10 minutes.

Deliverables

Starter Repository — includes a Stylus contract (Rust), a Solidity caller, and a fully

green CI pipeline that produces flamegraph artifacts on every push

Quickstart Docs — Nitro dev node setup, local profiling walkthrough, CI cookbook,

troubleshooting guide, and provider notes on debug_

  • availability

Education Template — a lesson plan and walkthrough designed for workshops, DevRel

sessions, and Stylus onboarding

Orbit-Oriented Template — example configured with a custom chain ID and RPC to

demonstrate usage on app-specific L3s

Demo Video — full workflow walkthrough from clone to flamegraph:

Tutorial Post — published on Medium:

https://medium.com/@creativesonchain/profiling-arbitrum-stylus-contracts-with-stylus-tra

ce-6e04ca99fd5d

KPI Results

KPI Target Result

Time to first profile under ~10 minutes following the Quickstart Achieved

Starter repo CI green on first run with artifacts visible Achieved

Education template published Achieved

Orbit template example published Achieved

Demo video and tutorial post published Achieved

Milestone 5 — Ops and Maintenance Buffer

What Was Delivered

Post-release support covering ongoing reliability, community enablement, and ecosystem

engagement for the 6-month window following v1 launch. All support obligations under this

milestone have been fulfilled.

Deliverables

Monthly Smoke Tests — completed each month against the local Nitro dev node and at

least one public tracing provider; results logged publicly

Issue Triage — all issues responded to within 72 hours, with acknowledgement,

categorization, and reproduction guidance

Patch Releases — dependency updates and compatibility fixes shipped as needed

throughout the support window

Workshops and Posts — at least 3 demonstrations of the tool completed during the

support window through community posts, workshops, and collaborative sessions

Operational Coverage — CI minutes, code signing where applicable, and minor release

chores handled throughout the period

KPI Results

KPI Target Result

Monthly smoke tests completed and logged Achieved

Issue response within 72-hour target Achieved

At least 3 workshops or posts during support window Achieved

At least one patch per two months Achieved

Milestone 6 — Final Report

What Was Delivered

This document is the final milestone deliverable: a comprehensive review confirming 100%

completion across all milestones, with verified links, KPI outcomes, and a full summary of

ecosystem impact.

Overall Project Impact

Delivery Summary

Milestone Deliverable Status

M1 CLI + Flamegraph Generator Complete

M2 Diff Engine + GitHub CI Action Complete

M3 Static Web Viewer + Source Hints Complete

M4 Docs, Starter Repo, Demo,

Tutorial

Complete

M5 Post-Release Support Complete

M6 Final Report Complete

What the Tool Delivers for the Arbitrum Ecosystem

For developers: Flamegraphs, before-and-after diffs, and CI-integrated regression gating

replace hours of manual JSON inspection with seconds of visual review.

For reviewers and auditors: Stable, shareable SVG and JSON artifacts can be attached to

pull requests and audit reports, providing readable execution evidence without requiring any

external tooling or credentials.

For protocol and DeFi teams: HostIO hotspot visibility and cross-VM execution profiling allow

teams to proactively optimize gas cost and latency before hitting testnet or mainnet.

For Orbit chain builders: Custom chain ID and RPC support means any L3 team can adopt

the tool without modification.

For educators and DevRel: Visual, local-first flamegraphs with a sub-10-minute setup time

make Stylus concepts tangible in workshops and documentation.

Privacy and Cost Principles Met

Default workflow runs entirely on the local Nitro dev node — no paid RPC plan required

No telemetry collected unless explicitly enabled

No backend, no keys, no secrets in CI

Fully open source under the MIT license with semantic versioning

Team

Timilehin Olowu

Victor Onoja

Micheal Dean

Akeem Adelanke

Name Role GitHub

Full-Stack and Tooling Engineer — CLI,

viewer, JSON schema

Infrastructure and Automation — GitHub

Action, Nitro workflows, CI

Blockchain and Stylus Developer —

contracts, test transactions, validation

Project Manager and Dev Onboarding —

coordination, community, workshops

Key Links

Resource URL

GitHub

Repository

Crates.io

Package

Milestone

2 Video

Milestone

4 Demo

Video

Tutorial

Post

https://crates.io/crates/stylus-trace-studio/0.1.2

https://drive.google.com/file/d/1R27NuX5d4dctfRLIQ-67i

_

MoqVLTgEUe/view

https://medium.com/@creativesonchain/profiling-arbitrum-stylus-contracts-with-stylus-trace-6e04ca99fd5d