Endpoint
Description
Use this endpoint to provision a wallet for a customer. The wallet is automatically assigned a unique ID and starts with a zero balance. The wallet status is set toactive upon creation.
Request Body
Request Fields
| Field | Type | Required | Description |
|---|---|---|---|
customer_id | string (UUID) | Yes | The customer for whom the wallet is being created |
currency | string | Yes | The currency for the wallet (e.g., NGN, USD) |
Response
Success Response (201 Created)
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique wallet ID |
account_id | string | Internal account identifier |
customer_id | string | ID of the customer linked to the wallet |
balance.amount | number | Current wallet balance (starts at 0) |
balance.currency | string | Currency of the wallet |
status | string | Wallet status (active) |
Example cURL Request
Common Errors
| Status Code | Description |
|---|---|
400 | Invalid request or unsupported currency |
401 | Unauthorized |
404 | Customer not found |
409 | Wallet already exists for this customer and currency |
Notes & Best Practices
- Ensure the customer exists before creating a wallet.
- Only create one wallet per customer per currency to avoid duplicates.
- The wallet starts with a zero balance and
activestatus. - Use the wallet
idfor all subsequent transactions, payment methods, or status updates.
Common Use Cases
- Provision wallets when a new customer signs up
- Enable multi-currency wallet management for existing customers
- Prepare wallets for payouts, funding, or transaction processing