Virtual Account Callbacks

StraitsX sends a virtualAccountStatusUpdated callback to your registered URL when a Virtual Bank Account (VBA) is enabled or disabled.

When this callback fires

TriggerDescription
VBA enabledA USD virtual bank account has been activated and is ready to receive payments.
VBA disabledA virtual bank account has been deactivated.
⚠️

SGD vs USD behavior

USD virtual accounts go through an asynchronous activation/review flow after creation. You will receive a callback when the VBA is enabled or disabled.

SGD virtual accounts are auto-enabled synchronously on creation and typically do not trigger an enabled callback. A disabled callback will still fire if the SGD VBA is later deactivated.

Status values

StatusMeaning
enabledVBA is active and ready to receive incoming payments.
disabledVBA has been deactivated — it can no longer receive payments.


Payload structure

{
  "data": {
    "id": "virtual_account_0fbec826-5c15-4afe-b338-5818cc706da5",
    "type": "virtual_bank_account",
    "attributes": {
      "referenceId": "your_reference_id",
      "currency": "USD",
      "status": "disabled",
      "createdAt": "2026-01-15T08:30:00.000Z"
    }
  }
}
{
   "data":{
      "id":"virtual_account_df1689fc-9fd5-452b-bbad-2eccfbc7459b",
      "type":"virtual_bank_account",
      "attributes":{
         "referenceId":"414186459",
         "currency":"USD",
         "status":"enabled",
         "instructions":{
            "recipientName":"ABC LIMITED",
            "bankName":"DBS Bank",
            "bankAddress":"12 MARINA BOULEVARD, MBFC TOWER 3, SINGAPORE 018982",
            "bankCountry":"Singapore",
            "swiftBic":"DBSSSGSGXXX",
            "accountNo":"885375018112345"
         },
         "createdAt":"2025-12-04T06:51:39.669Z"
      }
   }
}

Field reference

Top-level fields

FieldScopeTypeDescription
data.idCommon fieldsStringUnique virtual bank account ID.
data.typeCommon fieldsStringAlways virtual_bank_account.
data.attributes.referenceIdCommon fieldsStringYour reference ID provided during VBA creation.
data.attributes.instructionsCommon fieldsObjectBank account details for receiving payments. Only included when the VBA is enabled.
data.attributes.createdAtCommon fieldsStringISO 8601 timestamp when the VBA was created.
data.attributes.currencyUSD VA onlyStringCurrency code.
data.attributes.statusUSD VA onlyStringVirtual bank account status.

instructions object

📘

Present only when status is enabled. Contains the banking details your senders need to wire funds to this VBA.

FieldTypeDescription
recipientNameStringRecipient name to use for incoming transfers.
bankNameStringBank full name.
bankAddressStringBank address.
bankCountryStringBank country.
swiftBicStringSWIFT/BIC code.
accountNoStringVirtual bank account number.


Did this page help you?