Skip to main content
A wallet is a virtual account that holds funds for one of your customers. When you create a wallet for a customer, TagPay provisions a unique 10-digit account number for it. Your customers can receive funds, make payments, and transfer money — all through that account number. Your merchant account also has its own wallet, which you use to hold settlement funds and fund operations in sandbox mode.

Wallet account numbers

Every wallet is identified by a unique 10-digit account number. This number works like a conventional Nigerian bank account number — other parties can send funds directly to it via NIP (bank transfer). You can look up any wallet by its account number using GET /wallet/info.

Wallet states

A wallet can be in one of three states:

Closing a wallet

To permanently close a wallet, call POST /wallet/close. This action is irreversible.

Blocking and unblocking a wallet

Temporarily block a wallet with POST /wallet/close (passing a reason) or re-enable it with POST /wallet/enable.

Creating a wallet

Create a wallet for a customer by calling POST /wallet. You must supply the customer’s personal details, date of birth, phone number, and at least one KYC identifier (BVN or NIN).
You must provide either a bvn or nin (or both). Wallets cannot be created without at least one KYC identifier.

Bulk wallet creation

To create wallets for multiple customers in one request, upload a CSV file to POST /wallet/bulk-create-customers. The CSV must contain one row per customer with the same fields as the single-wallet endpoint.

Wallet balances

A wallet has two balance figures: For day-to-day operations, use availableBalance to determine how much a customer can spend.

Post-no-credit mode

Post-no-credit mode allows a wallet to be debited but not credited. Use this to enforce collection-only behaviour on specific wallets — for example, loan repayment accounts that should never receive inbound transfers. Enable or disable post-no-credit mode per wallet. Only main merchants and admins can toggle this setting.
To restore normal credit behaviour:

Crediting and debiting wallets

Use the wallet endpoints to directly credit or debit a customer’s wallet from your merchant account.

Credit a wallet

Debit a wallet

The reference field must be at least 10 characters. Use a unique value for every transaction to allow safe retries and prevent duplicates.

Batch operations

To credit or debit multiple wallets in a single request, use the batch endpoints: Each batch request takes a batchReference (minimum 10 characters) and an array of transactions:

Wallet-to-wallet vs bank transfers

TagPay supports two types of outbound transfers from a customer wallet: Both transfer types require the customer to be authenticated and, where a PIN is set, to supply their transaction PIN.

Listing wallets

Retrieve all wallets under your merchant account:
Filter by accountNumber, phoneNumber, or a search term. Up to 500 account numbers can be looked up in a single bulk request via GET /wallet/customer/accounts.

Wallet management guide

Step-by-step guide to creating and managing wallets

Funds transfer

Send funds to banks and between wallets

Customers

Understand customer accounts and KYC tiers

Transactions

Understand transaction states, types, and reversals