Arbitrum Stylus expands developer access with WASM support

Language expansion for Arbitrum

The deployment of 340 Rust and C++ contracts in August shows the direction of Arbitrum development. Arbitrum Stylus provides a dual-VM environment for Arbitrum One and Arbitrum Nova. It runs WebAssembly alongside the Ethereum Virtual Machine. Developers write in Rust, C, or C++. This expansion moves beyond the 20,000 Solidity developers currently in the ecosystem. It brings in the 3 million Rust and C developers who already use those tools. This capability builds on the Nitro upgrade from last August, which allowed validators to run Geth and prove fraud in WebAssembly. Arbitrum calls this paradigm EVM+. The technology is additive because the EVM remains for standard transactions while the WASM VM handles specialized tasks. Engineers use the cargo-stylus CLI toolkit to manage, compile, and deploy contracts. This tool is a plugin for the standard cargo tool used for developing Rust programs. The environment supports AssemblyScript, a TypeScript-like language, and Zig, which produces small binaries.

Developers use familiar tools.

The environment supports WASM.

Performance and limitations

Efficiency varies by task.

Stylus reduces computation costs by 10x. It reduces memory costs for AI applications by 100x. For heavy tasks, the savings are high. The Rust implementation of the Poseidon hash function costs 11,887 gas, whereas the plain Solidity version costs 220,244 gas. This makes the Rust implementation 18 times cheaper. The Yul assembly implementation costs 19,313 gas. For Ed25519 signature verification, Stylus is 75% cheaper than Solidity. In contrast, ERC20 contracts do not gain the same advantages. Stylus deploy costs 11 times more gas than Solidity for ERC20 contracts. Minting costs 28% more and transfer costs 38.2% more because these tasks do not use heavy computation. The ABI and call semantics remain the same for fragmented contracts.

Task Stylus L2 Gas Solidity L2 Gas
Ed25519 Verify 225,427 904,435
ERC20 Mint 87,649 68,455
ERC20 Transfer 70,949 51,332

One developer could implement a zero-copy strategy, yet the .set_bytes() function processes only 32 bytes at a time, causing a 1,700,000 gas spike for a tree of size 20 during execution. Naive translation for a Red Black Tree used 25% more gas than Solidity. Larger trees caused the contract to crash. Contracts whose compressed WASM exceeds 24 KB require fragmentation. The cargo stylus deploy command handles this by splitting the binary into fragments. Each fragment deploys in its own transaction. A root contract is deployed last to activate the collection.

The production reality

Developers use Stylus for cryptography and complex math. The capability to use WASM languages means engineers avoid the gas limits of the EVM. This expansion benefits machine learning and gaming applications. Renegade uses MPC and zero-knowledge proofs to build an onchain dark pool. Superposition uses the Longtail AMM to keep liquidity centralized in one contract while supporting Permit2. Crypto Valley Exchange uses the stack to implement onchain portfolio margin management. Fairblock uses it to implement MPC schemes for front-running protected orders. OpenZeppelin is building Stylus libraries for Rust to make development safer. Etherscan supports contract verification and interaction on all supported Arbitrum rollups and Orbit chains. Tenderly supports Stylus with block discovery, execution, and simulations for developers. The Stylus Sprint program offers rewards of up to 5 million ARB to encourage early development. The program targets high-performance and compute-specific applications.

The technical architecture allows Solidity contracts to call Rust contracts directly. This bidirectional compatibility keeps the ecosystem unified. Developers choose Stylus for its efficiency in heavy computation. You should use this if your app requires high-performance math. Will developers solve the storage scaling issue?

New talent arrives.

Newsletter