Get wallet balances
Wallet
Get Balance
Fetch wallet balances for the authenticated product (collections, payouts, etc.). Filter by currency or fetch all.
GET
Get wallet balances
Fetch wallet balances associated with the product tied to your token (e.g., Collections, Payouts). Optionally filter by a specific
If the token is invalid, expired, or not authorized for the requested product, you’ll receive
currency (e.g., KES). If omitted, all balances for the product are returned.
Environments
| Environment | Base URL |
|---|---|
| Sandbox | https://dev.waftpay.io |
| Production | https://waftpay.io |
Endpoint
Full URLs
| Environment | URL |
|---|---|
| Sandbox | https://dev.waftpay.io/tsq/api/v1/wallet-balances?currency=KES |
| Production | https://waftpay.io/tsq/api/v1/wallet-balances?currency=KES |
Example request
- Sandbox
- Production
Authentication
This endpoint requires a Bearer token that is scoped to the product you are querying (e.g., a Collections token can only view Collections balances; a Payouts token can only view Payouts balances).401 Unauthorized.
Query parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
currency | query | string | No | ISO currency code (e.g., KES, UGX). If omitted, returns all balances for the product tied to your token. |
Successful responses
200 OK - All balances (no filter)
200 OK - Specific currency present
actual_balanceis the total ledger balance.available_balanceis the spendable amount after holds/reserves.alert_limitis your configured low-balance threshold, if any.statusreflects wallet state, for exampleACTIVE,INACTIVE, orSUSPENDED.
Error responses
404 Not Found - Currency not provisioned for this product
401 Unauthorized - Bad/expired token or wrong scope
Behavior & constraints
- Product scoping: The Bearer token determines which product’s wallets are visible (e.g., Collections vs Payouts).
- Filtering:
currencyis optional; when omitted, all provisioned wallets for the token’s product are returned. - Idempotency: This is a
GETand does not change state; no idempotency key required. - Caching: Avoid caching balances client-side if you need real-time accuracy.
- Rate limits: Standard platform rate limits apply. Handle
429with retries and backoff. - Currency codes: Must be ISO 4217 uppercase; unrecognized codes return
404or an empty list depending on provisioning.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
ISO currency code to filter the balance (e.g., KES, UGX, USD).
Example:
"KES"
