Verify Wallet Signature
POST /v1/users/auth/wallet/verify
Auth: None
| Field | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Same address used to request the nonce |
signature | string | Yes | Signature produced by signing message |
curl -X POST https://api.2settle.io/v1/users/auth/wallet/verify \
-H "Content-Type: application/json" \
-d '{ "address": "0xabc1234567890def1234567890abcdef12345678", "signature": "0x..." }'
{
"success": true,
"data": {
"user": { "...": "same shape as OTP verify" },
"accessToken": "eyJhbGciOi...",
"refreshToken": "9d3f7b2a...",
"expiresInSec": 900
}
}
Notes:
- Only the most recent, unconsumed, unexpired nonce for that address is
accepted, and each nonce can be used exactly once — a missing, stale, or
already-consumed nonce fails with
WALLET_NONCE_EXPIRED(400). - If the recovered signer doesn't match the requested address, fails with
INVALID_WALLET_SIGNATURE(401). - First-time addresses auto-create a user with a verified
walletidentity — the signature itself is the proof of ownership, no separate OTP step.