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. You can validate the SWIFT code before submitting the account details. - Fetch Country- and Currency-Specific Requirements
For non-USD International External Accounts, use the metadata API first to retrieve the required dynamic fields and validations based on the destination country, accepted currency, and holder type. - OFAC Screening
The account holder name is screened against regulatory and compliance watchlists. - Account Activation
Once OFAC verification is successfully completed, the International External Account becomesACTIVEand is ready for transaction processing.
Add an International External Account
Use the International External Account create API to add an international bank account within the system. This account represents a customer-owned bank account outside the Passport system that can later be used for cross-border transfers.
Key Details Required
Field | Required | Description |
|---|---|---|
| Optional | Reference identifier assigned by the Program Manager. Maximum 45 characters. If provided, it must be unique across all International External Accounts and cannot be updated later. |
| ✓ | Type of bank account. Possible values: |
| ✓ | Name of the bank account holder exactly as it appears on bank records. Maximum 60 characters. All printable ASCII characters are allowed except tilde ( |
| ✓ | Type of account holder. Possible values: |
| ✓ | International bank account number. Maximum 34 characters. Supports letters, numbers, and these symbols: |
| ✓ | SWIFT code for the destination bank. Must be 8 to 11 alphanumeric characters. A valid SWIFT code is required before account creation. |
| Conditional | International routing code required for certain countries. Supported formats include:
|
| ✓ | Accepted currency for the International External Account. Uses a 3-character currency code. If multiple currencies are provided and |
| Optional | Account holder email address. Must be in a valid format, for example |
| Optional | Phone number of the bank account holder. |
| Optional | Helps meet cross-border compliance requirements and is shared with partner banks to facilitate secure and compliant processing of the wire transaction. |
| Optional | Comments passed by the user. |
| Optional | Labels or tags assigned to the International External Account. |
| Optional | Key-value pairs used to store additional information for the account. |
Account Holder Address
The account holder address is required as part of the International External Account details.
| Field | Required | Description |
|---|---|---|
holderAddress.addressLine1 | ✓ | Address line 1. Maximum 35 characters for USD and 25 characters for foreign currency. |
holderAddress.addressLine2 | Optional | Address line 2. Maximum 35 characters for USD and 20 characters for foreign currency. |
holderAddress.city | ✓ | City. Maximum 25 characters for USD and 20 characters for foreign currency. Supports alphabetic characters and country-supported special characters. |
holderAddress.state | ✓ | State or region code. Must be 2 to 3 alphabetic characters. |
holderAddress.country | ✓ | 2-character country code, for example US. |
holderAddress.zip | ✓ | Postal 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.
Additional Details for Non-USD Accounts
For non-USD International External Accounts, additional information may be required in the additionalDetail object.
| Field | Required | Description |
|---|---|---|
additionalDetail.<key> | Conditional | Dynamic fields that vary based on destination country, accepted currency, and holder type. |
additionalDetail.taxId | Conditional | Example dynamic field. Validation format varies by destination country. Country-specific tax identifiers can differ depending on the receiving jurisdiction. |
Use the metadata API before creating a non-USD International External Account to retrieve the required dynamic fields and validations for the selected country, currency, and holder type.
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
- SWIFT Code Validation
- A valid SWIFT code is required before account creation.
- The system blocks creation if the SWIFT code is invalid.
- Metadata Lookup for Non-USD Accounts
- Required before the first creation of a non-USD International External Account for a given country and currency combination.
- Returns the dynamic fields and validation rules based on country, currency, and holder type.
- OFAC Screening
- Performed on the account holder name.
- 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 International External Account retrieve 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.
| Status | Description |
|---|---|
INACTIVE | Default status on creation |
ACTIVE | Successfully cleared OFAC verification and ready for transactions |
BLOCKED | Restricted because OFAC verification was rejected |
OFAC Statuses
| Status | Description |
|---|---|
PENDING_VERIFICATION | Default status when the account is created or when the holder name is updated and OFAC verification is enabled |
VERIFIED | OFAC verification completed successfully |
UNDER_REVIEW | OFAC verification could not be completed automatically and requires manual review |
REJECTED | OFAC verification failed during manual review |
IGNORED | Default 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
INACTIVEstatus - Re-run prerequisite checks such as SWIFT validation or metadata lookup before resubmitting
- Contact the Passport team for accounts in
UNDER_REVIEWor 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.
externalIdmust be unique across all International External Accounts.- Once assigned,
externalIdcannot be updated. - An International External Account in
INACTIVEstatus can be updated. - A Program Manager can delete an International External Account if no transaction has been created using it.
Best Practices
| Practice | Description |
|---|---|
| Use International External Accounts only for customer-owned accounts | Do not use them for third-party recipients; use Contacts instead |
| Validate SWIFT codes before creation | Prevent account creation failures early |
| Run the metadata API before non-USD onboarding | Required to discover country- and currency-specific fields and validations |
| Store the external account identifier | Required for future payout flows and reconciliation |
| Monitor OFAC verification status | International account usability depends on compliance outcome |
| Keep holder address details accurate | Country-specific formatting and PO Box restrictions can block account creation or updates |
Updated about 4 hours ago