Africa Fintech FoundryDeveloper Portal
Wallet · Partner API

Wallets & balances

Read a wallet’s details and balance, and manage holds — the two-step lock that backs escrow-style flows.

/WalletManagement/getWalletDetails
Returns netBalance only — a string, with no available-balance or lien field. If you show “on hold” amounts, your ledger supplies them, not this call.
Query parameters
accountNostringrequiredThe wallet NUBAN to look up.
// query string — there is no request body
accountNo=9012345678
/WalletManagement/getWalletByMerchantId
Your wallet book, paginated. Five fields per row — ids and names only, with no tier, status or balance. Anything richer means a getWalletDetails call per wallet.
Query parameters
QuerystringFilters by name or wallet number. Capital Q — raw Swagger casing.
// query string — there is no request body
Query=nwosu
/WalletManagement/downloadTransactionsByMerchantId
The statement export. The spec says nothing about what comes back — probe the content type in the sandbox before you build a parser around it.
// 200 — the spec declares no response body; the file format is undocumented
/WalletManagement/holdFunds
Locks part of the balance without moving money. The response’s amount_blockno is the handle for the release — lose it and the hold can only be lifted by support.
Parameters
accountNumberstringrequiredThe wallet to place the hold on.
amountnumberrequiredAmount in naira to lock.
holdNarrationstringWhy the hold exists — shows in support tooling.
// request
{
  "accountNumber": "9012345678",
  "amount": 25000,
  "holdNarration": "Escrow: order ESC-8F2C-0114"
}
/WalletManagement/releaseFunds
Lifts a hold by its block number. Release then transfer — the two calls together are how a protected order pays out.
Parameters
accountNumberstringrequiredThe wallet carrying the hold.
amountBlockNostringrequiredThe amount_blockno returned by holdFunds.
releaseFundNarrationstringWhy the hold is being lifted.
// request
{
  "accountNumber": "9012345678",
  "amountBlockNo": "HLD-000217",
  "releaseFundNarration": "Escrow released: buyer confirmed delivery"
}