How it works
Step-by-step
- Onboard the sender β Create a customer with identity documents for KYC verification. Only a Driverβs License, Passport, or Resident Permit is accepted for individual customers. Only a Certificate of Incorporation is accepted for business customers. ID cards (National Identity Cards) are not accepted. All document images must be clear and legible β unclear images will be rejected, and repeated submission of fraudulent documents will result in the customer being permanently blacklisted.
- Create a Virtual Bank Account β Call POST /virtual-bank-account with your business
wallet_idand thecustomer_id. For NGN, the account activates instantly. For USD, GBP, and EUR, wait for thevirtual_account.readywebhook before sharing the account details. See the Virtual Bank Accounts guide for currency-specific prerequisites. - Collect funds β The sender deposits money into the Virtual Bank Account. The collection method depends on the source currency:
- CAD: Sender pays via Interac β no API call needed, you receive a
collection.completedwebhook when funds arrive. - NGN, USD, GBP, EUR: Sender transfers to your Virtual Bank Account β you receive a
collection.completedwebhook when funds settle. - Card: You initiate a card charge via POST /collection (card collections only, must be enabled for your business).
- CAD: Sender pays via Interac β no API call needed, you receive a
- Preview the cost β Call the Fee breakdown endpoint to calculate the exchange rate, fees, and the exact amount the recipient will receive.
- Payout to recipient β Create a payout specifying the destination currency, bank account, and amount. Use
to_amountto guarantee the recipient receives an exact amount, orfrom_amountto send from a fixed debit. - Track status β Listen for
payout.completedorpayout.failedwebhooks to update your user in real time.
Supported corridors
| Collect in | Pay out to | Collection method | Payout method |
|---|---|---|---|
| CAD | NGN | Interac | Bank transfer |
| USD | NGN | Virtual Bank Account (ACH) | Bank transfer |
| GBP | NGN | Virtual Bank Account (BACS) | Bank transfer |
| EUR | NGN | Virtual Bank Account (SEPA) | Bank transfer |
| CAD | GBP | Interac | Bank transfer (BACS) |
| USD | EUR | Virtual Bank Account (ACH) | Bank transfer (SEPA) |
Cross-currency payouts apply an exchange rate at transaction time. Always call Fee breakdown to preview the total cost before initiating.

