The interoperability of WeaveVM and AO

The interoperability of WeaveVM and AO

June 24, 2024

WeaveVM is a soveriegn L1 blockchain which uses the EVM for computation and Arweave for storage. It was built to address the storage bottleneck inherent to EVM chains like Ethereum and discussed in EIP-4444.

AO is a decentralized computing system inspired by the actor-oriented paradigm. Inside the system, multiple processes can run in parallel and pass messages to each other. AO also uses Arweave for storage.

We initially explored how to operate an EVM-based chain entirely inside of AO, but due to radically different network architectures we decided to use a custom reth fork instead. Despite being separate networks, we hold interoperability with AO as a high priority.

We often hear questions from the community about how WeaveVM and AO will work together. In this article, we’ll outline interoperability as it stands today and how it will evolve in the run up to WeaveVM mainnet.

Asset interoperability

The Molecular Bridge, an asset bridge built by the Decent Land Labs team using MEM, provides a way to bridge assets between EVM chains and AO. The bridge will allow tokens like USDT, USDC, WETH and WBTC to be used natively inside of AO.

Since WeaveVM is fully EVM compatible, the WeaveVM Testnet and $WVM token will be added to the Molecular Bridge when testnet v0 launches, and EVM mainnets like Optimism and Base will be supported when AO goes into mainnet.

ERC20s will be tradeable on AO DEXs like ArSwap and Bark, and AO tokens on native WeaveVM DEXs. This exposes AO tokens to the full-featured, robust financialization of the EVM. We are also in talks with an AO-native stablecoin provider about wrapping a dollar-pegged ERC20 to WeaveVM.

Data interoperability

In May, we launched elciao - the EVM light client indexer for AO. It works by feeding a constant stream of EVM data to an AO process, storing all future EVM block metadata and proofs on Arweave in perpetuity and making that available natively to other AO processes.

This enables AO to verify transactions and smart contract states from EVM chains in a lightweight way, and unlocks use cases like triggering AO processes based on certain events (smart contract interactions like token swaps, social activity, NFT mints). This could be interesting for autonomous agents on AO that make decisions based on what happens on a given EVM chain.

Compute interopability via MEM and Smart Blobs

While WeaveVM is an EVM chain at its root, ERC-7689 introduced a way to use WeaveVM blobspace to deploy SmartWeave/MEM-standard contracts for execution off-chain in an environment like MEM.

MEM has a two-way integration with AO via the following open source tools:

With this two-way integration, MEM functions can read events in AO, perform computation, and load the result back into AO - or vice versa. With MEM functions deployed in WeaveVM blobspace, EVM’s msg.sender becomes natively available, allowing AO to identify function callers by their EVM-standard addresses.

Process trigger interoperability via WeaveVM precompiles

WeaveVM’s Arweave precompiles are a way to read and write data to Arweave directly from Solidity smart contracts. Data posted to the Arweave L1 is fed into the ao layer thanks to oracles like 0rbit and Redstone, unlocking direct interoperability to ao applications.

This means that data from WeaveVM can trigger actions for anything from minting atomic assets to executing a trade. Solidity + Arweave + ao for the first time!


Join the WeaveVM Discord to get involved and follow along on Twitter to stay up to date.