Milestone 1 deliverable. Companion to the Delivery Plan and the V0 prototype. Scope: Migration path from Cache Manager to Stylus Manager, and the architecture of the new Activation module across smart contracts, backend, and frontend.


1. Context & Rebrand

The Stylus Cache Manager was delivered under a previous Arbitrum grant (Stylus Sprint, 130,000 ARB, accepted Feb 2025). It ships a public, open-source dashboard for caching Stylus contracts on Arbitrum One with manual and automated bidding, alerts via Telegram, Slack and Webhooks, and contract metrics.

The new grant evolves that product into the Stylus Manager: a contract-centric platform where each Stylus contract surfaces all of its lifecycle actions in one place. Activation is the first action. Caching is the second.

The rebrand is in-place:

2. Activation: What It Is and Why It Matters

Stylus programs become non-callable if they are not re-activated periodically. This is an unfamiliar lifecycle constraint for developers used to EVM contracts, and the failure mode is silent: the contract is deployed and visible on-chain, but transactions to it revert until someone calls activateProgram.

The Activation module solves this with three user-facing capabilities:

  1. Visibility. Every Stylus contract in the platform displays its activation status (active, expiring soon, inactive) and time remaining (programTimeLeft).
  2. Manual activation. One-click action from the contract detail view (or inline from the contracts table), implemented as a direct wallet-signed call to arbWasm.activateProgram from the frontend. No backend round-trip.
  3. Auto-activation. Opt-in escrow-funded automation that re-activates contracts on the user's behalf before they expire, using the existing BiddingEscrow for funding and the existing thirdweb Engine relayer for transaction submission.

3. Smart Contract Architecture

The Activation logic is implemented as an extension of the existing CacheManagerAutomation contract rather than a new contract. This keeps the system as a single source of truth for the per-contract config and reuses the shared BiddingEscrow.

3.1 Contracts overview