Takeaways / Implications
Auth / Data: The path dependency of wallet adoption will have implications on how authentication / authorization play out. The authentication / authorization layer defines a user session, data read/write interactions, and security parameters. The stakeholders are the wallets, the authentication layer, and the Dapps themselves. Whomever emerges will have won the race to build + leverage a distribution network effect and productized around that network effect.
Today: Wallet / Auth / Data are all separated. User downloads wallet, connects to OpenSea*, via an auth flow.
Wallet providers generally know nothing about the user's identity beyond what is onchain on Etherscan.
The auth layer will collect various pieces of information such as the address, the session data, and other related disclosed data (IP address etc).
Dapps likely have the best idea on who the user actually is – example is OpenSea will have a user fill in their email / twitter / social data stored in OpenSea’s server. OS knows that [0x…] = John Doe, but the auth layer will only know that [0x…] interacted w/ OpenSea.
Future: Embedded wallets bundle all three. User logs into OpenSea via the embedded wallet provider.
The embedded wallet solution takes care of the key + auth layer – they are bundled together. You don’t need to log-in to the Dapp via a separate auth, it just gets done / abstracted when you sign in via WaaS. Dapp can also see this in their interface with the embedded wallet partner.
The embedded wallet solution may own the data and may surface it to Dapp if needed. For example – I logged into OpenSea with my Twitter OAuth (powered by WaaS) – both should see the associated keys and the social log-in.
The embedded wallet solution can then see a consolidated view of keys across their data store – Dapp 1 might not care who Dapp 2’s users are – but the WaaS provider sees all the overlapping user socials and can surface the common interface. This is assuming the user has provided data permissioning when he or she has authenticated using recognizable credentials.
Paths of Adoption: To date, self-custody has been the primary wallet option for consumers. That said, new technologies present viable alternatives and have major implications on wallet adoption. Ultimately, we believe that the result will depend on the first Dapp or use-case that a user is exposed to and the corresponding wallet technology.
User Type: To date, users of crypto apps only had one viable option which was self-custody. With the emerging wallet technologies described above, there will be multiple options available. This should also help onboard net new users (who may be non-crypto native users) who are already familiar with an “OAuth” style onboarding.
Geographic: Potential regulatory hurdles on self-custody in certain geographies may pose an insurmountable cost for users to adopt the self-custody option. Conversely, it is unknown whether embedded wallets (who hold a piece or shard of a key) might be classified as a custodial service.
Business Models: Wallets can structure monetization in different ways. For embedded wallets, it is likely operating at a freemium or SaaS model – but we expect that over time as their positioning between the user and the actions will allow them to have direct exposure to the growth of onchain actions.
Wallet Form Factors: Will we have one user per wallet, or one wallet per Dapp?
One Wallet To Rule Them All: Self-custody wallets have taken on a form factor of “One Person → One Wallet ←→ Superapp.” Users can create another wallet within the same interface but the vision stays the same.
One Wallet For Every App: Because embedded wallets are hidden in the back-end of the application, the form factor looks/feels like a Dapp (similar to an app on your iPhone). This ends up resulting in “one wallet for each Dapp.”
Linking Wallets – Somewhere In The Middle: Rather than one outcome vs. the other, we believe a middle ground is the most likely outcome. Wallets can be “linked together” as long as there are common identity identifiers. The onchain version can be manifested through Smart Accounts – which can delegate control across wallets. The offchain version may be common identifiers that live behind an embedded wallet’s API (Example – “john@gmail.com” OAuth’d across multiple Dapps can be a common identifier.)