Create Non-Custodial Wallets and Lower Web3 Sign-In Friction with Web3Auth’s Auth0 Integration
Tags: web3, webdev, security
Published: 2022-08-05 20:48:39

### The Auth0 Marketplace now supports Web3Auth’s innovative key management infrastructure that transforms your app into a dapp.

### <br>

You need a private key to communicate with web3 blockchains; it’s the only way to confirm your own assets on blockchains. However, [Private keys pose a usability challenge](https://csrc.nist.gov/CSRC/media/Presentations/Usability-and-Key-Management/images-media/Usability_and_Key_Mgmt.pdf), and despite being around since the 70s, [they’ve seen poor adoption](https://www.academia.edu/15236280/Overcoming_Barriers_to_Client_Side_Digital_Certificate_Adoption). Web3 wallets, software that stores a private key and creates a communication framework around it, have improved the usability a bit, but it’s still not seamless. Some web3 organizations have tried to solve this problem with [custodial wallets](https://www.coindesk.com/learn/custodial-wallets-vs-non-custodial-crypto-wallets/), where they manage the key for the user. That solution is contrary to the web3 goals of user control and ownership. [Web3Auth’s innovative social authentication tools](https://medium.com/toruslabs/divi-crypto-podcast-key-management-interview-with-zhen-45c418ff3e54) create a non-custodial wallet that the user controls and is still user friendly, and you can now [integrate those tools](https://marketplace.auth0.com/integrations/web3auth) in your Auth0 tenant!

## How Web3Auth is an Advance in Web3 Usability

<img src="https://images.ctfassets.net/23aumh6u8s0i/YpE8R5YzuYRdOAO2DawCI/b64bf3f16f460cad18d3c28c98d468e7/marketplace_01.jpeg" align="right" alt="Web3" width="60%" /> To get access to any blockchain application, a user needs a web3 [public-private key pair](https://en.wikipedia.org/wiki/Public-key_cryptography). The public key functions as the user’s “address” on the blockchain. The address is an ID used to record the ownership of blockchain assets. It can also be used to encrypt messages that only the private key can decrypt. Only the address owner has access to the private key stored in a web3 wallet, which is how blockchains ensure that only the address owner can buy and sell assets associated with the address.

A major usability challenge about keys for the average end user is that if you lose access to it or the private key is exposed; you can’t update it like you would update a password. The most popular web3 wallets typically manage keys by creating a [seed phrase of 12 to 24 words](https://www.coinbase.com/learn/crypto-basics/what-is-a-seed-phrase), which can be used to create an [array of public keys tied to a private key](https://medium.com/toruslabs/a-beginners-guide-the-basic-web3-architecture-and-tech-stack-81f2061d263c). Provided you can find your seed phrase backup, you can recover access to the assets associated with your blockchain address. It's a single point of failure, and expecting users to securely backup their seed phrase does not provide a good user experience. 

[Web3Auth’s platform](https://docs.web3auth.io/overview/key-management) uses [Shamir Secret Sharing](https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) to split the key and save it in the user’s device, a social login provider, and a recovery method. Web3Auth can then look into the device storage and social sign-in to recreate the user’s key, which creates the web2 authentication experience with a non-custodial web3 wallet. If the user is using a new device, they just need to confirm their identity via a recovery option with an email or other method.

This solution provides a developer:

* A non-custodial wallet to use with web3 blockchains.
* An easier way to create user-friendly web3 onboarding in their application.
* The ability to deploy a social login experience associated with a web3 wallet.
* The best of Web3 security and privacy by design for their end-users.

Implementing social logins with Auth0 lets you quickly add a web3 wallet to your existing application. Web3Auth works with a host of blockchains, including the main layer1 chains ([Ethereum](https://ethereum.org/en/), [Solana](https://solana.com/), [Avalanche](https://www.avax.network/)), and layer 2 chains ([Polygon](https://polygon.technology/), [Starkware](https://starkware.co/), [Arbitrum](https://offchainlabs.com/) and more). By the end of the sign-in process, the user has a valid web3 wallet. It’s a frictionless, secure, self-custodial way to onboard users into the web3 world.

[Read more...](https://auth0.com/blog/web3-sign-in-friction-with-web3auths-auth0-integration/?utm_source=content_synd&utm_medium=sc&utm_campaign=global_dist)