Event Types
Subscribe to specific events to receive notifications when they occur.
Available Events
| Event | Description |
|---|---|
virtual_account.created |
A new virtual account was created |
virtual_account.credited |
Funds were deposited into a virtual account |
transfer.initiated |
A bank transfer was initiated |
transfer.completed |
A bank transfer was completed successfully |
transfer.failed |
A bank transfer failed |
bulk_transfer.initiated |
A bulk transfer batch was initiated |
bulk_transfer.completed |
A transfer within a bulk batch was completed successfully |
bulk_transfer.failed |
A transfer within a bulk batch failed |
payout.initiated |
A payout was initiated |
payout.completed |
A payout was completed successfully |
payout.failed |
A payout failed |
payout.reversed |
A completed payout was returned by the beneficiary bank and reversed |
exchange.processing |
A currency exchange is being processed |
exchange.completed |
A currency exchange completed successfully |
exchange.failed |
A currency exchange failed |
wallet.credited |
Funds were added to a wallet |
wallet.debited |
Funds were deducted from a wallet |
* |
Subscribe to all events |
Virtual Account Events
virtual_account.created
Triggered when a new virtual account is created via the API.
Use cases:
- Update your database with the new account details
- Send a notification to your user
- Trigger onboarding workflows
virtual_account.credited
Triggered when funds are deposited into a virtual account.
Use cases:
- Credit your user's balance in your system
- Send payment confirmation to your user
- Trigger order fulfillment workflows
Transfer Events
transfer.initiated
Triggered when a bank transfer is initiated from a virtual account.
Use cases:
- Log the transfer attempt
- Update pending transaction status
- Notify relevant stakeholders
transfer.completed
Triggered when a bank transfer is completed successfully.
Use cases:
- Update transaction status to successful
- Send confirmation to the sender
- Update accounting records
transfer.failed
Triggered when a bank transfer fails.
Use cases:
- Update transaction status to failed
- Notify the user of the failure
- Initiate refund or retry workflows
Exchange Events
exchange.processing
Triggered when a currency exchange is being processed asynchronously.
Use cases:
- Update your UI to show the conversion is in progress
- Log the pending conversion
exchange.completed
Triggered when a currency exchange completes successfully.
Use cases:
- Update balances in your system
- Send confirmation to your user
- Update accounting records
exchange.failed
Triggered when a currency exchange fails.
Use cases:
- Notify the user of the failure
- Initiate retry workflows
- Update transaction status
Bulk Transfer Events
bulk_transfer.initiated
Triggered when a bulk transfer batch is submitted. The payload contains the full list of transfers in the batch.
Use cases:
- Log the batch submission
- Track pending transfers in your system
- Notify relevant stakeholders
bulk_transfer.completed
Triggered when an individual transfer within a bulk batch is completed successfully. One event is fired per successful transfer in the batch.
Use cases:
- Update individual transfer status to successful
- Track batch progress
- Update accounting records
bulk_transfer.failed
Triggered when an individual transfer within a bulk batch fails. One event is fired per failed transfer in the batch.
Use cases:
- Update individual transfer status to failed
- Track batch progress
- Initiate retry or refund workflows
Payout Events
payout.initiated
Triggered when a crypto or fiat payout is initiated.
Use cases:
- Log the payout attempt
- Update pending transaction status
- Notify relevant stakeholders
payout.completed
Triggered when a payout is completed successfully.
Use cases:
- Update transaction status to successful
- Send confirmation to the recipient
- Update accounting records
payout.failed
Triggered when a payout fails.
Use cases:
- Update transaction status to failed
- Notify the user of the failure
- Initiate retry workflows
payout.reversed
Triggered when a payout that had already completed is returned by the beneficiary bank and reversed. The funds are restored to the sender's wallet balance and any withdrawal fee charged on completion is refunded.
Use cases:
- Move the payout from a successful to a reversed state in your records
- Re-credit the payout amount (and fee) in your accounting
- Notify the user that the payment was returned
Exchange Events
exchange.processing
Triggered when a currency exchange is being processed asynchronously.
Use cases:
- Update your UI to show the conversion is in progress
- Log the pending conversion
exchange.completed
Triggered when a currency exchange completes successfully.
Use cases:
- Update balances in your system
- Send confirmation to your user
- Update accounting records
exchange.failed
Triggered when a currency exchange fails.
Use cases:
- Notify the user of the failure
- Initiate retry workflows
- Update transaction status
Wallet Events
wallet.credited
Triggered when funds are added to a wallet — for example a fiat bank deposit into your wallet balance, or the destination leg of a currency conversion.
For fiat bank deposits the payload includes the originating senderName,
senderAccountNumber, senderBankCode (with senderBankCodeType), the
paymentReference and the paymentRail (taken from the bank credit advice). These fields
are omitted for crypto and conversion credits, where no external bank sender is available.
Use cases:
- Credit your user's balance in your system
- Reconcile an incoming fiat deposit against the originating payer
- Send a deposit confirmation to your user
wallet.debited
Triggered when funds are deducted from a wallet — for example a payout, a transfer, or the source leg of a currency conversion.
Use cases:
- Debit your user's balance in your system
- Update accounting records
- Notify the user that funds left their wallet