Authentication Models
The Consumer portal uses two authentication models depending on the chain.
WEB Chain: JWT + Secure Channel
Browser and mobile app flows use:
- Secure Channel v2 — encrypts sensitive payloads (login, registration, password operations) using RSA-OAEP key exchange and AES-256-GCM encryption
- JWT —
accessToken(short-lived) andrefreshTokenfor session management, passed asAuthorization: Bearer <jwt> - X-Client-Hash — client device fingerprint bound to the session
Typical WEB flow:
- establish Secure Channel session
- initiate login or registration (encrypted through SC)
- complete MFA if required
- receive JWT access token
- call authenticated endpoints with JWT + portal context
API Chain: API Key + HMAC
Server-to-server flows use:
- X-Api-Key — identifies the API key
- X-Signature — HMAC signature of the request
- X-Timestamp — request timestamp (60s validity window)
- X-Nonce — unique request identifier (replay protection)
Consumer API keys are scoped to a workspace. Available scopes include wallet:read, transfer:read, transfer:create, and sandbox:reset.
Self-Registration (Consumer-Only)
Unlike other portals, Consumer allows users to register their own accounts:
POST /web/v1/consumer/auth/register/initiate— create accountPOST /web/v1/consumer/auth/register/code/send— send verification codePOST /web/v1/consumer/auth/register/complete— verify and activate
This flow requires Secure Channel for payload encryption.
Do Not Mix Auth Models
- JWT does not work on
/api/v1/**endpoints - API key + HMAC does not work on
/web/v1/**endpoints - Secure Channel is not a replacement for API signing