International External Accounts

Store customer-owned international bank accounts for cross-border transfers.

International External Accounts represent bank accounts owned by the customer but held outside the system in another country. These accounts are linked to enable cross-border movement of funds between a customer’s system Account and the customer’s own bank account in another country.

A customer can configure one or more International External Accounts depending on their business needs. Every International External Account undergoes OFAC screening on the account holder name before it can be used for transaction processing.

When to Use International External Accounts

  • Move funds between the system account and the customer’s own bank account in another country
  • Support cross-border treasury or payout use cases
  • Store reusable international banking details for future transfers
  • Manage customer-owned international bank destinations outside the system

International External Accounts should not be used for collecting funds from or sending funds to third parties. Use Contacts (Payees) for those flows.


How it Works

  • Add an International External Account
    Provide the international bank account details required for the destination country and currency, such as account number, SWIFT code, holder information, and holder address.

    • Validate the SWIFT Code
      A valid SWIFT code is required before the account can be created. The system validates the SWIFT code upfront and blocks account creation if the code is invalid.
    • Fetch Country- and Currency-Specific Requirements
      For non-USD International External Accounts, retrieve the required dynamic fields and validations before account creation. These requirements vary based on destination country, accepted currency, and holder type.
  • Retrieve Account Status and Verification Details
    Use the retrieve API to check the account status, status reason, OFAC verification details, accepted currency, and stored account holder information.

    • OFAC Screening
      After account creation, the account holder name is screened against regulatory and compliance watchlists.
  • Use the Account for International Wire Transactions : After the International External Account is ACTIVE, use the POST /v1/customer/id/{id}/transaction (or externalId) API to create an International Wire transaction with the International External Account as the destination.


Add an International External Account

Use the POST /v1/customer/id/{id}/internationalExternalAccount (or externalId) API to add an international bank account within the system. This account represents a customer-owned bank account outside the system that can later be used for cross-border transfers.

Key Details Required:

Field

Required

Description

type

Type of bank account. Possible values: SAVINGS, CHECKING.

holderName

Name of the bank account holder exactly as it appears on bank records. Maximum 60 characters. All printable ASCII characters are allowed except tilde (~) and pipe.

holderType

Type of account holder. Possible values: CONSUMER, CORPORATE.

accountNumber

International bank account number. Maximum 34 characters. Supports letters, numbers, and these symbols: * : # - / & , + '.

swiftCode

SWIFT code for the destination bank. Must be 8 to 11 alphanumeric characters. A valid SWIFT code is required before account creation.

Use the POST /v1/customer/id/{id}/internationalExternalAccount/validateRoutingCode (or externalId) API to validate the SWIFT code before submitting the account details.

internationalRoutingCode

Conditional

International routing code required for certain countries.

Use the POST /v1/customer/id/{id}/internationalExternalAccount/validateRoutingCode (or externalId) API to validate the Routing code before submitting the account details.

Supported formats include:

  • Australia – 6 characters
  • India – 11 characters
  • Canada – 9 characters
  • United Kingdom – 6 characters
  • New Zealand – 6 characters
  • Hong Kong – 3 characters
  • Poland – 8 characters

acceptedCurrency

Accepted currency for the International External Account. Uses a 3-character currency code.

If multiple currencies are provided and USD is included, the system accepts USD as the default accepted currency.

If multiple currencies are provided and USD is not included, the system throws an error and requires a single appropriate accepted currency for the destination country.

holderEmail

Optional

Account holder email address. Must be in a valid format, for example [email protected].

holderPhone

Optional

Phone number of the bank account holder.

purpose

Conditional, mandatory only for certain country-currency routes.

Helps meet cross-border compliance requirements and is shared with partner banks to facilitate secure and compliant processing of the wire transaction.

Add the Account Holder Address

The account holder address is required as part of the International External Account details.

FieldRequiredDescription
holderAddress.addressLine1Address line 1. Maximum 35 characters for USD and 25 characters for foreign currency.
holderAddress.addressLine2OptionalAddress line 2. Maximum 35 characters for USD and 20 characters for foreign currency.
holderAddress.cityCity. Maximum 25 characters for USD and 20 characters for foreign currency. Supports alphabetic characters and country-supported special characters.
holderAddress.stateOptionalState or region code. Must be 2 to 3 alphabetic characters.
holderAddress.country2-character country code, for example US.
holderAddress.zipOptionalPostal code. Length must be between 1 and 9 characters. Supports letters and numbers.

You cannot save or update an International External Account for a Contact if the holder address is a PO Box address.

Add Meta Data for Non-USD External Accounts

For non-USD International External Accounts, additional information may be required in the additionalDetail.<key> object.

Use the POST /v1/customer/id/{id}/internationalExternalAccount/metadata (or externalId) API to fetch the required dynamic fields and validations based on the destination country, accepted currency, and holder type.

Field

Required

Description

additionalDetail.<key>

Conditional

Dynamic fields that vary based on destination country, accepted currency, and holder type.

Possible Values:

  • taxId

The validations accepted around “taxID” can also vary based on the destination country. For example, “taxID” value can be:

  • ARCTX for Argetina
  • CTID for Canada
  • INN Tax Authority for Russia.

Validation format varies by destination country. Country-specific tax identifiers can differ depending on the receiving jurisdiction.

After submitting the request, the system checks that all required information is present. If any validation fails, the request is rejected immediately, and an error response is returned. You must correct the issue and resubmit the request. For a complete list of validation errors and how to resolve them, refer to the HTTP Response Codes.

Key Capabilities:

  • Link multiple International External Accounts per customer
  • Store customer-owned cross-border bank destinations
  • Support country- and currency-specific account requirements
  • Validate SWIFT codes before account creation
  • Perform OFAC screening on the account holder
  • Store dynamic metadata and compliance-related details for international processing

Validation Requirements

  1. SWIFT Code Validation
    1. A valid SWIFT code is required before account creation.
    2. The system blocks creation if the SWIFT code is invalid.
  2. Metadata Lookup for Non-USD Accounts
    1. Required before the first creation of a non-USD International External Account for a given country and currency combination.
    2. Returns the dynamic fields and validation rules based on country, currency, and holder type.
  3. OFAC Screening
    1. Performed on the account holder name.
    2. Required before the account becomes ACTIVE.

The metadata response is fetched from a third party outside the Passport system. Customers must provide all required values returned for the selected country and currency.


Retrieve International External Account details

Use the GET /v1/customer/id/{id}/internationalExternalAccount/id/{id} (or externalId) API to view the following important information:

  • International External Account Status & Status Reason: Current lifecycle state of the account and the reason assigned to that state
  • OFAC Status Details: Compliance verification result for the account holder, including status, reason, and timestamp
  • Account Holder and Address Information: Stored account holder details and holder address
  • Accepted Currency and Country-Specific Details: Currency configuration and any routing or dynamic field requirements
  • Audit Metadata: Creation details, last updated details, comments, tags, and custom metadata

Only the last 4 digits of the account number are returned in API responses through accountNumberLast4.


International External Account Lifecycle

International External Accounts follow a simpler lifecycle than domestic External Accounts because they rely primarily on SWIFT validation, metadata requirements, and OFAC screening rather than domestic account validation methods such as EWS, prenote, or micro-deposits.

StatusDescription
INACTIVEDefault status on creation
ACTIVESuccessfully cleared OFAC verification and ready for transactions
BLOCKEDRestricted because OFAC verification was rejected

OFAC Statuses

StatusDescription
PENDING_VERIFICATIONDefault status when the account is created or when the holder name is updated and OFAC verification is enabled
VERIFIEDOFAC verification completed successfully
UNDER_REVIEWOFAC verification could not be completed automatically and requires manual review
REJECTEDOFAC verification failed during manual review
IGNOREDDefault status when OFAC verification is disabled for the program

If OFAC verification is rejected, the International External Account is marked as BLOCKED.


Blocked Accounts & Resolution

An International External Account may be marked as BLOCKED due to:

  • Rejected OFAC verification
  • Invalid or incomplete account details
  • Country- or currency-specific validation failures
  • Invalid SWIFT code or unsupported routing information

Resolution Path

  • Review status, statusReason, and OFAC verification details from the retrieve response
  • Correct account details if the account is still in INACTIVE status
  • Re-run prerequisite checks such as SWIFT validation or metadata lookup before resubmitting
  • Contact the Passport team for accounts in UNDER_REVIEW or compliance-related blocked states

Transactions are not allowed on blocked accounts.


Compliance & Security

  • Every International External Account undergoes OFAC verification on the account holder name.
  • A valid SWIFT code is required before account creation.
  • Running the metadata API is mandatory before the first creation of a non-USD International External Account for a given country and currency combination.
  • externalId must be unique across all International External Accounts.
  • Once assigned, externalId cannot be updated.
  • An International External Account in INACTIVE status can be updated.
  • A Program Manager can delete an International External Account if no transaction has been created using it.

Best Practices

PracticeDescription
Use International External Accounts only for customer-owned accountsDo not use them for third-party recipients; use Contacts instead
Validate SWIFT codes before creationPrevent account creation failures early
Run the metadata API before non-USD onboardingRequired to discover country- and currency-specific fields and validations
Store the external account identifierRequired for future payout flows and reconciliation
Monitor OFAC verification statusInternational account usability depends on compliance outcome
Keep holder address details accurateCountry-specific formatting and PO Box restrictions can block account creation or updates

.readme-logo { display: none !important; }