Author: cygaar Source: @0xCygaar Translation: Shan Ouba, Golden Finance
Curious about how Coinbase's new Smart Wallet works? Me too. Here's an overview of how to create and use a crypto wallet via Touch ID without a Chrome extension.
Key Technologies
Here's a video demonstration of the Smart Wallet in action: https://x.com/0xCygaar/status/1794013681358954594
Several things happened here. First, a wallet was created via Touch ID, then a transaction was signed via Touch ID, and finally the transaction was paid in full by Base.
All of this is achieved through Account Abstraction (AA), also known as ERC4337.
Keys
Before discussing AA, it is important to understand what keys are. Keys are a form of authentication based on public/private key cryptography rather than traditional passwords. When using keys, the private key is stored privately on the user's device, while the public key can be shared with applications. Touch ID/Face ID can be used to prevent unauthorized use of keys.
Wallet Creation
The first step in the above process is to create a wallet. This wallet is a "smart wallet" - it is a smart contract deployed on Base, not a typical EOA. The smart wallet is perhaps the biggest unlocking point of AA.
This particular smart wallet contains code that allows for multiple owners (including key-based owners). During the AA process, a smart wallet is created if one does not already exist.
Touch ID Signing
Once the wallet exists, minting transactions can be signed and executed. To do this, the website will prompt the user to sign a user action (which can be thought of as an AA transaction). The user first needs to verify that they control the key (via Touch ID, Face ID, etc.) before they can sign the user action. Afterwards, the user action and signature are verified and executed by the smart wallet code.
Free Transactions
You’ll notice that the price paid by the user in the demo is 0. This is because AA adds a payment service that can be used to sponsor transactions. In this case, Base sets up a payment service to pay for the fees of the Smart Wallet minting. Other applications can use payment service sponsorship as a way to easily onboard users without having ETH in their wallets.
Conclusion
All the magic here is achieved through account abstraction. While AA has been around for a while, Coinbase’s Smart Wallet is one of the first cases to utilize keys for account ownership. In the future, wallets can also be controlled through traditional Web2 login methods such as Google SSO.