# Sign in request

## What are sign in requests?

A sign in request is **the way a dApp can identify a user**. Let's explain it with the following example:

When a user wants to log in or register in your dApp, the dApp has to know how to identify a user to know which operations to perform. To do so, it uses the **CKBull Signer API** with the dApp credentials to generate a new and unique sign in request that needs to be signed by the user who requested it.

Here's a workflow on how a sign in request is generated and signed by a user and how it affects all the entities in the system:

<figure><img src="https://4100684485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPlB1oN5qXYGlSUWHxkql%2Fuploads%2Fgit-blob-0662e821cd697c1daac377cd6d22a61a92b6407d%2FRequests%20status%20graph%20-%20Page%202.png?alt=media" alt=""><figcaption><p>Sign in request workflow</p></figcaption></figure>

## Sign in request life cycle

In the lifetime of a sign in request, it may contain multiple states depending on the actions performed by a user. The next flow shows the complete life cycle of a sign in request and its states.

<figure><img src="https://4100684485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPlB1oN5qXYGlSUWHxkql%2Fuploads%2Fgit-blob-b3759089a8323e788541a49a456abcad53189462%2FRequests%20status%20graph%20-%20Page%203%20(1).png?alt=media" alt=""><figcaption><p>Sign in request life cycle</p></figcaption></figure>

## How does the request identifies the user?

To identify who signed the transaction via **CKBull Wallet**, a payload containing the address and network of the signer is passed when the user signs the request. For a detailed explanation, read the [**API docs**](https://docs.ckbull.app/api/requests/sign-in-request). A sign in request has the following appearance in CKBull Wallet, showing the dApp's name, description and logo.<br>

<figure><img src="https://4100684485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPlB1oN5qXYGlSUWHxkql%2Fuploads%2Fgit-blob-462c3083cdc3e78886fd6e0f7abe8ed7bcb43e88%2FIMG_9800%20(1).PNG?alt=media" alt="" width="375"><figcaption><p>Sign in request in CKBull Wallet</p></figcaption></figure>

Having explained sign in requests, we can now introduce the second key concept of the platform, transaction requests.
