Credit a customer wallet
POST /wallet/credit
Transfers funds from your merchant settlement wallet to a customer wallet. The merchant wallet is debited the transfer amount plus any applicable wallet-to-wallet transfer fees.
The customer wallet must be
ACTIVE and must not have post-no-credit (PNC) mode enabled. Credits are also subject to the customer’s tier maximum balance limit — if the credit would push the wallet over its tier cap, the request is rejected.Request
string
required
Bearer token.
string
required
The UUID of the customer whose wallet you are crediting.
number
required
Amount to credit, in kobo. Must be greater than 0.
string
Your unique transaction reference. If omitted, one is auto-generated. Minimum 10 characters. Duplicate references are rejected.
object
Arbitrary key-value data attached to the transaction. Returned in webhook payloads.
Response
boolean
true on success.string
"Transaction successfully completed." or "Transaction successfully submitted for approval." (for web-initiated requests that require maker-checker approval).object
Present on successful API-initiated transactions.
Examples
Response
Debit a customer wallet
POST /wallet/debit
Withdraws funds from a customer wallet and credits them to your merchant settlement wallet. The net amount received by the merchant is the debited amount minus any applicable transfer fees.
Request
string
required
Bearer token.
string
required
The UUID of the customer whose wallet you are debiting.
number
required
Amount to debit, in kobo. Must be greater than 0.
string
Your unique transaction reference. Minimum 10 characters. Duplicate references are rejected.
object
Arbitrary key-value data attached to the transaction.
Response
boolean
true on success.string
"Transaction successfully completed" on success.object
Examples
Response
Get merchant wallet balances
GET /wallet/balance
Returns the total combined balance across all customer wallets under your merchant account. This is the sum of availableBalance for every customer wallet.
Request
string
required
Bearer token.
Response
boolean
true on success.object
Examples
Response
Get settlement balance
GET /wallet/settlement-balance
Returns the total unsettled balance owed to customers — the difference between bookedBalance and availableBalance across all customer wallets. Use this before calling POST /wallet/settle-customer-balance to understand how much you need to fund.
Request
string
required
Bearer token. Requires
MANAGE_BALANCE_SETTLEMENT permission.Response
boolean
true on success.number
Total pending settlement amount in kobo.
Examples
Response
Settle customer balances
POST /wallet/settle-customer-balance
Transfers funds from your merchant settlement wallet to cover the outstanding balances of all customers who have a bookedBalance greater than their availableBalance. Settlement is processed smallest-balance-first until your merchant wallet is exhausted.
Request
string
required
Bearer token. Requires
MANAGE_BALANCE_SETTLEMENT permission.Response
boolean
true on success.string
"Your customers wallet has been settled"Examples
Response
Error responses
400 Insufficient Balance
400 Post-No-Credit Enabled
