Skip to main content

Bank Account SWIFT

Introduction

SWIFT Bank Account is the destination bank account when you off-ramp to fiat over the international SWIFT network. Avenia supports 16 corridors: USD, GBP, EUR, HKD, SGD, CHF, AUD, CAD, NZD, JPY, CNY, THB, PHP, INR, KRW and IDR.

Accepted currencies

currency accepts any of the 16 corridors:

USDGBPEURHKD
SGDCHFAUDCAD
NZDJPYCNYTHB
PHPINRKRWIDR

A beneficiary belongs to one currency. The currency you register is the currency it can be paid in, and it has to match the outputCurrency of the ticket — a beneficiary registered for EUR cannot receive a GBP payout. The payout is created in the beneficiary's currency, so allowing a mismatch would charge for one currency and deliver another.

To pay the same bank account in more than one currency, register it once per currency. The bank details are identical; only currency and alias change:

{ "alias": "ACME · USD", "currency": "USD", "accountValue": "GB33BUKB20201555555555", "bic": "BUKBGB22", "...": "same bank fields" }
{ "alias": "ACME · GBP", "currency": "GBP", "accountValue": "GB33BUKB20201555555555", "bic": "BUKBGB22", "...": "same bank fields" }

Each registration returns its own id. Use the one whose currency matches the quote.

Register the account here first, then reference its id when you create a SWIFT ticket.

info

SWIFT off-ramp requires a company account with an active SWIFT onboarding. See the KYB section to complete SWIFT activation.

info

All the endpoints here are applicable to subAccounts, just pass the subAccountId field followed by the subaccount id as the request parameter.

Register a SWIFT Beneficiary Account

HTTP POST Request

Endpoint:

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/swift/

cURL Example:

curl -X POST "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/swift/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-d '{
"alias": "ACME UK supplier",
"description": "Primary GBP supplier account",
"beneficiaryName": "ACME Corp LLC",
"beneficiaryType": "company",
"accountStandard": "iban",
"accountValue": "GB29NWBK60161331926819",
"bic": "NWBKGB2L",
"bankName": "NatWest",
"bankCountry": "GB",
"beneficiaryStreet": "1 King Street",
"beneficiaryCity": "London",
"beneficiaryState": "England",
"beneficiaryPostalCode": "EC2V 8AU",
"beneficiaryCountry": "GB"
}'

Fields

FieldTypeRequiredDescription
aliasstringYes (1–100 chars)Custom name to identify the account.
descriptionstringNoBrief description of the bank account.
beneficiaryNamestringYesFull legal name of the account holder (person or company).
beneficiaryTypestringYescompany or individual.
accountStandardstringYesIdentifier format: account_number or iban. Depends on the receiving bank.
accountValuestringYesThe account number or IBAN, matching accountStandard.
bicstringYesThe bank's SWIFT/BIC code (8 or 11 chars).
bankNamestringYesName of the receiving bank.
bankCountrystringYesBank country, ISO 3166-1 alpha-2 (e.g. GB).
beneficiaryStreetstringYesBeneficiary street address.
beneficiaryCitystringYesBeneficiary city.
beneficiaryStatestringNoBeneficiary state/province.
beneficiaryPostalCodestringNoBeneficiary postal/ZIP code.
beneficiaryCountrystringYesBeneficiary country, ISO 3166-1 alpha-2.
currencystringNoReceiving currency, one of the 16 corridors (e.g. USD, GBP). Defaults to USD when omitted, and must match the ticket's outputCurrency
Identifier format

SWIFT abstracts every corridor down to two identifier formats plus a BIC: account_number (e.g. USD, CAD, AUD) and iban (e.g. GBP, EUR). The receiving bank/country determines which one to use.

JSON Response

{
"id": "00000000-0000-0000-0000-000000000000"
}

Use the returned id as beneficiarySwiftBankAccountId when creating a SWIFT ticket.

List all SWIFT beneficiaries bank accounts

HTTP GET Request

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/swift/

Filter Fields

FieldTypeDescription
subAccountIdstringThe ID of a sub-account. If provided, data is fetched for the sub-account; leave empty for the main account.
createdAfterint64Filters results created after this timestamp.
createdBeforeint64Filters results created before this timestamp.
cursorstringCursor for pagination. Pass the value from the previous response to retrieve the next set of results.
aliasstringFilters results with the specified alias.

cURL Example

curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/swift/" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

JSON Response

{
"bankAccounts": [
{
"id": "00000000-0000-0000-0000-000000000000",
"alias": "ACME UK supplier",
"description": "Primary GBP supplier account",
"beneficiaryName": "ACME Corp LLC",
"beneficiaryType": "company",
"accountStandard": "iban",
"accountValue": "GB29NWBK60161331926819",
"bic": "NWBKGB2L",
"bankName": "NatWest",
"bankCountry": "GB",
"beneficiaryStreet": "1 King Street",
"beneficiaryCity": "London",
"beneficiaryState": "England",
"beneficiaryPostalCode": "EC2V 8AU",
"beneficiaryCountry": "GB",
"currency": "GBP",
"createdAt": "2026-08-03T15:13:08.320462Z"
}
],
"cursor": "MzItMTc0MDA2NDM4ODMyMA..."
}

Get SWIFT beneficiary bank account by ID

HTTP GET Request

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/swift/00000000-0000-0000-0000-000000000000

cURL Example

curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/swift/00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

JSON Response

{
"bankAccount": {
"id": "00000000-0000-0000-0000-000000000000",
"alias": "ACME UK supplier",
"beneficiaryName": "ACME Corp LLC",
"beneficiaryType": "company",
"accountStandard": "iban",
"accountValue": "GB29NWBK60161331926819",
"bic": "NWBKGB2L",
"bankName": "NatWest",
"bankCountry": "GB",
"beneficiaryStreet": "1 King Street",
"beneficiaryCity": "London",
"beneficiaryState": "England",
"beneficiaryPostalCode": "EC2V 8AU",
"beneficiaryCountry": "GB",
"currency": "GBP",
"createdAt": "2026-08-03T15:13:08.320462Z"
}
}

Delete SWIFT beneficiary bank Account

HTTP DELETE Request

https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/swift/00000000-0000-0000-0000-000000000000

cURL Example

curl -X DELETE "https://api.sandbox.avenia.io:10952/v2/account/beneficiaries/bank-accounts/swift/00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

Your SWIFT bank account has been deleted!

Conclusion

In this section you have learned how to manage SWIFT bank accounts within the Avenia API.

What we've covered:

  • Creating a SWIFT Bank Account – Register a beneficiary for international SWIFT payouts (any supported corridor).
  • Fetching All SWIFT Bank Accounts – Retrieve all your SWIFT bank accounts.
  • Fetching a Specific SWIFT Bank Account by ID – Retrieve details by UUID.
  • Deleting a SWIFT Bank Account – Permanently remove a SWIFT bank account.

Use the returned id as beneficiarySwiftBankAccountId when creating a SWIFT off-ramp ticket (see Operations → Available Combinations).