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

# Get SIWE challenge message JSON Schema

> Get SIWE challenge message JSON Schema contract. Includes route metadata, request parameters, response statuses, examples, and JSON fields for implementation.

Source OpenAPI: 0xArchive API 1.5.0; 140 paths; 119 component schemas.

Get a SIWE (Sign-In with Ethereum) challenge message to sign. This is the first step for all web3 authentication operations. The nonce is single-use and expires after 10 minutes.

## Route Metadata

| Field                | Value                     |
| -------------------- | ------------------------- |
| Method               | `POST`                    |
| Path                 | `/v1/auth/web3/challenge` |
| operationId          | `web3Challenge`           |
| Tag                  | Web3 Authentication       |
| Family               | Web3 Auth                 |
| Deprecated or legacy | no                        |

## Request Body

### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Challenge request body",
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "address": {
      "description": "Ethereum wallet address",
      "type": "string",
      "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18"
    }
  }
}
```

## Response Contracts

### Status 200

SIWE challenge message

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Challenge response 200",
  "type": "object",
  "properties": {
    "message": {
      "description": "SIWE message to sign with personal_sign (EIP-191)",
      "type": "string"
    },
    "nonce": {
      "description": "Single-use nonce (expires after 10 minutes)",
      "type": "string"
    }
  }
}
```

### Status 400

Invalid request

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Challenge response 400",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 400,
  "error": "Invalid request parameters"
}
```

### Status 429

Rate limit exceeded

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Challenge response 429",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 429,
  "error": "Rate limit exceeded"
}
```
