Authentication
Wallet-based auth with JWT tokens
Authentication
StepFi uses Stellar wallet signatures for authentication. No passwords, no email, no KYC.
Flow
Request a nonce
POST /api/v1/auth/nonce Content-Type: application/json { "walletAddress": "GCBMQ7YH2XPNM4KLWRS9JF3EVKD5A8T4X7F" }Response:
{ "nonce": "stepfi_auth_a3f8b2c1d4e5", "expiresAt": "2026-05-14T15:30:00Z" }Sign the nonce
Sign the nonce string with your Stellar wallet using Freighter or Lobstr.
Verify the signature
POST /api/v1/auth/verify Content-Type: application/json { "walletAddress": "GCBMQ7YH...", "signature": "signed_nonce_here", "nonce": "stepfi_auth_a3f8b2c1d4e5" }Response:
{ "accessToken": "eyJhbGc...", "refreshToken": "eyJhbGc...", "expiresIn": 3600 }Use the access token
Include the token in all subsequent requests:
Authorization: Bearer eyJhbGc...