Bailout is a security pipeline that securely moves assets between EOA, Contract Wallet, and Cold Wallet. In order for individual investors to securely handle EOAs such as MetaMask, Bailout provides Contract Wallet where main assets can be stored and the function to eject assets to Cold Wallet with a single click even in case of loss of the private key.
Many smart contract wallets have appeared, including Argent and Safe, but the dApp side, such as Uniswap, does not support these wallet connections, so many individual investors end up using Conventional EOA, such as MetaMask, as their main account and place many assets in Cold Wallet or Safe.
Bailout is a pipeline function that
Bailout was built using a variety of technologies, including ERC-4337, Lit Protocol, Lens API and MetaMask Snaps.
2 Factor Authentication(Multisig)
Lit PKPs are used to create private key-less MPC wallets that utilize Google authentication for 2FA. The MPC wallet's ETH address is then set as the 2FA address.
Gasless Social Recovery
The social recovery function utilizes Lit Actions and PKPs to allow a PKP to sign a transaction only if specific guardians react to a specific publication. The transaction then calls a function on the AA contract that moves all funds to the escaped address. If you fund the PKP in advance, you can execute the social recovery function gaslessly. We use Lens publication and users as social recovery guardians. On the Lit Action, the program gets the list of users who have reacted to the publication of Lens Protocol.
We attempted to utilize MetaMask Snaps to improve UX in Bailout. However, we had a trouble with connecting to Snap, so we implemented all logics outside of Snap environment.
The application is deployed on Polygon Mumbai.