1. Open an account that can actually be paid
Opening is one call; becoming payable is two. Do not treat the201 from POST /v1/accounts as the end of the flow.
transferReady: false.
2. Give each customer their own wallet
A wallet is an ordinary account withcustomerId set.
- NGN only. Any other currency is
403 international_customer_wallet_not_supported, even if your own accounts in that currency work. - No crypto. Crypto needs tier 2.
- ₦50,000 ceiling, for both the balance and the daily outflow.
3. Separate your money from your customers’
Never infer ownership from the account name. Filter on it.balance are in minor units too. balance:gt=0 is “has any money”; balance:gte=100000 on an NGN account means ₦1,000, not ₦100,000.
4. Reconcile
Balances are a snapshot; transactions are the record. Use both, for different jobs.
Finding accounts that never became payable is worth a scheduled job — a
202 that never completed is silent otherwise:
What you cannot do here
- Close an account. There is no endpoint. It is a dashboard action, and a frozen account cannot be closed at all until the hold is lifted.
- Rename an account or change its metadata. Both are fixed at creation.
- Choose your own account number. The provider allocates it.
- Move an account between customers.
customerIdis set once.