Memento lets your loved ones recover your account without using a wallet, a centralized guardian or paying gas. Create Mementos, save lives.
Memento is an app for recovering accounts using no wallets, gas and simple interfaces anyone can use. The people you love and trust the most with your secrets may not know what crypto is let alone have an account that’s ready to make transactions.
Enter Memento
A Memento is a string of any length.
We built this as a module for the Safe, as it’s the most extensible smart account standard available today. In its current iteration, this app allows deploys a module on your Safe, setting a group of Mementos as recovery phrases. This pattern could be used for any smart account.
How to use Memento: Start by selecting how many Mementos you want to use, maybe you give one to each of your parents, or to your two best friends.
Fill each out with a note, could be a short reflection on what each Memento holder means to you or a memory. Touching mementos are much more likely to be kept by those you give them to.
Select how many Mementos you need for a recovery to be successful.
Send the transaction, this will also fund the mod with a small amount to pay for gas in the future, Memento doesn’t require any external gas providers. you pay the gas cost now for a recovery in the future, so your recoverers have a gas-less experience.
When/if the time comes to recover your account, use the Memento app to create the recovery link to send to your Memento holders, simply choose which owner to replace and generate the link.
Each Memento holder enters their Memento into the app, (asynchronously, and in any order).
Once enough Mementos have been entered, the Safe owner will be replaced, and the Memento module self-destructs.
This project has two core parts: the Frontend client and the EVM contract. It is built as a module on Safe, and leverages EIP-4337 for gas-less transactions.
We used the Safe since it's the most extensible smart account protocol at the moment, and it's module system makes it easy to add new functionality. We built our module to be Zodiac compatible. When the module is deployed, the app also funds it, so the gas fees from the recovery process can be pulled directly from the Memento Module.
The Frontend is a next.js app that can be loaded as a Safe App and a standalone app. It's built with React and Tailwind CSS.
We ran into trouble finding a 4337 bundling service that worked on Gnosis Chain, so we built a minimal bundler to allow us to send transactions to the Entrypoint deployed there.