
Luna
Luna is an On-Chain Non-custodial Wallet that even your grandma can use it
Demo
About
Unlike traditional wallets with a defined owner, Luna operates on the principle that ownership is established by possessing a valid zero-knowledge proof (zk-proof) generated through passkeys and email verification. This wallet introduces a new paradigm in digital asset management, ensuring privacy, security, and optimal performance.
How it's made
The project consists of 4 parts/folders - 1. Circuits: 4 circuits which include Poseidon hash, blake2s hash(Not used, higher constraints than Poseidon), passkey proving circuit, and recovery proving circuits. 2. Clients: Written in Javascript, Using Next.js, TailwindCSS. A minimalistic frontend to safely access your wallet which generates client-side ZK-proofs. 3. Contracts: Deployed and verified on Scroll Sepolia Network. The verified contracts can be found on GitHub ReadMe. Consists of Passkey Verifier, Recovery Verifier, Wallet, Wallet Factory, and ERC-2771 Forwarder Contracts. 4. Server: Written in Javascript, using Express.js. A custom backend for end-to-end encrypted chats.