---
title: "Get SIWE challenge message"
method: POST
path: "/v1/auth/web3/challenge"
tags: ["Web3 Authentication"]
---

# Get SIWE challenge message

`POST /v1/auth/web3/challenge`

## Request

- Base URL: `https://api.0xarchive.io`
- URL: `https://api.0xarchive.io/v1/auth/web3/challenge`
- Auth: none required

Get a single-use SIWE (Sign-In with Ethereum) challenge message for existing-wallet sign-in, wallet key management, or paid x402 access. The nonce expires after 10 minutes. A challenge does not create a Free account.

## Request body

- Web3ChallengeRequest
  - `address` string, required: Ethereum wallet address

## Response `200`

SIWE challenge message

- Web3ChallengeResponse
  - `message` string: SIWE message to sign with personal_sign (EIP-191)
  - `nonce` string: Single-use nonce (expires after 10 minutes)

## Other responses

- `400`: Invalid request: a parameter, symbol, interval, cursor or time range failed validation. See `error_code`.
- `429`: Rate limit, concurrency limit or monthly credits exceeded. See `error_code`.
- `default`: Any other error. The body is an `ErrorResponse`; branch on `error_code`. A 503 (`upstream_unavailable`) carries `Retry-After`.

---

[API](https://skmtc.dev/0xarchive/apis/0xarchive-api-2.md) · [All operations](https://skmtc.dev/0xarchive/apis/0xarchive-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/0xarchive/apis/0xarchive-api-2/revisions/27076f55595f?raw)
