Orders

Exchange a signed SIWE message for a short-lived scoped API key

Consumes the challenge nonce, verifies the signature, resolves the Kairos user that owns the wallet, and mints an API-key triple with scopes trade:execute, trade:read, position:read. Unauthenticated. Expiry and rotation. The key expires at expires_at (RFC3339 UTC), EXTERNAL_SIGNING_SIWE_KEY_TTL_SECS after minting (24h by default); after that every request with it is rejected as 401. The key is bound to the signing wallet, and minting one revokes every other active key of the same user bound to that wallet, so only the newest SIWE key per wallet works. Re-run challenge + verify before expires_at and switch to the new triple immediately. POST /v2/wallets/revoke revokes all of a wallet's SIWE keys at once.

post/v2/auth/siwe/verify

Request

  • Base URL
    https://execution.kairos.trade
  • Auth
    none required

Request body

messagestring required

The message returned by the challenge, verbatim.

signature_hexstring required

65-byte EIP-191 personal_sign signature, 0x-prefixed hex.

Response

The API-key triple. api_key and api_secret are shown once.

client_idstring required
api_keystring required
api_secretstring required
scopesstring[] required
addressstring required

The signing wallet, lowercase hex.

expires_atstring date-time required

When the key stops working (RFC3339 UTC).

Changes

No recorded changes to this operation across all 1 revision of this API.