API keys
Every request must be authenticated with a customer API key. Send it as either:
x-api-key: sk_live_xxxxxxxxxxxxxxxxxxxx
# or
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx
Keys are scoped per customer, can be IP-whitelisted, and may carry an expiry date.
Treat API keys as secrets. Never expose them in client-side code or commit them to
source control. Rotate immediately if a key is leaked.
CSRF token for writes
Write operations (POST, PATCH, DELETE) additionally require an X-CSRF-Token
header (a 64-character hex string):
X-CSRF-Token: <64-char-hex>
IP whitelisting & expiry
A key may be restricted to a set of source IP addresses and given an expiry
date. A request from a non-whitelisted IP, or with an expired key, is rejected
with 403. Rotate keys periodically and deactivate any you no longer use.
Idempotency
Money-moving operations (such as wallet sends) accept an Idempotency-Key
header. Send a unique UUID per logical operation so retries never create
duplicate transactions:
Idempotency-Key: 3f9c2a7e-1b4d-4c8a-9e21-7d5f0b6a1c33
See Idempotency for the full pattern and 409
semantics.