---
title: "SIWX wallet auth, step 2 — verify the signature, mint a free-tier key"
method: POST
path: "/api/auth/verify"
tags: ["Access & Keys"]
---

# SIWX wallet auth, step 2 — verify the signature, mint a free-tier key

`POST /api/auth/verify`

## Request

- Base URL: `https://coil.trade`
- URL: `https://coil.trade/api/auth/verify`
- Auth: none required

Verifies the wallet signature over the issued message (EVM personal_sign via keccak/secp256k1 recovery; Solana/Algorand ed25519) and mints a coilwallet_ free-tier key — 25 calls/day on regime, indices, movers, crypto gate, crypto night, tradfi-risk and hold state, sent as the X-Coil-Key header. One key per address; re-verifying returns the same key. The signature is a message, not a transaction — no funds move.

## Request body

- object
  - `chain` 'base' | 'evm' | 'solana' | 'algorand'
  - `address` string, required
  - `issued_at` string, required: issued_at from /api/auth/nonce, verbatim
  - `signature` string, required: hex (EVM), base64, or base58

## Response `200`

The coilwallet_ key, its daily limit, and the endpoints it opens.

## Other responses

- `401`: Signature does not verify for this address.

---

[API](https://skmtc.dev/coil/apis/coil-scanner-agent-api.md) · [All operations](https://skmtc.dev/coil/apis/coil-scanner-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/coil/apis/coil-scanner-agent-api/revisions/e087ee004cfb?raw)
