0. Prerequisites
This guide assumes that you have completed the Setup guide.1. Enable a user to log in via email
This quickstart guide will demonstrate how to authenticate a user with a one time password as an
example, but Privy supports many authentication methods. Explore our Authentication
docs to learn about other methods such as socials, passkeys, and
external wallets to authenticate users in your app.
useLoginWithEmail
hook.
sendCode
and loginWithCode
to authenticate your user per the instructions below.
Send an OTP
Send a one-time passcode (OTP) to the user’s email by passing their email address to thesendCode
method returned from useLoginWithEmail
:
2. Create an embedded wallet for the user
Your app can configure Privy to automatically create wallets for your users as part of their login flow. The embedded wallet will be generated and linked to the user object upon authentication. Alternatively your app can manually create wallets for users when required.Privy can provision wallets for your users on both Ethereum and Solana.
3. Send a transaction with the embedded wallet
With the users’ embedded wallet, your application can now prompt the user to sign and send transactions.
Learn more about sending transactions with
the embedded wallet. Privy enables you to take many actions on the embedded wallet, including
sign a message, sign typed
data, and sign a
transaction.