Skip to main content

Quickstart

Authenticate a user, list their wallets, and execute an internal transfer — all in under 5 minutes.

Prerequisites

  • A Kora Digital Banking tenant (e.g. fmfb)
  • A registered user with email and password
  • Base URL: https://api.korastratum.com/api/v1/banking

Step 1: Authenticate

curl -X POST https://api.korastratum.com/api/v1/banking/auth/login \
-H "Content-Type: application/json" \
-H "X-Tenant-ID: fmfb" \
-d '{
"email": "user@example.com",
"password": "SecurePass123!"
}'

Save the accessToken from the response — you'll include it as a Bearer token in every subsequent request.

{
"success": true,
"data": {
"user": {
"id": "b47ac10b-58cc-4372-a567-0e02b2c3d479",
"email": "user@example.com",
"firstName": "John",
"lastName": "Doe",
"kycStatus": "verified",
"kycLevel": 3
},
"tokens": {
"accessToken": "eyJ0eXAi...",
"refreshToken": "eyJ0eXAi...",
"expiresIn": 86400,
"tokenType": "Bearer"
}
}
}

Step 2: List Accounts

curl https://api.korastratum.com/api/v1/banking/accounts \
-H "Authorization: Bearer eyJ0eXAi..." \
-H "X-Tenant-ID: fmfb"

Response:

{
"success": true,
"data": {
"accounts": [
{
"id": "a1b2c3d4-...",
"accountNumber": "0000123456",
"accountName": "John Doe",
"balance": 1500000.00,
"currency": "NGN",
"accountType": "main",
"isPrimary": true,
"status": "active"
}
]
}
}

Step 3: Send an Internal Transfer

curl -X POST https://api.korastratum.com/api/v1/banking/transfers/internal \
-H "Authorization: Bearer eyJ0eXAi..." \
-H "X-Tenant-ID: fmfb" \
-H "Content-Type: application/json" \
-d '{
"sourceWalletId": "a1b2c3d4-...",
"recipientAccountNumber": "0000654321",
"amount": 50000.00,
"narration": "Test transfer"
}'

Response:

{
"success": true,
"data": {
"id": "f8e7d6c5-...",
"reference": "FMFB20260227001234",
"status": "completed",
"amount": 50000.00,
"fees": 0.00,
"totalAmount": 50000.00,
"narration": "Test transfer",
"timestamp": "2026-02-27T14:22:00Z"
}
}

Internal transfers between wallets on the same tenant settle instantly with zero fees.

What's Next