# The Backend `Verification` object

The Backend `Verification` object describes the state of the verification process of a sign-in or sign-up attempt.

## Properties

- **Name**: `attempts`  
  **Type**: `null | number`  
  **Description**: The number of attempts related to the verification.

- **Name**: `expireAt`  
  **Type**: `null | number`  
  **Description**: The Unix timestamp when the verification will expire.

- **Name**: `externalVerificationRedirectURL`  
  **Type**: `null | URL`  
  **Description**: The redirect URL for an external verification.

- **Name**: `message`  
  **Type**: `null | string`  
  **Description**: The message that will be presented to the user's Web3 wallet for signing during authentication. This follows the [Sign-In with Ethereum (SIWE) protocol format](https://docs.login.xyz/general-information/siwe-overview/eip-4361#example-message-to-be-signed), which typically includes details like the requesting service, wallet address, terms acceptance, nonce, timestamp, and any additional resources.

- **Name**: `nonce`  
  **Type**: `null | string`  
  **Description**: The [nonce](https://en.wikipedia.org/wiki/Cryptographic_nonce) pertaining to the verification.

- **Name**: `status`  
  **Type**: `VerificationStatus`  
  **Description**: The state of the verification.  
  - `unverified`: The verification has not been verified yet.  
  - `verified`: The verification has been verified.  
  - `transferable`: The verification is transferable to between sign-in and sign-up flows.  
  - `failed`: The verification has failed.  
  - `expired`: The verification has expired.

- **Name**: `strategy`  
  **Type**: `string`  
  **Description**: The strategy pertaining to the parent sign-up or sign-in attempt.
