This app aims to make creation of personal smart accounts easy and intuitive.
Social Account is a web-based smart account application. Its primary function is to provide a simple GUI to deploy smart accounts and to use those accounts to send/receive cryptocurrency. All of this can happen while avoiding wallet apps or managing private keys.
The key features we implemented in Social Account are the following:
When users first login to the app, they are presented with the option to login using the web2 providers of their choice, such as Google or Facebook. After successful authentication an EOA is automatically created and associated with the user, from there which they can proceed to create their smart account.
Smart accounts that are created in Social Account may have shared ownership. When smart account is shared among multiple owners, it gives opportunity for Social Recovery to happen. Even when one account is compromised, another account owner can come in and revoke the ownership status of the compromised owner. Another Social Recovery use case is when an owner loses access to the primary provider they rely on, they can still login with another account, and ask other owners to grant him new ownership. This is an extra secure, flexible feature that is not available in the traditional EOA.
Social Account also supports transactions between accounts.
Social Account is a frontend only app primarily using react, deployed using Vite. For UI elements we have dabbled around with everygreen-UI. For the core smart account manipulation we took advantage of Safe SDK, especially its Auth Kit and Protocol Kit packages. Safe SDK is the reason why we got the app up and working in this short window of time. We benefited a lot from its high level interface, which allowed us to focus more on the app functionalities rather than the low level details of the blockchain.