> ## 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.

# List API keys for wallet JSON Schema

> List API keys for wallet 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.

List all API keys belonging to the authenticated wallet. Requires a fresh SIWE challenge signed with `personal_sign` (EIP-191).

## Route Metadata

| Field                | Value               |
| -------------------- | ------------------- |
| Method               | `POST`              |
| Path                 | `/v1/web3/keys`     |
| operationId          | `web3ListKeys`      |
| 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": "web3ListKeys 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"
    }
  }
}
```

## Response Contracts

### Status 200

List of API keys

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3ListKeys response 200",
  "type": "object",
  "properties": {
    "keys": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "created_at": {
            "description": "Creation timestamp",
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "description": "Unique key ID",
            "type": "string",
            "format": "uuid"
          },
          "is_active": {
            "description": "Whether the key is currently active",
            "type": "boolean"
          },
          "key_prefix": {
            "description": "First characters of the key for identification",
            "type": "string",
            "example": "0xa_live_abc1"
          },
          "last_used_at": {
            "description": "Last usage timestamp",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "name": {
            "description": "Key name",
            "type": "string"
          }
        }
      }
    },
    "wallet_address": {
      "description": "The wallet address",
      "type": "string"
    }
  }
}
```

### Status 401

Authentication required

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3ListKeys response 401",
  "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": 401,
  "error": "Missing or invalid API key. Provide X-API-Key header."
}
```

### Status 429

Rate limit exceeded

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3ListKeys 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"
}
```
