> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequence.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Email + OTP

Available on all platforms, email sign in provides the user with a One-Time-Password (OTP) challenge - a 6 digit code emailed to the entered address for the user to enter on the next page.

First, you'll want to [enable email sign in for your project in the builder](/solutions/builder/embedded-wallet/configuration).

If you're using the built-in [SequenceLoginWindow](/sdk/unity/bootstrap#login), the UI will manage email + OTP sign in for you automatically.

<Tip>Don't forget to subscribe to the `SequenceWallet.OnWalletCreated` event to receive your newly created wallet!</Tip>

## Custom Integrations

Otherwise, you'll want to call the `Login(string email)` async Task on `SequenceLogin` to initiate authentication with the API; this will send the OTP challenge to the specified email.

Once the user has input their OTP code, you'll want to call the `Login(string email, string code)` async Task on `SequenceLogin` to finish authenticating the user.

Relevant events include:

* `OnMFAEmailSent` - this event includes a string specifying the email where the OTP was sent

* `OnMFAEmailFailedToSend` - this event includes two strings: the email where the OTP was requested and the error message

* `OnLoginFailed` - this event includes: the error message string, the `LoginMethod` that was used, and the email string associated with the login attempt
