AetherWallet
Next-Gen Web3 Onboarding by combining seedless Passkey-powered AA wallets with multi-chain management.
Created on 31st March 2024
•
AetherWallet
Next-Gen Web3 Onboarding by combining seedless Passkey-powered AA wallets with multi-chain management.
The problem AetherWallet solves
Aetherwallet revolutionizes web3 onboarding & account UX by providing a seedless & gasless multi-chain smart wallet with a native on-chain domain. This domain is registered in a multi-chain ENS protocol that follows a hub & spoke architecture using CCIP for communications with the hub being deployed on Avalanche Fuji. 🗻
- Select Domain – The user selects an on-chain domain name or gets inspired by AI.
- Create Smart Wallets – Multi-chain smart wallets with counterfactual addresses on all supported chains are created with Passkey-powered signatures.
- Automatic Domain Setup – Multiple batched transactions to register & configure the users new multi-chain domain are passed within one single user operation.
- Login & Unified Dashboard – After the onboarding flow and a later via biometric login, the user is forwarded to a unified multi-chain dashboard with aggregated balances which are converted with the help of price feeds by Chainlink. In the future, this is the place where the user will be able to manage their new domain from any associated wallet on any associated chain.
With Aetherwallet, we achieve:
- Web3’s easiest onboarding process
- Seedless & gasless onboarding by leveraging account abstraction and Passkey technology
- Registering & configuring a complex multi-chain domain setup in one single user operation
- Overcoming the entire account complexity by abstracting private AND public keys.
- First cross-chain domain system where the domain can be managed from all connected chains (incl. Avalanche, Polygon, The Graph, Optimism and Base)
Challenges we ran into
Smart Contract challenges:
- Understanding ENS contracts co-dependencies; especially the PublicResolver part.
- CCIP's EIP165 supportsInterface was set to "pure" visibility and wasn't marked virtual. So we had to clone it and mark it as view and virtual.
- Some functions of CCIP & ENS libraries were incompatible with each other. We had to make conscious changes to both to solve this.
- Following on the ENS pragma statement (>= 0.8.4) our team faced inconsistent behavior. It was caused because we were using different compiler versions. Solidity version of 0.8.20 had breaking changes in both bytecode and the openzeppelin contracts. After our discovery, we bumped the versions to ^0.8.20.
Frontend challenges: - The custom integration of Passkey (Turnkey) functionality with ERC-4337 SDK (Pimlico)
- Clean Passkey UX (minimize signing requests; ui overlay; domain usernames)
- Smart Wallet initialization with domain registration, auto-setup of all multi-network addresses (via ENSIP-11), and auto-setup of reverse resolution. – Everything in one user operation with ERC-4337's executeBatch.
- Seamless multi-chain-first experience (e.g. fetching/aggregating/converting all balances from all chains; or determining counterfactual addresses on all networks)
Tracks Applied (4)
DeFi
New Subgraph
The Graph
Best use of Subgraph
The Graph
Farcaster Frames
Purple DAO
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
Discussion
Builders also viewed
See more projects on Devfolio
