Skip to main content

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.

Source OpenAPI: 0xArchive API 1.5.0; 116 paths; 90 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

FieldValue
MethodPOST
Path/v1/auth/web3/challenge
operationIdweb3Challenge
TagWeb3 Authentication
FamilyWeb3 Auth
Deprecated or legacyno

Request Body

application/json

{
  "$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

{
  "$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

{
  "$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
{
  "code": 400,
  "error": "Invalid request parameters"
}

Status 429

Rate limit exceeded

application/json

{
  "$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
{
  "code": 429,
  "error": "Rate limit exceeded"
}
Last modified on May 18, 2026