---
title: "Create Challenge"
method: POST
path: "/api/v1/wallet/challenge"
tags: ["Wallet Auth"]
---

# Create Challenge

`POST /api/v1/wallet/challenge`

## Request

- Base URL: `https://cryptodataapi.com`
- URL: `https://cryptodataapi.com/api/v1/wallet/challenge`
- Auth: none declared

Issue an EIP-4361 (Sign-In with Ethereum) challenge for a wallet address.

Sign `message` verbatim with personal_sign (EIP-191) and send the signature
plus `nonce` to /wallet/verify before `expires_at`. The nonce is single-use.

## Request body

- ChallengeRequest
  - `wallet_address` string, required
  - `chain_id` integer, nullable

## Response `200`

Successful Response

- ChallengeResponse
  - `message` string, required
  - `nonce` string, required
  - `expires_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cryptodataapi/apis/crypto-data-api.md) · [All operations](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/revisions/8628b754ca81?raw)
