ZK Email Account Recovery: Setup and Recovery Guide
9/23/2024 | 15m read
Learn how to set up and use ZK Email Account Recovery for both older and newer Safe Wallets. This guide covers everything from initial setup to the recovery process, ensuring the security of your crypto assets with zero-knowledge proofs and trusted guardians.
Welcome to this guide for ZK Email Account Recovery! This system uses zero-knowledge proofs and trusted guardians to provide a secure, privacy preserving method for recovering your crypto assets.
Whether you're using an older Safe Wallet or the newer Burner Safe, this guide will walk you through every step of setting up and recovering your account.
Table of Contents
Safe Flows
Safe Wallets have come a long way since their release, evolving to meet the changing needs of the ecosystem. The early versions of Safe Wallets marked a significant milestone in multi-signature technology. However, they had some limitations, particularly in terms of gas efficiency and compatibility with newer standards.
With the introduction of ERC-4337, Safe Wallets underwent a significant update. They improved gas efficiency, gained better compatibility with account abstraction, and enhanced flexibility for implementing recovery mechanisms.
These improvements have allowed us to create a simpler recovery solution for our ZK Email Account Recovery.
Our implementation of ZK Email Account Recovery has been designed to adapt to both older and newer Safe Wallet versions:
- For Safe Wallet v1.3 and below: We implemented the recovery system as a module that can be added to existing Safe Wallets. This allows users of older versions to set up a guardian and enable recovery without needing to migrate their assets.
- For Safe Wallet v1.4 and above: We utilized all the account abstraction capabilities introduced in ERC-4337 and ERC-7579, allowing for a more streamlined integration of the recovery process.
Note: If you are beginner or dont have a Safe Wallet yet, we suggest using the Burner Safe Flow.
Safe Wallet v1.3 and below
Setting up Your Account with Email Recovery
-
Create a Safe Wallet
Begin by setting up a new Safe wallet. This multi-signature wallet will serve as the foundation for your recoverable account.
Navigate to the Safe website and follow their user-friendly process to create your wallet. You'll need to do the following.
Note: This demo is intended for Base Sepolia.
- Select network and name of your Safe Wallet: Write any name to your new Safe Wallet. Then press "Next".
- Signers and confirmations: By default your wallet will be the single initial owner, press "Next".
- Review: Select "Pay Now", press "Create" and sign the transaction to create your new Safe Wallet and wait for the confirmation.
After completing this steps, you have succesfully set created your new Safe.
-
Connect Your Safe
Once your Safe is created, you'll need to connect it to the ZK Email recovery system.
Navigate to ZK Email Recovery website and click on "Safe Wallet Flow".
To connect your Safe you will need to pair using WalletConnect. Click on "Connect Safe" and then select WalletConnect. Then copy to clipboard the pairing code.
Navigate back to your Safe Dashboard and paste your pairing code on the WalletConnect pop-up located on the top right of the website.
-
Enable Email Recovery Module
Now, head back to recovery.prove.email. Here, you'll find an option to enable the Email Recovery Module. This module allows your Safe to interact with the ZK Email recovery system. Click on the "Enable Email Recovery Module" button to begin the process.
-
Confirm Transaction on Safe
After enabling the module, you'll need to confirm this action on your Safe wallet. Return to the Safe interface where you should see a pending transaction to add the Email Recovery Module. Review the details and confirm the transaction.
This step integrates the recovery functionality with your Safe.
-
Set Up Guardian
Guardians are trusted individuals who can help you recover your account. On the recovery.prove.email interface, you'll find the option to set up the guardian details.
Enter the email address of your chosen guardian. You'll also be able to configure recovery parameters, such as delay periods or expiration times. These settings add extra layers of security to your recovery process. (For the guide don't modify the parameter).
-
Sign Transaction and Confirm Guardian
To finalize adding a guardian, you'll need to sign a transaction on your Safe. This transaction officially registers the guardian with your account.
After you sign, the system will send a confirmation email to your guardian. You will need to confirm the set up by responding "Confirm" to complete the setup process.
Recovering Your Account
-
Initiate Recovery
If you ever need to recover your account, start by visiting recovery.prove.email. Select Recover option and then click on "Recover Wallet Flow".
To initiate the recovery process, you will need to enter you guardian email and specify the new address that will assume ownership of the safe. After filling up the fields click on "Trigger Recovery".
-
Guardian Verification
Once you've initiated recovery, the system will contact your guardians. They'll receive an email asking them to confirm your recovery request. This step ensures that only authorized recoveries can proceed.
-
Complete Recovery
After your guardians have verified the request, you'll be able to complete the recovery process. This typically involves clicking a "Confirm Recovery" button on the recovery interface. This action will replace the current owner of the Safe with the new address you've specified during the recovery process.
Safe Wallet v1.4 and above
Setting up Your Account with Email Recovery
-
Create Burner Wallet
Start by visiting recovery.prove.email. Look for an option to "Burner Safe Flow (v1.4.1)".
Connect your wallet as you would normally do by clicking "Connect Wallet" on the top right corner. Then type your email on the Guardian's Email input box and click "Create burner wallet".
You have to confirm the transaction and sign the messages. This will generate a temporary burner wallet that will be used in the recovery process.
-
Add Guardian Email
After creating the burner wallet, you'll be prompted to add a guardian. Enter the email address of your chosen guardian. Remember, this should be someone you trust implicitly, as they'll play a crucial role in any future recovery processes.
-
Confirm Recovery and Request Guardian
Once you've entered the guardian's email, look for a button or option to "Confirm Recovery and Request Guardian". This step initiates the process of setting up your guardian and preparing your account for potential future recoveries.
-
Confirm Transaction via Email
To finalize the setup, your guardian will receive an email asking them to confirm the transaction. This email will contain instructions on how to confirm, usually involving clicking a link or responding to the email in a specific way.
Recovering Your Account
-
Initiate Recovery
If you ever need to recover your account, start by visiting recovery.prove.email. Select Recover option and then click on "Recover Wallet Flow".
To initiate the recovery process, you will need to enter you guardian email and specify the new address that will assume ownership of the safe. After filling up the fields click on "Trigger Recovery".
-
Guardian Verification
Once you've initiated recovery, the system will contact your guardians. They'll receive an email asking them to confirm your recovery request. This step ensures that only authorized recoveries can proceed.
-
Complete Recovery
After your guardians have verified the request, you'll be able to complete the recovery process. This involves clicking the "Confirm Recovery" button on the recovery interface. This action will replace the current owner of the Safe with the new address you've specified during the recovery process.
Troubleshooting
- Guardian Email Not Received: Check spam folders, verify the email address, or resend the confirmation.
- Transaction Failing: Ensure you have enough gas fees, check network congestion, or try again later.
- Recovery Process Failed: Verify all steps have been completed, check for any pending confirmations, or contact support. The new address must be different than the previous, recovering to the same address will lead to an error.
Summary
By following this comprehensive guide, you can take a significant step towards securing your wallets with ZK Email Account Recovery. This system combines the ease of email interactions with the robust security of Zero-Knowledge proofs, providing a user-friendly yet highly secure recovery solution.