Overview
Wallet authentication uses the Sign-In with Ethereum (SIWE) standard to authenticate users via their wallet signature. After verification, the API sets an httpOnly session cookie for subsequent requests. This is the authentication method used by the Request Dashboard and is required for managing payee destinations and client IDs.Supported Wallets
- EVM wallets β MetaMask, WalletConnect, Coinbase Wallet, and any wallet supporting
personal_sign - Tron wallets β TronLink (addresses starting with
T...)
Challenge/Verify Flow
Request a challenge
Call The challenge expires after 5 minutes.
POST /v1/auth/wallet/challenge with the wallet address. The API returns a SIWE-formatted message to sign.Response (201)
Sign the message
Sign the Tron (TronLink):
message field using the walletβs signing capability.EVM (viem):Session Management
- Session type: httpOnly, secure, sameSite=lax cookie
- Wallet session timeout: 15 minutes idle timeout
- Logout:
POST /v1/auth/logoutclears the session cookie
Email/Password Authentication
For programmatic access without a wallet, the API also supports email/password authentication:POST /v1/auth/registerβ Create an account with email and password (8-100 chars)POST /v1/auth/loginβ Login with email and passwordPOST /v1/auth/logoutβ Clear the session
Related Pages
Authentication
API key and Client ID authentication for API integrations.
Payee Destinations
Manage receiving routes (requires wallet session).