Stylus Ecosystem Dashboard

What Is This

A public dashboard that tracks Stylus (WASM) adoption across Arbitrum in real time. It answers basic ecosystem health questions: How many Stylus contracts exist? Is the number growing? Who's deploying them? How do they compare to Solidity contracts? Are contracts staying active or expiring?

The data comes directly from on-chain events emitted by two Arbitrum system precompiles: ArbWasm (contract activation and keepalive) and ArbWasmCache (cache management). An indexer processes these events into a PostgreSQL database, Hasura auto-generates a GraphQL API on top, and a Next.js frontend renders the dashboard.

How It Works

The system has three layers and no custom backend:

Indexer

****An Envio HyperIndex that listens for three on-chain events (ProgramActivated, ProgramLifetimeExtended, UpdateProgramCache) and writes them into entities: individual contracts, lifecycle events, cache events, and pre-aggregated daily stats. The daily aggregation happens at index time so the frontend never has to compute metrics.

API

Hasura sits on top of the PostgreSQL database and auto-generates a GraphQL API from the indexer's schema. There are no custom resolvers, no REST endpoints, no backend code. The frontend queries Hasura directly.

Frontend

A Next.js dashboard. It uses TanStack Query to poll the GraphQL API and Recharts for visualization. The frontend never calls the blockchain RPC directly, all data comes through the GraphQL API.

What the Scaffold Provides

Built: