Skip to main content
POST
Verify wallet signature

Authorizations

x-tenant-api-key
string
header
default:c7eccc0aaed64932a85d35658fa55a4fb2d60cd3d2c529cfd643dc676ee82e82
required

Vane's shared tenant key. Contact support for a dedicated key if you need custom parameters or separate order tracking.

Body

application/json

SIWX verification payload.

data
object
required

The signing account.

message
string
required

The exact message that was signed, containing the line Nonce: <nonce> with the nonce from GET /auth/siwx/challenge. Both the minimal single-line Nonce: <nonce> format and a fuller EIP-4361 style sign-in message are accepted.

signature
string
required

Wallet signature over message (EVM: personal_sign / EIP-191). Must recover to data.accountAddress.

referralCode
string

Optional referral code to credit the referrer; see Points and referrals.

Response

Signature accepted. The status is 201, and the JWT token pair is also set as HttpOnly cookies.

JWT token pair. Also delivered as HttpOnly, Secure, SameSite=None cookies: access_token (15 min, Path=/) and refresh_token (30 days, Path=/api/auth). The cookie values are server-signed strings, not the raw JWTs, so non-browser clients should use the JSON accessToken as a Bearer header.

accessToken
string
required

JWT access token. Valid for 15 minutes. Send as Authorization: Bearer <token>.

refreshToken
string
required

JWT refresh token. Valid for 30 days. Used by POST /auth/refresh.