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. Create a free-tier account and get an API key using a signed SIWE message. If the wallet already has an account, returns a new key (subject to tier limits). Requires a fresh challenge from /v1/auth/web3/challenge signed with personal_sign (EIP-191).

Route Metadata

FieldValue
MethodPOST
Path/v1/web3/signup
operationIdweb3Signup
TagWeb3 Authentication
FamilyWeb3 Auth
Deprecated or legacyno

Request Body

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Signup request body",
  "type": "object",
  "required": [
    "message",
    "signature"
  ],
  "properties": {
    "message": {
      "description": "The SIWE message from the challenge endpoint",
      "type": "string"
    },
    "signature": {
      "description": "Hex-encoded signature from personal_sign (0x-prefixed)",
      "type": "string",
      "example": "0x..."
    }
  }
}

Response Contracts

Status 200

Account created and API key returned

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Signup response 200",
  "type": "object",
  "properties": {
    "api_key": {
      "description": "The generated API key",
      "type": "string",
      "example": "0xa_live_abc123..."
    },
    "tier": {
      "description": "Account tier",
      "type": "string",
      "example": "free"
    },
    "wallet_address": {
      "description": "The wallet address that owns this key",
      "type": "string"
    }
  }
}

Status 400

Invalid request

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Signup 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 401

Authentication required

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Signup response 401",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
OpenAPI example
{
  "code": 401,
  "error": "Missing or invalid API key. Provide X-API-Key header."
}

Status 429

Rate limit exceeded

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3Signup 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