Beyond Legacy Wallets: Account Abstraction and Embedded Wallets for Oasis
Embedded wallets on Sapphire create convenient UX with hardware wallet-like security
The classic crypto onboarding story: a new user wants to try a decentralized application (dApp), they go to connect and run into wallet creation, configuration, seed phrases, gas, and all the friction that comes with interacting onchain for the first time. Even if a user gets through the mnemonic hurdle, there are many additional risks related to private key custody.
This is why addressing the challenges related to key storage, identity, and authentication is crucial for broader adoption. One solution is account abstraction, which allows a smart contract to manage user accounts, solving some of the abovementioned problems. Embedded wallets go one step further, zeroing in on the most critical pain point: wallet creation. Let’s break this down.
What Are Embedded Wallets?
Embedded wallets are applied account abstraction.
“Account abstraction,” also known as ERC-4337, was launched in 2023 in the Ethereum (EVM) ecosystem. AA defines a standard such that users can transact on the network without initiating a transaction themselves. This critical advancement improves UX by allowing smart contracts to manage user accounts and unlocking functionality like wallet recovery, signless transactions, and team wallets.
Under the umbrella of AA, different words are used to describe what is effectively the same thing. Whether the term’s embedded wallet, smart account, social wallet, wallet as a service, or programmable account, what’s generally referred to is the absence of the clumsy user flow where you download and install a wallet and create a backup in mnemonic form.
So, embedded wallets are invisible, non-custodial wallets created specifically for a dapp. Embedded wallets allow developers to bake smart accounts directly into the user interface of a dapp. Best of all, they can be set up without a seed phrase, making it easier for newcomers to join without the complexities associated with traditional wallets.
What Are the Benefits of Embedded Wallets?
Embedded wallets simplify user experience.
The primary benefit of embedded wallets is that they streamline the user onboarding process, enabling access to onchain services via familiar authentication methods like email or social logins. By utilizing passkeys and technologies like multi-party computation (MPC), they also provide security enhancements and a non-custodial solution for private key management.
More specifically, they provide:
- Simplified Onboarding: Users can access dapps without the complexity of managing seed phrases or private keys.
- Integrated UX: By embedding wallet functionalities directly into applications, users can perform transactions seamlessly within the app.
- Enhanced Security: Some embedded wallets use advanced security measures such as MPC and 2FA, which protect user assets while simplifying recovery processes for lost accounts.
- Gasless Transactions: Many embedded wallets support gasless transactions, allowing users to interact without incurring gas fees or having to fund fresh wallets.
- Novel Use Cases: Embedded wallets enable new functionalities, e.g., in gaming, allowing users to engage in activities like in-game purchases or tipping directly.
Embedded Wallets, Powered by Oasis
In collaboration with Apillon, an Oasis Wallet SDK and related account abstraction services were recently launched. The SDK enables non-custodial private key management and a smart wallet service that enables things like wallet creation, payment management, and other essential blockchain actions to run in the background.
This is possible on Sapphire because contracts can create and manage private keys, encrypt and decrypt data, and sign or verify signatures. Private keys can also be stored onchain while using another means of authentication. This provides all the benefits of ERC-4337 EOAs without the need to deploy on every chain or use third-party services/complex protocols.
At a high level, here’s how it works. A new user enters a dapp. Instead of the usual wallet setup routine, they create an account with their email. A passkey is then generated, allowing them to authenticate via biometric methods or PINs without exposing sensitive information.
Once the passkey is verified, the SDK requests a new EVM account. The request is passed to the account manager smart contract on Sapphire, which generates a new private key and stores it in an encrypted, secure way. Now, users can use the dapp and control their private keys via the passkey/email.
The creation of the wallet SDK offers numerous benefits to the Oasis ecosystem. First, it is designed to manage all user signups for application builders, reducing development overhead. Second, it can be used across ecosystems, reducing the barriers to creating and deploying dapps. Finally, if a user generates a wallet within the Oasis SDK, it can be used in any other embedded flow that leverages the SDK. This contrasts with other options where, if you log in to another dapp, a new wallet is instantiated, creating fragmentation.
Overall, the Wallet SDK and Wallet Services pave the way for easily embedded smart wallets that can be plugged into an application to provide back-end authentication of usernames, passkeys, passwords, etc. This spares users from creating or interacting with traditional Web3 wallets or dealing with the hassle of actively custodying their private keys.
As of November 21, embedded wallets are live on Product Hunt!
We’d love your support to:
- Cast your upvote for the Embedded wallets SDK.
- Share your thoughts and feedback.
- Spread the word to help us gain more visibility!
Details here.