• © Goverland Inc. 2026
  • v1.0.8
  • Privacy Policy
  • Terms of Use
MMG GeneralMMG Generalby0xa34FbC6bB017cd320833d74547fC639ECf39C12bthisisthetruth.lens

Grants Proposal #002 - Unipass

Voting ended over 3 years agoSucceeded

Author(s): Justin Knoll / Alex Jupiter

Project Name: Unipass Smart Contract Wallet MetaMask Snap: featuring email based social recovery

Category: Accounts and Key Management

Project Description / Executive Summary: The goal of this grant project is to bring the power of smart contract wallets with Account Abstraction to MetaMask via a Snap built by the company Unipass. The project will first add social recovery functionality to remove the need for seed phrase management from the users, one of the largest pain points and security hazards when using an Externally Owned Account wallet (like MetaMask). The project will then gradually add other functionalities like gas abstraction (pay gas with ERC-20 tokens) and batch transactions that will greatly reduce friction and improve user experience.

The power of social recovery systems is well understood. Vitalik wrote in his blog (https://vitalik.ca/general/2021/01/11/recovery.html) that “the goal of crypto is to give people access to cryptographic and economic building blocks that give people more choice in whom to trust”, continuing with “multisig and social recovery are a perfect expression of this principle”. However, so far social recovery has not been possible inside MetaMask, while some other wallets on the market such as Argent (https://www.argent.xyz/) have already provided such functionality for quite a while.

Unipass is well placed to execute on this vision, as they already have a seedless and gasless wallet (https://unipass.id/) on the market that are widely used in gaming dapps. In addition to utilizing the power of a smart contract wallet through Account Abstraction and Multi-party Computation (MPC), Unipass also leverages the DKIM email protocol (https://dkim.org/) for the guardians to securely authenticate and authorize transactions on the smart contract through signatures generated by Domain Key. This is a vast improvement over existing solutions like Argent, which requires the guardians to hold crypto wallets themselves, enabling any trusted party with a wallet to serve as guardians for the user.

A proposed user journey is illustrated here: https://drive.google.com/file/d/1r5hwTDUxyXJDCzb_MT1iUstm1NC5KDtq/view?usp=share_link

With a technical architecture diagram here: https://drive.google.com/file/d/1ivHZdrTyMHzxJejpjAWyv0zJNm33GgwV/view?usp=share_link

The Unipass team have already completed a proof-of-concept for this Snap that allows consensys.net email addresses to become guardians for a smart contract and then help recover a lost key for the main guardian: demo video (https://www.loom.com/share/c8e9a5bfc10c41abb4d6ab389d657f21), demo website (https://up-wallet-snaps.vercel.app/login), GitHub repository (https://github.com/UniPassID/UniPass-Wallet-Snap). The team is now looking for funding to help bring this Snap to production.

Project Goals: If this project succeeds then this team will execute on the first social recovery account functionality in MetaMask. This has a promise of dramatically improving the user experience of account management for new MetaMask users and also decreasing fund loss incidents over time.

Target Milestones: 1st Milestone (Completed!)

  1. Derives a new key pair as the UniPass Master-key from a special path (to avoid possible privacy and security issues of reusing existing keys) with the Snaps API.

  2. Create a smart contract wallet with an email address and the Master-key above.

  3. Send & receive crypto assets by invoking MetaMask’s signature, along with flexible gas payment which can let users pay gas with USDT / USDC / …

  4. Multiple guardian emails can be added during registration process

  5. Emails from consensys.net can be used to register account

Demo video https://www.loom.com/share/c8e9a5bfc10c41abb4d6ab389d657f21

Demo website https://up-wallet-snaps.vercel.app/login

GitHub repository https://github.com/UniPassID/UniPass-Wallet-Snap

2nd Milestone This is mainly concerned with improving the UX and extending the features in the previous milestone and make it a production ready SCW snap:

  1. A brand new desktop UI to match snap scenarios better.

  2. Google OAuth support in account creation & social recovery

  3. Account preference for user to manage their guardians

  4. Replace the storage provider from IndexedDB to snap_manageState, which improves the security model of the snap.

  5. Move transaction assembling from the web page to the snap, thus users can see HRM (Human Readable Message like EIP-712) in MetaMask UI before approving anything.

  6. Move signature generation to the snap, so that signing requests can be completed without involving any webpage.

3rd Milestone This last milestone is to show the possibilities enabled by Smart Contract Wallet:

  1. Implement SIP-2 to Uniswap front-end so as to interact with the UniPass Snap directly (If the implementation of SIP-2 is ready)

  2. Implement batch transactions for the Uniswap front-end to combine Approve & Swap into one single transaction, which makes it more secure for users to avoid infinite approval when using MetaMask Swap.

  3. Contract code audit and open source

Future Possibilities: In the future, if MetaMask is open to a deeper integration level, we can provide a seamless smart contract account user experience to MetaMask users:

  1. Try to display the smart contract wallet addresses along with EOA addresses in the MetaMask account list

  2. Try to give users a choice to create a smart contract wallet address without having to go through seed phrase setup

  3. Full ERC-4337 support for MetaMask

Timeline / Path to Production: Since the initial stages of the project (listed above) have already been completed without any grant payment to the Unipass team, we expect this entire project to be completed within 2 to 3 months of the grant payment being sent to Unipass.

About Team: Currently we have 15 members in our team and here are profiles of the core team members.

Frank Lou - CEO Bachelor and Master of Computer Science, Peking University LinkedIn: https://www.linkedin.com/in/frank-lou-zx/

John Zhang - CTO Bachelor and Master of Computer Science, Peking University LinkedIn: https://www.linkedin.com/in/johnz-zhang-a4a07a30/

Jason Cai - Product Lead Bachelor of Chemistry, Liaoning University; Master of Chemistry, Zhejiang University LinkedIn: https://www.linkedin.com/in/jason-cai-b4058715a/

Kyle Xu - Research Lead Bachelor of Communication Engineering, Shenzhen University LinkedIn: https://www.linkedin.com/in/kyle-xu-4991451ab/

George Zhang - Lead of NA Bachelor of Computer Science and Mathematics, UCLA; Master of Data Science, NU LinkedIn:https://www.linkedin.com/in/tengji-zhang/

Funding Request and Budget Breakdown : $35,000 is being requested for this project. $15,000 will cover the Unipass development costs (half paid at the start of the project and half upon completion) and the remaining $20,000 will be for a security audit prior to the public launch of the snap.

Other Information / Relevant Links / Supporting Documents: As linked throughout, it’s important to understand that MetaMask and Unipass have already completed the first stages of the project with a demo video here: https://www.loom.com/share/c8e9a5bfc10c41abb4d6ab389d657f21

Off-Chain Vote

Yes, fund Unipass
7.4K MMG100%
No, do not fund Unipass
0 MMG0%
Download mobile app to vote

Timeline

Dec 13, 2022Proposal created
Dec 13, 2022Proposal vote started
Dec 22, 2022Proposal vote ended
Oct 11, 2024Proposal updated