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