The Stylus SDK already lets you build super fast smart contracts using Rust. But not every developer knows Rust. That’s where AssemblyScript comes in—it’s based on TypeScript, which many developers are already familiar with.
By adding AssemblyScript to the mix, we’re making it much easier for JavaScript and TypeScript developers to jump into blockchain development—without losing the speed and power Stylus is known for.
How This Helps the Arbitrum Ecosystem
This upgrade opens the door for thousands of TypeScript and script-based developers to build on Arbitrum. It brings more flexibility and lowers the learning curve for Web3 devs.
We’re aiming to support 90%+ of what the current Stylus SDK can do—so developers still get all the performance benefits, but with a more familiar language.
In short: more devs, building better apps, faster.
What’s Next
We’re kicking things off with technical research and SDK design. After that, we’ll move into development, sharing everything with the community along the way in the Arbitrum DAO forum.
We’ll also track important stuff like how fast the SDK is, how many people use it, and how secure it is—so the whole project stays aligned with the Arbitrum community’s goals.
Project Kickoff: Bringing AssemblyScript to Stylus
Over the next few months, the WakeUp Labs team is focused on bringing high-performance smart contracts to developers who already know a Script-based language. This means you won’t need to learn a whole new language from scratch to start building on Arbitrum.
We’re starting with deep research and SDK architecture planning, followed by hands-on development. Everything will be open and documented so the community can follow along.
We’re excited to help more developers join the Web3 movement by making powerful tools easier to use.
Stay tuned for progress updates and key milestones!
WakeUp Labs Completes Key Milestone with Arbitrum: Making Smart Contracts More Accessible with AssemblyScript
TL;DR:
We have successfully completed Milestone #2 in our collaboration with Arbitrum. This milestone focused on feasibility: could AssemblyScript really work within the Stylus framework? Our team dove deep into the Stylus SDK, WebAssembly behavior, and developer tooling. The outcome: a working proof-of-concept, a detailed technical architecture, and a clear path forward.
Our mission in Milestone #2 was to rigorously analyze whether AssemblyScript — a TypeScript-to-WebAssembly compiler — could be integrated with the Arbitrum Stylus SDK. The goal: enable developers to write Stylus-compatible smart contracts using a familiar, script-like syntax. With so many developers already proficient in JavaScript and TypeScript, AssemblyScript has the potential to broaden participation in smart contract development.
But first, we had to answer a critical question: Can AssemblyScript work smoothly with Stylus?
To achieve this, we began by researching how AssemblyScript interacts with WebAssembly, focusing on its unique patterns and constraints. We then performed an in-depth analysis of the Stylus SDK to pinpoint the most viable integration points. Based on these insights, we defined the technical requirements needed to create robust AssemblyScript bindings. With those foundations in place, we designed a high-level architecture for the toolchain that outlines how the components would work together. Finally, we built an initial proof of concept to validate the core integration and demonstrate its potential.
What We Deliver
This phase was all about exploring that integration. Here’s what we delivered:
Feasibility Report. A detailed study of AssemblyScript ↔ WebAssembly interaction challenges and Stylus SDK architecture.
High-Level Architecture. We mapped out how AssemblyScript bindings would bridge into Stylus, including a modular view of necessary components.
Roadmap. A technical trajectory covering how we’ll move from research to production-grade tools, with priorities for binding design and dev tooling.
Initial Proof of Concept. A minimal implementation showing key components of AssemblyScript interacting with Stylus VM — early, but effective.
A demo — as an example of a successful implementation integrated with Stylus VM.
What’s Next?
With Milestone #2 complete, we’re moving into Milestone #3: Core Development – Setting the Foundation, where we’ll:
Build the actual AssemblyScript bindings and SDK-compatible APIs.
Set up a dedicated WebAssembly compilation pipeline tailored for AssemblyScript.
Begin developing developer-facing utilities for contract compilation and testing.
AssemblyScript offers a TypeScript-like syntax that lowers the learning curve for Web2 developers entering Web3. By bringing this to Stylus, we’re expanding the smart contract developer base — without compromising on performance or safety. It’s a step toward greater inclusivity and innovation in the Arbitrum ecosystem.
Thanks for following along! Don’t forget to connect with us on X (Twitter) and LinkedIn for the latest updates.
We’ve just released a demo showcasing our AssemblyScript integration with the Stylus SDK, part of our ongoing collaboration with Arbitrum. The demo features an ERC-20 smart contract written in AssemblyScript, demonstrating how TypeScript developers can now get closer to onchain deployment using familiar syntax.
Milestone #3 & #4 Completed: Core Development and Feature Implementation
TL;DR:
We’ve completed our third and fourth milestones, pushing AssemblyScript support for Stylus into real development workflows. From APIs and compilation to ERC standards and CLI tooling developers can now start experimenting with AssemblyScript smart contracts on Arbitrum.
This phase was focused on laying the technical foundation for AssemblyScript on Stylus:
Built a WebAssembly compilation workflow tailored for AssemblyScript and compatible with Stylus constraints.
Defined early-stage AssemblyScript APIs to expose essential types and contract patterns.
Delivered a minimal example contract in AssemblyScript to illustrate the development flow.
Introduced an initial ABI generation process to support tooling compatibility.
Deliverables
As part of this milestone, we focused both on proving the technical workflow and on making the developer experience more tangible. Here’s what we shipped:
AssemblyScript and TypeScript share a familiar syntax, lowering the barrier for thousands of developers to build on Stylus. Bringing this to Stylus makes Arbitrum more accessible while preserving the performance and safety of WebAssembly.
We’ll continue sharing progress as we move into the next milestones. Stay up to date by following us on X (Twitter) and LinkedIn, where we post regular updates, demos, and opportunities to get involved.
Milestones #5 & #6 Completed: Testing, Optimization, and Real Use Cases for AssemblyScript on Stylus
TL;DR:
We’ve completed Milestones #5 and #6 for the AssemblyScript SDK on Arbitrum Stylus, advancing from performance optimization and testing to functional validation with real use cases. Developers can now test, deploy, and interact with AssemblyScript contracts through an optimized SDK, CLI, and Playground.
Milestone #5: Testing & Developer Experience
This phase focused on improving performance, maintainability, and developer experience.
We prepared testing environments, refined syntax and type definitions, and updated the developer playground and documentation for a pre-production release.
Refactored and optimized the codebase for performance and maintainability.
Prepared testing environments for advanced use cases and edge cases.
Updated syntax, type definitions, and developer tooling.
Released updated documentation and playground reflecting the new syntax.
We then moved into functional testing and validation across modules, introducing a fully integrated example app.
Expanded end-to-end test coverage.
Executed functional tests for both SDK and CLI.
Benchmarked performance (AssemblyScript vs Solidity ERC-20).
Added a real-world Raffle Application demonstrating complete front-end integration.
Delivered detailed QA and performance reports.
Raffle Application
A real example demonstrating how developers can deploy and automate AssemblyScript contracts using the SDK and CLI, working as an escrow that sends ETH to the winner. View Contract on Arbitrum Mainnet
These milestones mark a crucial step toward a stable beta version of the SDK and CLI, laying the groundwork for developers to build and test smart contracts on Stylus using AssemblyScript.
Next, we’ll continue refining the toolchain, addressing edge cases, and strengthening robustness for a seamless developer experience.
Milestone #7 Completed: NPM Deployment, Extended Features & Community Engagement
TL;DR
We’ve successfully completed Milestone #7 for the AssemblyScript SDK on Arbitrum Stylus, deploying our tooling to production (NPM), updating all documentation, and extending functionality based on developer feedback. Developers can now install the SDK and CLI directly from NPM, explore the new documentation, and start building richer ccontracts in the language they already know.
Overview
This milestone focused on bringing our AssemblyScript SDK and CLI to production readiness and making them widely accessible through NPM and developer documentation.
We also deepened our engagement with the community through talks and events to promote adoption across the Arbitrum ecosystem.
Key Achievements
NPM Deployment: All tooling components deployed and validated in live environments.
Documentation Update: Fully synchronized developer documentation, guides, and API references.
Community Engagement: Product showcased at Devconnect Buenos Aires (Stylus Awakening and Arbiverse panels), along with outreach to the Spanish-speaking developer community.
Enhancements Beyond Scope: Integrated developer feedback into multiple improvements that strengthen performance and usability.
New Features and Improvements
As part of this milestone, we introduced several upgrades that go beyond the original scope:
Integrated Testing Configuration: Added directly to the generate command, enabling full project bootstrapping for faster onboarding.
Expanded VM Affordances: Exposed msg, block, and contract objects for richer and more ergonomic smart-contract development.
Numeric Constants Support: Allowing values defined outside the contract, providing a flexible alternative to enums.
Extended Test Suite: Added well-known patterns like AccessControl, Pausable, and Ownable to strengthen real-world applicability.
These features were driven by developer feedback and internal testing, aligning the SDK and CLI with real development workflows and practical expectations.
Deliverables
Production Deployment: SDK, CLI, and related packages published and verified.
Documentation Update: Updated references, guides, and API documentation.
NPM Release: Stable versions available for the community.
Extended Test Suite: Additional patterns included.
Demo Video: Showcasing the new features and testing flow.
Community Engagement: Talks and presentations at Devconnect and with Spanish-speaking developers.
While this milestone establishes a solid foundation for building smart contracts in AssemblyScript on Stylus, we’re already planning the next phase. Our upcoming work will focus on introducing advanced data structures, improving workflow automation, and enabling richer communication patterns between contracts, continuing to make Stylus development faster, safer, and more accessible for the TypeScript community.
Milestones 8 & 9 Completed: Advanced Data Structures, Production-Grade Testing & Developer Experience Upgrades for AssemblyScript on Stylus
TL;DR
We’ve successfully completed Milestones #8 and #9 of the AssemblyScript SDK for Arbitrum Stylus.
These milestones significantly expand the SDK’s data modeling capabilities through advanced mapping support, introduce stronger guarantees via comprehensive automated testing, improve documentation clarity, and enhance the Developer Playground.
Together, they move the SDK from feature expansion to production maturity, enabling developers to build more expressive, reliable, and scalable smart contracts in AssemblyScript on Stylus.
Overview
With Milestone #7, we brought the SDK to production via NPM and expanded real-world usability.
Milestones #8 and #9 focused on deepening the core technical capabilities while reinforcing reliability and developer experience.
This phase had two strategic goals:
Increase expressive power, enabling developers to model complex onchain state patterns.
Increase robustness and clarity, ensuring those features are well-tested, documented, and easy to adopt.
The result is a more mature SDK aligned with real-world development needs across governance systems, registries, permission frameworks, and DAO-style architectures.
Milestone #8: Advanced Mapping Support & Stability Improvements
Mappings are foundational to smart contract architecture. Expanding their flexibility unlocks more sophisticated contract logic.
During Milestone #8, we significantly enhanced the SDK’s mapping system to support broader type combinations, dynamic data handling, and richer state modeling.
Extended Mapping Capabilities
We expanded support for mappings to handle multiple combinations of supported basic types as both keys and values. This allows developers to implement more expressive structures such as: registries, voting, DAO-like patterns.
Dynamic Type Handling
Supporting dynamic types (such as String) inside mappings required careful implementation, including: Runtime allocation, hashing, Comparison, and Storage layout.
This ensures predictable behavior across memory and storage contexts, which is critical for production-grade contracts.
Beta Struct Support in Mappings
We introduced beta support for structs as mapping values (excluding string fields), enabling richer state representations while maintaining layout predictability.
Stability Improvements & QA
Alongside feature expansion, we implemented continuous bug fixes and stability improvements across the SDK and CLI based on:
Internal regression testing
Alpha user experimentation
Early community feedback
The result is a more stable and deterministic development environment.
Community Contribution Integration
A key milestone during this phase was merging our first external community contribution.
We reviewed and integrated a PR by @Alstomaldev, introducing automated local testing infrastructure:
Spins up a Nitro dev node via Docker
Runs the complete test suite
Tears it down automatically
This dramatically improves local reproducibility and lowers friction for developers.
PR:
Demonstration: Voting App
To validate the expanded mapping system, we implemented a full Voting App demonstrating:
Advanced mapping combinations
Struct-based state modeling
Governance-style logic patterns
Realistic DAO-like contract flows
This demo confirms that the SDK now supports more complex and production-aligned use cases beyond simple ERC-style contracts.
Following feature expansion, Milestone #9 focused on quality assurance and developer experience, ensuring the SDK’s advanced features are reliable, understandable, and easy to adopt.
Full Automated Test Coverage
We implemented a comprehensive end-to-end test suite covering all mapping type combinations, edge cases, struct-based mapping values, memory vs storage behavior, and runtime consistency checks.
Documentation Expansion & Clarity
We expanded the documentation to reduce ambiguity and improve onboarding.
Enhancements include detailed explanations of mapping behavior, storage layout guarantees, type compatibility matrix, practical usage examples, and structured walkthroughs for advanced patterns,
We reorganized documentation sections to improve discoverability and added example-driven explanations to reduce the learning curve for new developers.
Developer Playground Upgrade
We also expanded the Developer Playground to execute any smart contract via its ABI, improve interactive experimentation, and reduce friction for prototyping.
This allows developers to test advanced contracts directly from the browser, without full local setup, accelerating iteration cycles.
Ecosystem Impact
These milestones represent a transition from feature development to ecosystem maturity.
With advanced data modeling, robust testing infrastructure, improved documentation, and better tooling, the AssemblyScript SDK for Stylus is now more expressive, more stable, more production-ready and more accessible to the TypeScript community.
By reducing friction and increasing reliability, we are lowering the barrier for TypeScript developers to build high-performance smart contracts on Arbitrum Stylus.
This continues our commitment to expanding Stylus adoption across broader developer audiences.