Dapp built on Safe Wallet that allow user to manage their wallets ownerships
Prize Pool
Prize Pool
This project enables users to manage their asset ownership via a custom Safe Wallet module, which is specifically designed for adding and removing signers and choosing the threshold (of signers) while maintaining a non-custodial wallet.
It operates on the Ethereum (Sepolia) blockchain and utilizes WorldCoin ID technology as an additional layer of security.
By allowing individuals to fully customize their wallet permissions and experience through the addition of pre-built Safe Wallet modules, it enhances user control and flexibility.
Featuring several components and a user-friendly interface (with a focus on providing a good UX), this system aims to offer both functionality and ease of use.
The contract deployed on Sepolia can be found at:
0x4624fFEB58e86dc941D8b65878eE7E8ad3533e16
Tech Stack: JS/TS, Solidity, NextJS, Foundry, ShadCN
This project uses NextJS for the frontend development and TypeScript for the backend. The UI and components utilize ShadCN.
Foundry was utilized for testing and building our smart contracts, particularly chosen because some team members are proficient in it.
We integrated Wallet Connect, enabling users to select their preferred wallet provider.
Safe Wallet was selected for its capability to support the creation of custom smart contracts leveraging its technology and to integrate these with either new or existing Safe Wallet accounts. This allowed us to develop a smart contract feature that facilitates the addition of signers to a Safe Wallet.
A "recover" module was implemented, empowering users to specify the number of signers they wish to add to their Safe Wallet account and adjust the ownership of their wallet if necessary. Potential use cases include estate planning and designating heirs, offering a secure method for transferring assets upon death.
In compliance with the Safe bounty requirements, passkeys were incorporated to enhance security.
Additionally, the WorldCoin API was integrated to serve as an authentication mechanism during attempts to initiate the recovery module, verifying the user's humanity through their biometrics data, which is highly reliable.