metu

a scatter gather chain abstraction first wallet. a form of unified tokens wallet.

metu

Created At

HackMoney 2026

Winner of

ENS

ENS - Integrate ENS

Prize Pool

Project Description

Metu is an iOS smart wallet application designed to abstract away the complexities of multi-chain interactions using EIP-7702 and Intent-Based Architectures. It allows users to control their funds across multiple blockchains using a single, secure identity (Passkey) and a unified user interface, treating the entire crypto ecosystem as a single synchronous network.

How it's Made

Metu isn't another wallet wrapper; it's a Universal Intent Execution Engine running on iOS. We didn't want to build a "multi-chain wallet" where users manually bridge and swap. We wanted a synchronous, unified experience where the user just executes an action and the protocol figures out the rest/ sources the funds.

RouteComposer & The Global Accumulator Complex cross-chain actions are orchestrated by the RouteComposer (found in our Compose package). It breaks down a user's high-level intent into a DAG of chain-specific actions.

The "Global Accumulator": This is our deterministic smart contract that acts as a clearinghouse. It is bound to a unified token account to validate intents globally. When you want to bridge-and-swap, the Accumulator is the target recipient on the destination chain. It receives the funds + a signed message payload instructing it what to do next.

To achieve this, we had to get creative with EIP-7702 and a custom Global Accumulator architecture.

Cross-Chain Pairing: Across + Li.Fi We built a specialized routing pipeline that pairs Across V3 with Li.Fi:

Li.Fi serves as our aggregation layer. It scans DEXs and bridges to find the optimal swap routes and calldata. Across V3 provides the settlement speed. Because Across uses intent-based bridging (resolvers front capital), we can execute "fast exits" where the resolver fills the user's request on the destination chain almost instantly.

The Flow: Source: RouteComposer uses Li.Fi to swap Token A → Bridge Token (if needed). Bridge: We initiate an Across V3 deposit with a custom message payload targeting our Accumulator. All participating chains i.e fund sources execute this payload. Destination: The Accumulator receives the funds + message from the sources, validates the intent hash, and accumulates incoming funds until it is certain all participating chains has deposited. If output token is needed, the accumulator executes a lifi action on the destination and forwards the accumulated funds to the target.

ENS as a Primitive We didn't stop at a resolver on a text field. ENS is baked into the validation logic as a first-class citizen. We implemented a custom ENSService that performs just-in-time resolution during the intent construction phase.

Tech Stack Language: 100% Swift (No React Native). UI: SwiftUI with a reactive, component-driven architecture. State Management: Observation framework (Swift 5.9+). Modules: We structured the app into distinct packages (RPC, AA, Compose, Account) to keep the "crypto plumbing" strictly separated from the UI logic.

background image mobile

Join the mailing list

Get the latest news and updates

metu | ETHGlobal