Wallet Authentication

Easy web3 onboarding using simple authentication

Background

Web2 users are familiar with easy authentication flow with email, password, or google/apple providers. Meanwhile, Web3 onboarding involves complicated steps like educating users about cryptographic principles, secure key management, and the unique aspects of decentralized technologies. To improve the web3 onboarding experience, Arkana provides easy sign-in with Email OTP and Google providers.

How it works

TL;DR With web2 authentication, users will get a near keypair that acts as their wallet

  1. User signin with their email or google, this will act as their authentication

  2. An account ({randomWord}.arkana.near) will be created during the first-time login

  3. (first-time login) User will generate a NEAR keyPair in the background

  4. User will get encryptedKeyPair and encryptedSymmetricKey that they will decrypt themselves

  5. KMS will host the Key Encryption Key (KEK) to decrypt and encrypt symmetric key (a.k.a One Time Pad / OTP)

  6. To decrypt the encryptedSymmetricKey, user will get short-lived RS256 signed JWT to authenticate to KMS server\

Flow Diagram

Integration

TBD

Last updated