All monetary amounts —
spendLimitPerTx, spendLimitPeriod, and any balance values — are integers in kobo, the smallest unit of the Nigerian Naira. ₦1 = 100 kobo. For example, a ₦5,000 transaction limit is represented as 500000.Create a wallet
Send aPOST request to /api/wallets with the configuration for your new agent wallet. The response includes the wallet record, a virtual bank account for funding, and a one-time API key for the agent to use.
Request body
Validation rules
Keep these constraints in mind when building your wallet creation form:spendLimitPerTxmust be less than or equal tospendLimitPeriod.- If
expiryis provided, it must be a future datetime. Submitting a past or present timestamp will be rejected. - If
useAllowlististrue,merchantAllowlistmust contain at least one merchant name.
Example request
POST /api/wallets
Example response
The response body wraps three objects: the wallet record, a virtual bank account for funding, and a one-time API key.201 Created
data.wallet— the wallet record with all configuration and current balance.data.virtualAccount— the bank account details used to fund this wallet. ShareaccountNumber,accountName, andbankNamewith whoever needs to top up the agent’s balance.data.apiKey— the API key the agent uses to authenticate payment requests. ContainsfullKeyonly in this response — it is never returned again.
Retrieve a wallet
Fetches the full wallet record, its linked virtual account, and a list of its API keys (prefixes only — nofullKey).
Example response
200 OK
apiKeys is an array — a wallet may have multiple keys (e.g. after a rotation). Each entry shows only keyPrefix, not fullKey.
List wallets for a user
Returns all wallets associated with a given user ID.Example response
200 OK
Wallet status values
Every wallet has astatus field that reflects its current state:
React hook example
The hook below wraps the wallet creation endpoint, stores theapiKey.fullKey securely, and clears it from memory once you have handed it to your secret store.
src/hooks/useCreateWallet.ts
Usage in a component
src/components/CreateWalletForm.tsx