Multisigs are hard to use as a non-crypto native. The need to setup wallets, use a hardware key and knowing how to secure seed phrases create friction for operation teams (finance, legal, ops).
This hackathon submission features a Safe Module that allows emails to be used as a way to sign transactions. On a high level, signers approve multisig transactions through sending an email, generating a zk-proof that is verified on-chain before executing a safe transaction.
- The safe module allows a multisig to configure emails address that are verified to sign transactions.
- Emails are sent to a relayer address and a ZK proof is created. Optionally, the sender can create the proof manually on their system.
- The proof is sent for on-chain verification
- The Safe module then instructs the underlying Safe to execute transactions once the necessary signers are verified.
There are 4 parts to this project:
- Circom circuits to verify email headers using the DKIM protocol and regex circuits to parse information used by the Safe Module
- Singleton Safe Module smart contract that handles all the configuration and on-chain verification of the ZK Proof
- An email relayer server that uses POP3 to listen on a email address, creates the ZK Proof and submits the transaction on-chain
- A dashboard built using Safe SDK for users to configure and interact with their Safe without the need to download a wallet.