Decentralized wallet recovery using Self and a secondary wallet.
It uses Self.xyz for Wallet Recovery. If you have a wallet, then just write your private key, and then verify yourself with self.xyz. Our app, would take your private key and self.xyz nullifier (which is unique for every user), and encrypts your private key with the nullifier and stores it.
Later, if you lose access to your wallet, you can reclaim the wallet by reverifying with your self.xyz passport.
This project is built using NextJS, tailwind css, using web3 libraries like ethersjs, viem, etc... I used self.xyz for the id of the user, and wagmi hooks for the connection of the wallet and account management stuff. I am also use ECDSA and cryptography stuff here to make the process more secure.

