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 Accounts. 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.

ZK Email Banner

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

  1. Safe Flows
  2. Safe Wallet
    1. Setting up Your Account with Email Recovery
    2. Recovering Your Account
  3. Burner Safe
    1. Setting up Your Account with Email Recovery
    2. Recovering Your Account
  4. Troubleshooting
  5. Summary

Safe Flows

Safe Accounts have come a long way since their release, evolving to meet the changing needs of the ecosystem. The early versions of Safe Accounts 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 Accounts 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: We implemented the recovery system as a module that can be added to existing Safe Accounts. This allows users of older versions to set up a guardian and enable recovery without needing to migrate their assets.
  • For Burner Safe: 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 Accou yet, we suggest using the Burner Safe Flow.

Safe Wallet

Setting up Your Account with Email Recovery

  1. 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.

    1. Select network and name of your Safe Wallet: Write any name to your new Safe Wallet. Then press "Next".
    2. Signers and confirmations: By default your wallet will be the single initial owner, press "Next".
    3. 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.

    Safe Created Successfully
  2. 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".

    ZK Email Recovery Landing Page 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.

    ZK Email Recovery WalletConnect Copy to Clipboard

    Navigate back to your Safe Dashboard and paste your pairing code on the WalletConnect pop-up located on the top right of the website.

    ZK Email Recovery Connect Safe Dapp
  3. 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.

    ZK Email Recovery Enable Email Recovery Module
  4. 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 "Execute" the transaction.

    ZK Email Recovery Confirm Transaction on Safe

    This step integrates the recovery functionality with your Safe.

  5. 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).

    ZK Email Recovery Set Up Guardian Step
  6. 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.

    ZK Email Recovery Confirm Safe Guardian

    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.

    ZK Email Recovery Email Confirmation

Recovering Your Account

  1. 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".

    ZK Email Recovery 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".

    ZK Email Recovery Trigger Recovery
  2. Guardian Email Confirmation

    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.

    Reply with "Confirm" to confirm the recovery.

    ZK Email Recovery Guardian Email Confirmation
  3. 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.

    ZK Email Recovery Complete Recovery

    This action will replace the current owner of the Safe with the new address you've specified during the recovery process.

    ZK Email Recovery Complete Recovery Confirmation

Burner Safe

Setting up Your Account with Email Recovery

  1. Create Burner Wallet

    Start by visiting recovery.prove.email. Look for an option to "Burner Safe Flow (v1.4.1)".

    ZK Email Recovery Burner Safe Flow

    Then type your email on the Guardian's Email input box and click "Create burner wallet".

    ZK Email Recovery Create Burner Wallet

    You wallet automatically will open. You have to confirm the transaction and sign the messages. This will send some ETH to cover the gas fees and create a burner safe with the recovery module already configured.

  2. Confirm Guardian

    After creating the burner safe, you'll need to confirm the guardian. You will receive an email asking you to confirm the guardian. Reply with "Confirm" to confirm the guardian.

    ZK Email Recovery Confirm Burner Guardian

Recovering Your Account

  1. Initiate Recovery

    After creating your burner safe, click on the button Trigger Recovery

    ZK Email Recovery Recover Step

    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.

    ZK Email Recovery Recover Step

    After filling up the fields click on "Trigger Recovery".

    ZK Email Recovery Recover Step
  2. 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.

    ZK Email Recovery Recover Step
  3. 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.

    ZK Email Recovery Recover Step

    This action will replace the current owner of the Safe with the new address you've specified during the recovery process.

    ZK Email Recovery Burner Flow Completed

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.