Coinbase’s Wallet as a Service (WaaS) is a set of wallet infrastructure APIs, enabling companies to create and deploy customizable wallets. Wallets built with WaaS will use MPC for generating signatures on transactions. The key is secret-shared between the end user and Coinbase. Coinbase uses public-verifiable backups in the case of an end user losing access to their device.
The backup mechanism works by encrypting each shard of the private key under different backup keys, and providing a proof that these backups collectively encrypt the private key associated with the given public key. Then, a public key is enabled for use only after the backup recovery system has verified that it has a set of valid backups.
Coinbase also offers a “self-custody backup” solution where the user can hold both shares encrypted under strong keys.
Code
GitHub - coinbase/waas-client-library-go: Coinbase Wallet as a Service (WaaS) Client Library in Go.
Links
Coinbase announces Wallet as a Service. Now any company can seamlessly onboard their users to web3.
Preventing loss of crypto assets with publicly-verifiable encryption and backup