Skip to main content
Jp Morgan Wallet

Wire FX: Send high-value funds in a different currency

Overview

A Wire Foreign Exchange (Wire FX) transaction is a transfer of high-value funds using Wire payment rails (US Wire, UK Wire, and EU Wire) where the funds are converted from one currency to another.

When you execute a Wire FX transaction, funds actually move between countries. The funds are transferred out of the debtor account, converted into the creditor currency, and deposited into the creditor account.

For example, you can request a PayOut transaction from a J.P. Morgan Wallet™ Demand Deposit Account (DDA) in the US, where the funds are in USD, to a DDA in the UK, where the funds are converted to GBP. US Wire transfers the funds from the debtor account to the creditor account.

For an overview of payment types in Wallet, see Payments.

Supported use cases

You can use Wire FX to send funds in one currency and convert them to another currency. For example:

  • Business paying international suppliers: A business in the US with funds in USD can use Wire FX to pay a supplier in the UK in GBP.
  • Marketplace paying international sellers: A marketplace in the UK with funds in GBP can use Wire FX to pay a seller in Luxembourg in EUR.
  • Employer paying international employees: An employer in Luxembourg with funds in EUR can use Wire FX to pay an employee in the US in USD.

Key information

The following table describes important information about Wire FX.

Key information for Wire FX
Production endpoint

v3.x: https://apigateway.jpmorgan.com/tsapi/v3/jpmwallet/payments/advanced-batch


Use if you need to send funds from Japan or handle BGN currency.

v2.x: https://apigateway.jpmorgan.com/tsapi/v2/jpmwallet/payments/advanced-batch


Use if you don't require v3.

Client testing endpoint v3.x: https://apigatewaycat.jpmorgan.com/tsapi/v3/jpmwallet/payments/advanced-batch v2.x: https://apigatewaycat.jpmorgan.com/tsapi/v2/jpmwallet/payments/advanced-batch
API reference v3.x: Initiate one or many PayOuts v2.x: Initiate one or many PayOuts
Supported branches All Wallet-supported J.P. Morgan Chase branches (see Reference - Supported branches and their BICs)
Supported currencies All currencies supported by each branch (see Reference - Supported account currencies by branch)
Supported account types All (Demand Deposit Account - DDA and Customer Money Account - CMA)
Payment type
  • PayOut
Payment flows
Transaction limit No default limit
Cut-off time
  • US Wire: 7:00pm ET on business days
  • UK Wire: 5:00pm GMT on business days
  • EU Wire: 5:00pm local time on business days
Settlement period Same business day
Returns, recalls, and reversals
  • US Wire: Not supported through API - call your J.P. Morgan representative
  • UK Wire: Not supported
  • EU Wire: Not supported
Service level code Set serviceLevel.proprietary to URGPFX

Prerequisites

Before you can execute Wire FX transactions, you must configure your Wallet program for Wire FX. If you are transferring funds to another country, your Wallet program must have cross-border payments enabled. For more information, ask your J.P. Morgan representative.

Reporting

Wire FX transactions appear on your daily TRANSACTION ACTIVITY reports.

The following table is an example of what a Wire FX transaction on a TRANSACTION ACTIVITY report might look like. Note the following rows that provide information about the FX transaction:

  • FX EXECUTION DATE/TIME: The date and time when Wallet executed the FX transaction.
  • EXECUTED RATE: The exchange rate at which Wallet executed the FX transaction.
  • BANK FX RATE: The bank's exchange rate, which is the final rate that is used when converting the funds.
TRANSACTION ACTIVITY report example
CLIENT ID 0001318690
PROGRAM ID 1000000003
BUSINESS PROCESSING DATE 3/10/2026
BANK NAME JPM New York
WALLET DDA NUMBER XXXXXXXXXX
WALLET CURRENCY USD
RECEIVED DATE 3/10/2026
REQUESTED VALUE DATE 3/10/2026
VALUE DATE 3/10/2026
CLIENT TXN ID 20260310002445267
TXN TYPE PAYOUT
DEBTOR ACCOUNT XXXXXXXXXX
DEBTOR NAME ewallet
DEBTOR VIRTUAL ACCOUNT ID SANGITA-VA-04
ULTIMATE DEBTOR NAME Ultimate Debtor Name
DEBTOR AGENT JPMORGAN CHASE BANK N.A.
DEBTOR AGENT ID CHASUS33XXX
DEBIT AMOUNT 1.25
DEBIT CURRENCY USD
CREDITOR ACCOUNT XXXXXXXXXX
CREDITOR NAME Beneficiary Name
CREDITOR AGENT Bene Bank Name
CREDITOR AGENT ID BKTWTWTP100
CREDIT AMOUNT 36.99
CREDIT CURRENCY TWD
STATUS COMPLETED
SETTLEMENT METHOD WIREFX
PRN XXXXXXXXXX
REMITTANCE INFO remittance 123456
BATCH ID FX-WIRE-USD-TWD20260310002445267
FX EXECUTION DATE/TIME 2026-03-10T04:25:05.000+0000
EXECUTED RATE 29.591031
BANK FX RATE 29.9565
BANK SPREAD AMOUNT 0
MATCHED REFERENCE ID MMK4300Y3S03
DDA NARRATIVE remittance 123456

Equivalent amount versus instructed amount

When you send funds, you specify both the debit currency (the currency of the funds in the debtor account) and the credit currency (the currency of the funds in the creditor account).

For example, if you are converting funds from USD to GBP, the debit currency would be USD and the credit currency would be GBP.

You can specify the amount of funds to send in two ways:

  • Equivalent amount: You specify the amount of funds in the debit currency in amount.equivalentAmount. Wallet automatically determines the amount in the credit currency. For example, send 100 USD and allow Wallet to determine the credit amount in GBP.
  • Instructed amount: You specify the amount of funds in the credit currency in amount.instructedAmount. Wallet automatically determines the amount in the debit currency. For example, send 100 GBP and allow Wallet to determine the debit amount in USD.

You cannot specify both equivalentAmount and instructedAmount. To specify instructedAmount, contact your J.P. Morgan representative.

Fixed rate versus spot rate

You can choose to convert funds in two ways:

  • Fixed rate: Agree upon an exchange rate with us before making the transaction. This rate is available for a specific amount of time and can be used for multiple transactions. We provide you with a rate ID that you can use to lock in the exchange rate when you make the transaction. You provide the rate ID in the exchangeRateInformation.contractIdentification body parameter.
  • Spot rate: Use the current exchange rate at the time that you execute the transaction.

Important parameters

The following sections list important parameters in the Wire FX PayOut request along with their requirements.

Not all parameters are listed here—for a complete list, see the API reference.

Header parameters

Include the following parameters in the header.

Header parameters for Wire FX PayOut request
Parameter                                 Required / Optional Description
programId Required Your Wallet program ID.
transactionType Required The type of transaction. Set to PAYOUT if you are transferring funds to an external DDA.

Body parameters

Note the following important parameters for Wire FX PayOut transactions.

groupHeader

The groupHeader object contains information about the batch of transactions.

Important body parameters in groupHeader object
Parameter Required / Optional Description
controlSum Optional Sum of the transaction amounts in the request.
creationDateTime Required Date and time when the batch was created. Must be in local time with the time zone offset to UTC in the following format: YYYY-MM-DDThh:mm:ss±hh:mm
initiatingParty.name Conditionally required Name of the initiating party (you). Maximum 35 characters. At least one parameter in initiatingParty is required.
messageIdentification Required Unique ID of the batch of transactions. Maximum 35 characters.
numberOfTransactions Required Total number of transactions in the batch. Must be 1-500.

The following code snippet is an example of the groupHeader object.

WIRE FX: groupHeader
{
    "groupHeader": {
        "messageIdentification": "X20240614010327",
        "creationDateTime": "2024-06-14T13:03:27-04:00",
        "numberOfTransactions": 1,
        "controlSum": 0.05,
        "initiatingParty": {
            "name": "JPMC Client Name"
        }
    }
}

paymentInformation

The paymentInformation object contains parameters related to the payment.

Wire FX: paymentInformation
Parameter Required / Optional Description
controlSum Optional Sum of the transaction amounts in the batch.
numberOfTransactions Optional Total number of transactions in the batch. Must be 1-500.
paymentInformationIdentification Required Unique ID of the payment. Maximum 35 characters.
paymentMethod Required Set to TRF. For more information about payment methods, see Payments - Payment methods.
paymentTypeInformation.instructionPriority Optional Priority of the request. Must be one of the following:
  • HIGH: High priority.
  • NORM: Normal priority.
paymentTypeInformation.serviceLevel.proprietary Required Set to URGPFX.
requestedExecutionDate Required Date when the transaction should be executed in YYYY-MM-DD format. Can be up to seven business days in the past (T-7) or 90 business days in the future (T+90).

The following code snippet is an example of the paymentInformation object.

WIRE FX: paymentInformation
{
    "paymentInformation": {
        "paymentInformationIdentification": "X20240614010327",
        "numberOfTransactions": 1,
        "controlSum": 0.05,
        "paymentMethod": "TRF",
        "paymentTypeInformation": {
            "instructionPriority": "HIGH",
            "serviceLevel": {
                "proprietary": "URGPFX"
            }
        },
        "requestedExecutionDate": "2024-06-14"
    }
}

paymentInformation.debtor

The paymentInformation.debtor object contains information about the individual or business that represents the debtor.

Wire FX: paymentInformation.debtor
Parameter Required / Optional Description
name Conditionally required Name of the debtor. Maximum 140 characters. At least one parameter in paymentInformation.debtor is required.
postalAddress Conditionally required Postal address of the debtor. At least one parameter in paymentInformation.debtor is required.

The following code snippet is an example of the paymentInformation.debtor object.

WIRE FX: paymentInformation.debtor
{
    "paymentInformation": {
        "debtor": {
            "name": "JPMC bank",
            "postalAddress": {
                "streetName": "Street Name",
                "buildingNumber": "123",
                "postCode": "12345",
                "townName": "Town",
                "country": "US",
                "addressLine": [
                    "Address line 1",
                    "Address line 2",
                    "Address line 3"
                ]
            }
        }
    }
}

paymentInformation.debtorAccount

The paymentInformation.debtorAccount object contains information about the bank account of the debtor.

Wire FX: paymentInformation.debtorAccount
Parameter Required / Optional Description
currency Optional Currency of the funds in the debtor account.
identification.IBAN Conditionally required International Bank Account Number (IBAN) of the debtor account. Maximum 34 characters. Either this parameter or identification.other.identification is required.
identification.other.identification Conditionally required Debtor account ID. Maximum 35 characters. Either this parameter or identification.IBAN is required.
name Optional Name of the debtor account. Maximum 140 characters.

The following code snippet is an example of the paymentInformation.debtorAccount object.

WIRE FX: paymentInformation.debtorAccount
{
    "paymentInformation": {
        "debtorAccount": {
            "name": "JPMC Client Name",
            "identification": {
                "other": {
                    "identification": "XXXXXXXXXX"
                }
            },
            "currency": "USD"
        }
    }
}

paymentInformation.debtorAgent

The paymentInformation.debtorAgent object contains information about the debtor bank branch.

Wire FX: paymentInformation.debtorAgent
Field Required / Optional Description
financialInstitutionIdentification.bic Conditionally required Business Identifier Code (BIC) of the debtor bank branch. Maximum 11 characters. Either the BIC (this parameter) or the routing number (financialInstitutionIdentification.clearingSystemMemberIdentification) is required. For US ACH, you must provide the routing number (see Reference - Debtor/creditor agent requirements for US payment rails).
financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code Conditionally required Clearing system ID code of the debtor bank branch (see Payments - Clearing system identification codes). Either the BIC (financialInstitutionIdentification.bic) or the routing number (financialInstitutionIdentification.clearingSystemMemberIdentification) is required.
financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification Conditionally required Routing number of the debtor bank branch. Required if financialInstitutionIdentification.clearingSystemMemberIdentification is present. Either the BIC (financialInstitutionIdentification.bic) or the routing number (financialInstitutionIdentification.clearingSystemMemberIdentification) is required.
financialInstitutionIdentification.postalAddress Optional Postal address of the debtor bank branch.

The following code snippet is an example of the paymentInformation.debtorAgent object.

WIRE FX: paymentInformation.debtorAgent
{
    "paymentInformation": {
        "debtorAgent": {
            "financialInstitutionIdentification": {
                "bic": "CHASUS33XXX",
                "clearingSystemMemberIdentification": {
                    "clearingSystemIdentification": {
                        "code": "USABA"
                    },
                    "memberIdentification": "021000021"
                },
                "postalAddress": {
                    "streetName": "Street Name",
                    "buildingNumber": "123",
                    "postCode": "12345",
                    "townName": "Town",
                    "country": "US",
                    "addressLine": [
                        "Address line 1",
                        "Address line 2",
                        "Address line 3"
                    ]
                }
            }
        }
    }
}

paymentInformation.creditTransferTransactionInformation

The paymentInformation.creditTransferTransactionInformation object contains information about the transaction such as the creditor, the ultimate debtor, and the ultimate creditor.

paymentInformation.creditTransferTransactionInformation
Parameter Required / Optional Description
amount.equivalentAmount.amount Conditionally required Amount of funds to be transferred in the debit currency. Required if amount.equivalentAmount is present. You must include either amount.equivalentAmount or amount.instructedAmount, but not both. For more information, see Equivalent amount versus instructed amount.
amount.equivalentAmount.currency Conditionally required Three-character ISO 4217 currency code of the debit currency. Required if amount.equivalentAmount is present. You must include either amount.equivalentAmount or amount.instructedAmount, but not both. For more information, see Equivalent amount versus instructed amount.
amount.equivalentAmount.currencyOfTransfer Conditionally required Three-character ISO 4217 currency code of the credit currency. Required if amount.equivalentAmount is present. You must include either amount.equivalentAmount or amount.instructedAmount, but not both. For more information, see Equivalent amount versus instructed amount.
amount.instructedAmount.amount Conditionally required Amount of funds to be transferred in the credit currency. Maximum 18 digits with six decimal places. Required if amount.instructedAmount is present. You must include either amount.equivalentAmount or amount.instructedAmount, but not both. For more information, see Equivalent amount versus instructed amount.
amount.instructedAmount.currency Conditionally required Three-character ISO 4217 currency code of the credit currency. Required if amount.instructedAmount is present. You must include either amount.equivalentAmount or amount.instructedAmount, but not both. For more information, see Equivalent amount versus instructed amount.
creditor.name Optional Name of the creditor. Maximum 140 characters.
creditor.postalAddress Optional Postal address of the creditor.
creditorAccount.currency Optional Currency of the funds in the creditor account.
creditorAccount.identification.IBAN Conditionally required International Bank Account Number (IBAN) of the creditor bank account. Maximum 34 characters. Either this parameter or creditorAccount.identification.other.identification is required.
creditorAccount.identification.other.identification Conditionally required Account number of the creditor bank account. Maximum 35 characters. Either this or creditorAccount.identification.IBAN is required.
creditorAgent.financialInstitutionIdentification.bic Conditionally required SWIFT BIC of the creditor bank branch. Maximum 11 characters. Either the BIC (this parameter) or the routing number (creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification) is required.
creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code Conditionally required Clearing system ID code of the creditor bank branch. Either the BIC (creditorAgent.financialInstitutionIdentification.bic) or the routing number (creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification) is required. If you provide the routing number, either this parameter or creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary is required. For more information, see Payments - Clearing system identification codes.
creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary Conditionally required String indicating the clearing system of the creditor bank branch. Either the BIC (creditorAgent.financialInstitutionIdentification.bic) or the routing number (creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification) is required. If you provide the routing number, this parameter or creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code is required.
creditorAgent.financialInstitutionIdentification.clearingSytemMemberIdentification.memberIdentification Conditionally required Routing number of the creditor bank branch. Either the BIC (creditorAgent.financialInstitutionIdentification.bic) or the routing number (this parameter) is required.
creditorAgent.financialInstitutionIdentification.name Optional Name of the creditor bank branch. Maximum 140 characters.
creditorAgent.financialInstitutionIdentification.postalAddress Optional Postal address of the creditor bank branch.
exchangeRateInformation.contractIdentification Optional Rate ID for setting a fixed exchange rate. For more information, see Fixed rate versus spot rate.
paymentIdentification.endToEndIdentification Required Unique ID for tracing requests and responses for this transaction. Maximum 16 characters.
paymentIdentification.instructionIdentification Optional Unique ID of the instruction. Maximum 35 characters.
purpose.code Conditionally required Purpose of the transaction. Maximum four characters. If you include the purpose parameter, you must include either purpose.code or purpose.proprietary.
purpose.proprietary Conditionally required Purpose of the transaction. Maximum 35 characters. If you include the purpose parameter, you must include either purpose.code or purpose.proprietary.
remittanceInformation.unstructured Optional Array of strings of remittance information. Each string must be a maximum of 140 characters.
ultimateDebtor.identification.organisationIdentification.other.identification Conditionally required ID of the VTA to debit. Required if you include the ultimateDebtor parameter.
ultimateDebtor.identification.organisationIdentification.other.schemeName.proprietary Conditionally required Required if you include the ultimateDebtor parameter. Set to virtualAccountIdentification.
ultimateDebtor.name Optional Name of the ultimate debtor. Maximum 140 characters.

The following code snippet is an example of the paymentInformation.creditTransferTransactionInformation object.

WIRE FX: paymentInformation.creditTransferTransactionInformation
{
    "paymentInformation": {
        "creditTransferTransactionInformation": [
            {
                "paymentIdentification": {
                    "instructionIdentification": "X20240614010327",
                    "endToEndIdentification": "X20240614010327"
                },
                "amount": {
                    "equivalentAmount": {
                        "amount": 0.05,
                        "currency": "USD",
                        "currencyOfTransfer": "AUD"
                    }
                },
                "exchangeRateInformation": {
                    "contractIdentification": "RF946D8E7FD7F430927C5DA02BFA26"
                },
                "ultimateDebtor": {
                    "name": "JPMC bank",
                    "identification": {
                        "organisationIdentification": {
                            "other": [
                                {
                                    "identification": "VAID00002",
                                    "schemeName": {
                                        "proprietary": "virtualAccountIdentification"
                                    }
                                }
                            ]
                        }
                    }
                },
                "creditorAgent": {
                    "financialInstitutionIdentification": {
                        "bic": "CHASAU2XXXX",
                        "clearingSystemMemberIdentification": {
                            "clearingSystemIdentification": {
                                "proprietary": "AUD ROUTING"
                            },
                            "memberIdentification": "212-200"
                        },
                        "name": "Europe Agent",
                        "postalAddress": {
                            "addressType": "ADDR",
                            "streetName": "BriarwoodCt",
                            "buildingNumber": "111",
                            "postCode": "19460",
                            "townName": "Phoenixville",
                            "country": "AU",
                            "addressLine": [
                                "4901 Memorial Pkwy"
                            ]
                        }
                    }
                },
                "creditor": {
                    "name": "JPMC bank",
                    "postalAddress": {
                        "addressType": "ADDR",
                        "streetName": "BriarwoodCt",
                        "buildingNumber": "111",
                        "postCode": "19460",
                        "townName": "Phoenixville",
                        "country": "AU",
                        "addressLine": [
                            "4901 Memorial Pkwy"
                        ]
                    }
                },
                "creditorAccount": {
                    "identification": {
                        "other": {
                            "identification": "XXXXXXXXXX"
                        }
                    },
                    "currency": "AUD"
                },
                "purpose": {
                    "code": "SALA"
                },
                "remittanceInformation": {
                    "unstructured": [
                        "TRANSFER CREDIT B/O: PUBLIC BANK BERHAD"
                    ]
                }
            }
        ]
    }
}

Examples

Request with minimum required data (non-TP3) - Wire FX PayOut using spot rate

The following example shows the minimum data required to execute a Wire FX PayOut transaction. The request converts 0.05 USD to the equivalent AUD using the spot rate because a rate ID is not specified.

WIRE FX: Request with minimum required data (non-TP3)
{
    "groupHeader": {
        "messageIdentification": "X20240614010327",
        "creationDateTime": "2024-06-14T13:03:27-04:00",
        "numberOfTransactions": 1,
        "initiatingParty": {
            "name": "JPMC Client Name"
        }
    },
    "paymentInformation": {
        "paymentInformationIdentification": "X20240614010327",
        "paymentMethod": "TRF",
        "paymentTypeInformation": {
            "serviceLevel": {
                "proprietary": "URGPFX"
            }
        },
        "requestedExecutionDate": "2024-06-14",
        "debtor": {
            "name": "JPMC bank"
        },
        "debtorAccount": {
            "identification": {
                "other": {
                    "identification": "XXXXXXXXXX"
                }
            }
        },
        "debtorAgent": {
            "financialInstitutionIdentification": {
                "clearingSystemMemberIdentification": {
                    "clearingSystemIdentification": {
                        "code": "USABA"
                    },
                    "memberIdentification": "021000021"
                }
            }
        },
        "creditTransferTransactionInformation": [
            {
                "paymentIdentification": {
                    "endToEndIdentification": "X20240614010327"
                },
                "amount": {
                    "equivalentAmount": {
                        "amount": 0.05,
                        "currency": "USD",
                        "currencyOfTransfer": "AUD"
                    }
                },
                "creditorAgent": {
                    "financialInstitutionIdentification": {
                        "bic": "CHASAU2XXXX"
                    }
                },
                "creditorAccount": {
                    "identification": {
                        "other": {
                            "identification": "XXXXXXXXXX"
                        }
                    }
                }
            }
        ]
    }
}

Request with optional data - Wire FX PayOut using a fixed rate

The following example shows a Wire FX PayOut request to convert 0.05 USD to the equivalent AUD using a fixed rate. Note the rate ID specified in exchangeRateInformation.contractIdentification.

WIRE FX: PayOut using a fixed rate
{
    "groupHeader": {
        "messageIdentification": "X20240614010327",
        "creationDateTime": "2024-06-14T13:03:27-04:00",
        "numberOfTransactions": 1,
        "controlSum": 0.05,
        "initiatingParty": {
            "name": "JPMC Client Name"
        }
    },
    "paymentInformation": {
        "paymentInformationIdentification": "X20240614010327",
        "numberOfTransactions": 1,
        "controlSum": 0.05,
        "paymentMethod": "TRF",
        "paymentTypeInformation": {
            "instructionPriority": "HIGH",
            "serviceLevel": {
                "proprietary": "URGPFX"
            }
        },
        "requestedExecutionDate": "2024-06-14",
        "debtor": {
            "name": "JPMC bank",
            "postalAddress": {
                "streetName": "Street Name",
                "buildingNumber": "123",
                "postCode": "12345",
                "townName": "Town",
                "country": "US",
                "addressLine": [
                    "Address line 1",
                    "Address line 2",
                    "Address line 3"
                ]
            }
        },
        "debtorAccount": {
            "name": "JPMC Client Name",
            "identification": {
                "other": {
                    "identification": "XXXXXXXXXX"
                }
            },
            "currency": "USD"
        },
        "debtorAgent": {
            "financialInstitutionIdentification": {
                "bic": "CHASUS33XXX",
                "clearingSystemMemberIdentification": {
                    "clearingSystemIdentification": {
                        "code": "USABA"
                    },
                    "memberIdentification": "021000021"
                },
                "postalAddress": {
                    "streetName": "Street Name",
                    "buildingNumber": "123",
                    "postCode": "12345",
                    "townName": "Town",
                    "country": "US",
                    "addressLine": [
                        "Address line 1",
                        "Address line 2",
                        "Address line 3"
                    ]
                }
            }
        },
        "creditTransferTransactionInformation": [
            {
                "paymentIdentification": {
                    "instructionIdentification": "X20240614010327",
                    "endToEndIdentification": "X20240614010327"
                },
                "amount": {
                    "equivalentAmount": {
                        "amount": 0.05,
                        "currency": "USD",
                        "currencyOfTransfer": "AUD"
                    }
                },
                "exchangeRateInformation": {
                    "contractIdentification": "RF946D8E7FD7F430927C5DA02BFA26"
                },
                "ultimateDebtor": {
                    "name": "JPMC bank",
                    "identification": {
                        "organisationIdentification": {
                            "other": [
                                {
                                    "identification": "VAID00002",
                                    "schemeName": {
                                        "proprietary": "virtualAccountIdentification"
                                    }
                                }
                            ]
                        }
                    }
                },
                "creditorAgent": {
                    "financialInstitutionIdentification": {
                        "bic": "CHASAU2XXXX",
                        "clearingSystemMemberIdentification": {
                            "clearingSystemIdentification": {
                                "proprietary": "AUD ROUTING"
                            },
                            "memberIdentification": "212-200"
                        },
                        "name": "Europe Agent",
                        "postalAddress": {
                            "addressType": "ADDR",
                            "streetName": "BriarwoodCt",
                            "buildingNumber": "111",
                            "postCode": "19460",
                            "townName": "Phoenixville",
                            "country": "AU",
                            "addressLine": [
                                "4901 Memorial Pkwy"
                            ]
                        }
                    }
                },
                "creditor": {
                    "name": "JPMC bank",
                    "postalAddress": {
                        "addressType": "ADDR",
                        "streetName": "BriarwoodCt",
                        "buildingNumber": "111",
                        "postCode": "19460",
                        "townName": "Phoenixville",
                        "country": "AU",
                        "addressLine": [
                            "4901 Memorial Pkwy"
                        ]
                    }
                },
                "creditorAccount": {
                    "identification": {
                        "other": {
                            "identification": "XXXXXXXXXX"
                        }
                    },
                    "currency": "AUD"
                },
                "purpose": {
                    "code": "SALA"
                },
                "remittanceInformation": {
                    "unstructured": [
                        "TRANSFER CREDIT B/O: PUBLIC BANK BERHAD"
                    ]
                }
            }
        ]
    }
}

Request with optional data - Wire FX PayOut using credit currency

The following example shows a Wire FX PayOut request to convert USD to AUD, specifying the amount in the credit currency (AUD). Note that amount.instructedAmount is set to 0.05 AUD. Wallet uses the spot rate to determine the amount of USD to debit because a rate ID is not specified.

WIRE FX: PayOut using credit currency
{
    "groupHeader": {
        "messageIdentification": "X20240614010052",
        "creationDateTime": "2024-06-14T13:00:52-04:00",
        "numberOfTransactions": 1,
        "controlSum": 0.05,
        "initiatingParty": {
            "name": "JPMC Client Name"
        }
    },
    "paymentInformation": {
        "paymentInformationIdentification": "X20240614010052",
        "numberOfTransactions": 1,
        "controlSum": 0.05,
        "paymentMethod": "TRF",
        "paymentTypeInformation": {
            "instructionPriority": "HIGH",
            "serviceLevel": {
                "proprietary": "URGPFX"
            }
        },
        "requestedExecutionDate": "2024-06-14",
        "debtor": {
            "name": "JPMC bank",
            "postalAddress": {
                "streetName": "Street Name",
                "buildingNumber": "123",
                "postCode": "12345",
                "townName": "Town",
                "country": "US",
                "addressLine": [
                    "Address line 1",
                    "Address line 2",
                    "Address line 3"
                ]
            }
        },
        "debtorAccount": {
            "name": "JPMC Client Name",
            "identification": {
                "other": {
                    "identification": "XXXXXXXXXX"
                }
            },
            "currency": "USD"
        },
        "debtorAgent": {
            "financialInstitutionIdentification": {
                "bic": "CHASUS33XXX",
                "clearingSystemMemberIdentification": {
                    "clearingSystemIdentification": {
                        "code": "USABA"
                    },
                    "memberIdentification": "021000021"
                },
                "postalAddress": {
                    "streetName": "Street Name",
                    "buildingNumber": "123",
                    "postCode": "12345",
                    "townName": "Town",
                    "country": "US",
                    "addressLine": [
                        "Address line 1",
                        "Address line 2",
                        "Address line 3"
                    ]
                }
            }
        },
        "creditTransferTransactionInformation": [
            {
                "paymentIdentification": {
                    "instructionIdentification": "X20240614010052",
                    "endToEndIdentification": "X20240614010052"
                },
                "amount": {
                    "instructedAmount": {
                        "amount": 0.05,
                        "currency": "AUD"
                    }
                },
                "ultimateDebtor": {
                    "name": "JPMC bank",
                    "identification": {
                        "organisationIdentification": {
                            "other": [
                                {
                                    "identification": "VAID00002",
                                    "schemeName": {
                                        "proprietary": "virtualAccountIdentification"
                                    }
                                }
                            ]
                        }
                    }
                },
                "creditorAgent": {
                    "financialInstitutionIdentification": {
                        "bic": "CHASAU2XXXX",
                        "clearingSystemMemberIdentification": {
                            "clearingSystemIdentification": {
                                "proprietary": "AUD ROUTING"
                            },
                            "memberIdentification": "212-200"
                        },
                        "name": "Europe Agent",
                        "postalAddress": {
                            "addressType": "ADDR",
                            "streetName": "BriarwoodCt",
                            "buildingNumber": "111",
                            "postCode": "19460",
                            "townName": "Phoenixville",
                            "country": "AU",
                            "addressLine": [
                                "4901 Memorial Pkwy"
                            ]
                        }
                    }
                },
                "creditor": {
                    "name": "JPMC bank",
                    "postalAddress": {
                        "addressType": "ADDR",
                        "streetName": "BriarwoodCt",
                        "buildingNumber": "111",
                        "postCode": "19460",
                        "townName": "Phoenixville",
                        "country": "AU",
                        "addressLine": [
                            "4901 Memorial Pkwy"
                        ]
                    }
                },
                "creditorAccount": {
                    "identification": {
                        "other": {
                            "identification": "XXXXXXXXXX"
                        }
                    },
                    "currency": "AUD"
                },
                "purpose": {
                    "code": "SALA"
                },
                "remittanceInformation": {
                    "unstructured": [
                        "TRANSFER CREDIT B/O: PUBLIC BANK BERHAD"
                    ]
                }
            }
        ]
    }
}

Response

The following example shows a synchronous response to a Wire FX PayOut request.

Note: Wallet does not return the rate ID in the response.

WIRE FX: Response
{
    "groupHeader": {
        "messageIdentification": "438056db-144b-4e4b-bbb6-2415bc89f23c",
        "creationDateTime": "2024-06-14T17:03:31.000+0000",
        "initiatingParty": {
            "name": "JPMC Client Name"
        }
    },
    "originalGroupInformationAndStatus": {
        "originalMessageIdentification": "X20240614010327",
        "originalMessageNameIdentification": "API-PAYOUT",
        "originalCreationDateTime": "2024-06-14T17:03:27.000+0000",
        "originalNumberOfTransactions": 1,
        "originalControlSum": 0.05,
        "groupStatus": "ACTC",
        "statusReasonInformation": [],
        "numberOfTransactionsPerStatus": [
            {
                "detailedNumberOfTransactions": "1",
                "detailedStatus": "ACTC",
                "detailedControlSum": 0.05
            }
        ]
    },
    "originalPaymentInformationAndStatus": {
        "originalPaymentInformationIdentification": "X20240614010327",
        "paymentInformationStatus": "ACTC",
        "statusReasonInformation": [],
        "numberOfTransactionsPerStatus": [
            {
                "detailedNumberOfTransactions": "1",
                "detailedStatus": "ACTC",
                "detailedControlSum": 0.05
            }
        ],
        "transactionInformationAndStatus": [
            {
                "originalInstructionIdentification": "X20240614010327",
                "originalEndToEndIdentification": "X20240614010327",
                "transactionStatus": "ACTC",
                "statusReasonInformation": [],
                "acceptanceDateTime": "2024-06-14T17:03:31.819+0000",
                "accountServicerReference": "c1b34297-a784-47ae-a45b-e3f0046e4fad",
                "originalTransactionReference": {
                    "amount": {
                        "equivalentAmount": {
                            "amount": 0.05,
                            "currency": "USD",
                            "currencyOfTransfer": "AUD"
                        }
                    },
                    "requestedExecutionDate": "2024-06-14",
                    "paymentMethod": "TRF",
                    "ultimateDebtor": {
                        "name": "JPMC bank",
                        "identification": {
                            "organisationIdentification": {
                                "other": [
                                    {
                                        "identification": "VAID00002",
                                        "schemeName": {
                                            "proprietary": "virtualAccountIdentification"
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    "debtorAccount": {
                        "identification": {
                            "other": {
                                "identification": "XXXXXXXXXX"
                            }
                        },
                        "currency": "USD",
                        "name": "JPMC Client Name"
                    },
                    "debtorAgent": {
                        "financialInstitutionIdentification": {
                            "bic": "CHASUS33XXX",
                            "clearingSystemMemberIdentification": {
                                "clearingSystemIdentification": {
                                    "code": "USABA"
                                },
                                "memberIdentification": "021000021"
                            },
                            "postalAddress": {
                                "streetName": "Street Name",
                                "buildingNumber": "123",
                                "postCode": "12345",
                                "townName": "Town",
                                "country": "US",
                                "addressLine": [
                                    "Address line 1",
                                    "Address line 2",
                                    "Address line 3"
                                ]
                            }
                        }
                    },
                    "creditorAgent": {
                        "financialInstitutionIdentification": {
                            "bic": "CHASAU2XXXX",
                            "clearingSystemMemberIdentification": {
                                "clearingSystemIdentification": {
                                    "proprietary": "AUD ROUTING"
                                },
                                "memberIdentification": "212-200"
                            },
                            "name": "Europe Agent",
                            "postalAddress": {
                                "addressType": "ADDR",
                                "streetName": "BriarwoodCt",
                                "buildingNumber": "111",
                                "postCode": "19460",
                                "townName": "Phoenixville",
                                "country": "AU",
                                "addressLine": [
                                    "4901 Memorial Pkwy"
                                ]
                            }
                        }
                    },
                    "creditorAccount": {
                        "identification": {
                            "other": {
                                "identification": "XXXXXXXXXX"
                            }
                        },
                        "currency": "AUD"
                    }
                }
            }
        ]
    }
}

Notification

The following example shows an asynchronous notification that Wallet sends after executing a Wire FX PayOut transaction.

Note the following fields in statusReasonInformation.additionalInformation:

  • contractIdentification: ID of the actual contract booked for this FX transaction. Note that this is NOT equivalent to contractIdentification in the request body.
  • exchangeRate: Exchange rate that was used in the transaction.
  • fxPaymentDate: Date when the funds are paid out to the creditor account.
  • fxValueDate: Date when the transaction is finalized and settled.
  • rateIdentification: Rate ID equivalent to contractIdentification in the request body.
WIRE FX: Notification
{
    "primaryFirmRootId": "3be6f36b-c56d-4fa5-95a1-3ce891dc0b68",
    "secondaryFirmRootId": "c1b34297-a784-47ae-a45b-e3f0046e4fad",
    "type": "BATCH_INNER_TX",
    "messageType": "*",
    "commChannel": "API_GW",
    "programId": "XXXXXXXXXX",
    "notificationId": "82a1187b-d4e7-4faa-a214-51ddcf25bc8a",
    "success": true,
    "programMessageConfig": {
        "programId": "XXXXXXXXXX",
        "eventType": "TRANSACTION",
        "messageType": "*",
        "commChannel": "API_GW",
        "version": 0,
        "apiVersion": "APIV2",
        "maskingScheme": "SCHEME1",
        "creationTimestamp": "2021-09-28T18:43:26.000+00:00",
        "creationUserId": "UNDEFINED",
        "updateUserId": "UNDEFINED"
    },
    "payload": {
        "groupHeader": {
            "messageIdentification": "82a1187b-d4e7-4faa-a214-51ddcf25bc8a",
            "creationDateTime": "2024-06-18T13:03:03.645+0000",
            "initiatingParty": {
                "name": "JPMC Client Name"
            }
        },
        "originalGroupInformationAndStatus": {
            "originalMessageIdentification": "X20240614010327",
            "originalMessageNameIdentification": "API-PAYOUT",
            "originalNumberOfTransactions": 1
        },
        "originalPaymentInformationAndStatus": {
            "originalPaymentInformationIdentification": "X20240614010327",
            "transactionInformationAndStatus": [
                {
                    "originalInstructionIdentification": "X20240614010327",
                    "originalEndToEndIdentification": "X20240614010327",
                    "transactionStatus": "PDNG",
                    "statusReasonInformation": [
                        {
                            "additionalInformation": [
                                "/contractIdentification/00255579",
                                "/exchangeRate/0.715737",
                                "/fxValueDate/2024-06-14",
                                "/fxPaymentDate/2024-06-14",
                                "/contraAmount/AUD0.07",
                                "/clientSpread/0.010000",
                                "/clientSpreadAmount/0.00",
                                "/clientSpreadCurrency/USD",
                                "/bankSpreadType/spreadpercentage",
                                "/bankSpread/0.001500",
                                "/bankSpreadAmount/0.00",
                                "/bankSpreadCurrency/USD",
                                "/baseRate/0.707600",
                                "/baseRateDateTime/20240614-17:04:04Z",
                                "/bankClientRate/0.708661",
                                "/rateIdentification/RF946D8E7FD7F430927C5DA02BFA26",
                                "/eventType/PaymentFunded"
                            ]
                        }
                    ],
                    "acceptanceDateTime": "2024-06-14T17:03:36.613+0000",
                    "accountServicerReference": "LXEY8O3O2NSB",
                    "originalTransactionReference": {
                        "amount": {
                            "equivalentAmount": {
                                "amount": 0.05,
                                "currency": "USD",
                                "currencyOfTransfer": "AUD"
                            }
                        },
                        "requestedExecutionDate": "2024-06-14",
                        "paymentMethod": "TRF",
                        "remittanceInformation": [
                            {
                                "remittanceInformationText": "TRANSFER CREDIT B/O: PUBLIC BANK BERHAD",
                                "remittanceSequenceNumber": "1"
                            }
                        ],
                        "ultimateDebtor": {
                            "name": "XXXXXXXXX",
                            "identification": {
                                "organisationIdentification": {
                                    "other": [
                                        {
                                            "identification": "XXXXXXXXX",
                                            "schemeName": {
                                                "proprietary": "virtualAccountIdentification"
                                            }
                                        }
                                    ]
                                }
                            }
                        },
                        "debtorAccount": {
                            "identification": {
                                "other": {
                                    "identification": "XXXXXXXXXX"
                                }
                            },
                            "currency": "USD"
                        },
                        "debtorAgent": {
                            "financialInstitutionIdentification": {
                                "bic": "XXXXXXXXXXX",
                                "postalAddress": {
                                    "streetName": "XXXXXXXXXXX",
                                    "buildingNumber": "XXX",
                                    "postCode": "12345",
                                    "townName": "Town",
                                    "country": "US",
                                    "addressLine": [
                                        "XXXXXXXXXXXXXX",
                                        "XXXXXXXXXXXXXX",
                                        "XXXXXXXXXXXXXX"
                                    ]
                                }
                            }
                        },
                        "creditorAgent": {
                            "financialInstitutionIdentification": {
                                "bic": "XXXXXXXXXXX",
                                "clearingSystemMemberIdentification": {
                                    "clearingSystemIdentification": {
                                        "proprietary": "AUD ROUTING"
                                    },
                                    "memberIdentification": "212-200"
                                },
                                "name": "XXXXXXXXXXXX",
                                "postalAddress": {
                                    "streetName": "XXXXXXXXXXX",
                                    "buildingNumber": "XXX",
                                    "postCode": "19460",
                                    "townName": "Phoenixville",
                                    "country": "AU",
                                    "addressLine": [
                                        "XXXXXXXXXXXXXXXXXX"
                                    ]
                                }
                            }
                        },
                        "creditorAccount": {
                            "identification": {
                                "other": {
                                    "identification": "XXXXXXXXXX"
                                }
                            },
                            "currency": "AUD"
                        },
                        "receiver": {
                            "name": "XXXXXXXXX",
                            "postalAddress": {
                                "streetName": "XXXXXXXXXXX",
                                "buildingNumber": "XXX",
                                "postCode": "19460",
                                "townName": "Phoenixville",
                                "country": "AU",
                                "addressLine": [
                                    "XXXXXXXXXXXXXXXXXX"
                                ]
                            }
                        }
                    }
                }
            ]
        }
    },
    "hostname": "client-notification-7c8b69ff57-fvx68",
    "processingTimestamp": "2024-06-18T13:03:03.678+00:00",
    "elapsedTime": 33
}