---
title: "List API keys for wallet"
method: POST
path: "/v1/web3/keys"
tags: ["Web3 Authentication"]
---

# List API keys for wallet

`POST /v1/web3/keys`

## Request

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

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

## Request body

- Web3KeysRequest
  - `message` string, required: The SIWE message from the challenge endpoint
  - `signature` string, required: Hex-encoded signature from personal_sign (0x-prefixed)

## Response `200`

List of API keys

- Web3KeysResponse
  - `keys` Web3ApiKey[]
    - `id` string, uuid: Unique key ID
    - `name` string: Key name
    - `key_prefix` string: First characters of the key for identification
    - `is_active` boolean: Whether the key is currently active
    - `last_used_at` string, date-time, nullable: Last usage timestamp
    - `created_at` string, date-time: Creation timestamp
  - `wallet_address` string: The wallet address

## Other responses

- `401`: Authentication required: the API key is missing or invalid.
- `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)
