User Authentication

A created user is required for sign in.

Getting started

To get started we require two factors of user-authentication* to receive a JWT token to be passed in the header.

For sign in you need to re-use whatever two factors you used to create a new user

First factor authentication

This wallet auth needs to happen with the same wallet used in the create new user flow

Authenticating with a crypto wallet requires two steps

  1. Retrieve a challenge phrase to be signed with the users wallet.

  1. Then authenticate that signature with the users wallet.

Once a successful authentication takes place, you will receive an authenticated JWT that has to be passed into the authorization header as a bearer token for the subsequent request to ensure they are authenticated to the same session.

Second factor authentication

First we need to send a one-time code to the user using the phone number they provided in sign up.

Once you receive the one-time code send it (with the phone number received in first response) to the sms:authenticate endpoint to obtain a JWT.

Identify the user

At this point you can identify the user via their User ID.

And return their connected wallets

Next steps

Scenario 1

If a user has not completed onboarding they will need to finish any remaining or all of the following steps:

You are free to complete the remaining tasks in any order, however we recommend the sequence mentioned above.

Scenario 2

If a user has completed onboarding they are able to:

Scenario 3

In some cases a user may be flagged in our system and prevented from using the application to buy crypto

Last updated

Was this helpful?