Jesse Pollak from Base recently tweeted about the Dream Wallet. We believe our vibrant ecosystem and stack have all the crucial components to build such a dream wallet. Here's a screenshot of the wallet's diagram from the tweet. Let's review each component and pick out the associated building blocks from the Safe Ecosystem.
While these elements exist as smart contracts, a cohesive and user-friendly interface is still lacking. If you're a builder looking to create the dream wallet for the next billion crypto users, this thread is for you. All of these components are available as open-source, modular code. Safe is eager to support the next generation of builders with its open stack, helping make crypto more accessible and secure.
The modular nature of Safe’s smart accounts allows them to function as the main account of this dream wallet. They can be extended by a growing ecosystem of native and third-party modules and extensions.
Add your favorite signers using the Safe{Core} SDK Protocol Kit.
Signers can be anything, ranging from an EOA, to a Passkey, or another smart account including Safe.
Safe offers the capability to sign into your wallet using passkeys by implementing a dedicated signer that verifies the integrity of the key provided.
Rhinestone’s WebAuthn Validator module allows you to use passkeys to sign transactions to be executed on the account.
Safe is a multi-sig wallet that supports adding multiple owners to a smart account and setting a custom threshold limit for signatures. This feature is like native multiple-factor authentication.
Rhinestone’s Multi-Factor module allows you to add multi-factor validation to an account. It validates transactions and other executions on the account.
Rhinestone’s Social Recovery module allows users to recover their accounts using a social recovery mechanism.
Rhinestone’s Deadman Switch module allows users to set a nominee that can recover their account if they are inactive for a certain period of time.
Use email addresses as guardians to recover wallet assets with the zkEmail module.
Candide Labs Account Recovery module allows the user to assign one or more guardians and a customer recovery period.
Zodiac Delay Modifier or the Account Recovery module from Candide Labs allows for the enforcement of a time delay between a module's transaction initiation and execution.
Each Safe can have subaccounts with its own address and token balances while inheriting all security attributes from the main account.
Subaccounts can be managed in two ways:
The main account can own 1:1 Safes.
The main account can be configured as a module for a subaccount Safe.
This setup allows you to create ring-fenced, application-specific accounts, limiting any security risks to the assets within the specific subaccount.
The Safe Allowance module is a registry of transfer allowances on a Safe that can be used by specific accounts.
Zodiac Roles Modifier is an onchain permissions module for smart accounts (also used by Gnosis Pay).
Rhinestone’s Spending Limit hook (experimental) limits the amount of funds that can be spent over a period of time.
Rhinestone’s Auto Savings module allows users to automatically save a percentage of their received tokens to a vault.
Execute flash loan callbacks with the Flash Loan module.
Rhinestone offers the Cold Storage Hook module that allows users to lock down a subaccount and perform actions after a timelock has expired.
As @0xStef pointed out in the thread, privacy is missing from the diagram for a dream wallet. Fluidkey is working on solving this.
The modular nature of the Safe{Core} stack allows the addition of guards to every Safe. For example, one of the subaccounts could have a guard that allows only specific transactions, while the main account could have a guard that requires 100% of all owners to sign a transaction on the weekend.
ERC-7579 offers a universal standard that ensures all modules can work across all smart account implementations supporting ERC-7579. This means that any ERC-7579 modules are compatible with the Safe Smart Account.
Be mindful that modules using the ERC-7579 standard, such as the Rhinestone modules, will be triggered only using ERC-4337 user operations.
Are you as excited about the possibilities of building your own dream wallet as we are? Check out our docs for more information about the Safe stack, guides, and tutorials. Here are some resources to help you along in your journey:
Get multi-chain gas credits from our Gas Station to make your app go gasless. Apply now!
Our funding programs are designed to fuel the growth and success of builders across the smart accounts ecosystem. Read more for info on our
Join our Safe{Builders} Telegram group to connect with other projects, brainstorm ideas, request feedback, and much more!
Do you have any technical questions? Post them on Stack Exchange with the safe-core
tag.