US RTP: Send funds in real time
Overview
US Real-Time Payments (US RTP) is a payment rail that enables you to send funds from a J.P. Morgan Wallet™ Demand Deposit Account (DDA) in the US to a counterparty's bank account in the US that supports US RTP.
You can send funds 24 hours a day, 365 days a year, and the funds become available to the recipient in as little as 15 seconds.
For an overview of payment types in Wallet, see Payments.
Use cases
You can use the US RTP payment rail to transfer funds in USD near-instantly between US banks. For example:
- Merchant services platform: Pay out a merchant's revenue to their US bank account.
- Video game company: Pay out a player's in-game currency to their US bank account.
- Marketplace platform: Pay out a seller's revenue to their US bank account.
Key information
The following table describes important information about US RTP.
| Production endpoint | v3.x: Use if you need to send funds from Japan or handle BGN currency. |
v2.x: 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 | J.P. Morgan Chase Bank, New York branch, or any US affiliate branches (see Reference - Supported branches and their Business Identifier Codes) | |
| Supported currencies | USD | |
| Supported account types | All (Demand Deposit Account - DDA and Customer Money Account - CMA) | |
| Payment type | ||
| Payment flows |
|
|
| Transaction limit | $1,000,000 | |
| Cut-off time | No cut-off time | |
| Settlement period | Immediately | |
| Returns, recalls, and reversals | Not supported | |
| Service level code | Set serviceLevel.code to INST |
|
Prerequisites
Before you can execute transactions using the US RTP payment rail, you must configure your Wallet program for US RTP. For more information, ask your J.P. Morgan representative.
Reporting
US RTP transactions appear on your daily TRANSACTION ACTIVITY reports.
The following table is an example of what a US RTP transaction on a TRANSACTION ACTIVITY report might look like.
| 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 | h3EfSsiMAL |
| TXN TYPE | PAYOUT |
| DEBTOR ACCOUNT | XXXXXXXXXX |
| DEBTOR NAME | ewallet |
| DEBTOR VIRTUAL ACCOUNT ID | REV-VTA-20230731015717446619 |
| DEBTOR AGENT | JPMORGAN CHASE BANK N.A. |
| DEBTOR AGENT ID | CHASUS33XXX |
| DEBIT AMOUNT | 0.13 |
| DEBIT CURRENCY | USD |
| CREDITOR ACCOUNT | XXXXXXXXXX |
| CREDITOR NAME | ewallet creditor |
| CREDITOR AGENT | JPMORGAN CHASE BANK N.A. |
| CREDITOR AGENT ID | CHASUS33XXX |
| CREDIT AMOUNT | 0.13 |
| CREDIT CURRENCY | USD |
| STATUS | REJECTED |
| SETTLEMENT METHOD | RTP |
| PRN | XXXXXXXXXX |
| REMITTANCE INFO | This is the remittance information |
| EXCEPTION CODE | AC03 |
| EXCEPTION REASON | Creditor account number invalid or missing |
| MATCHED REFERENCE ID | h3EfSsiMAL |
| DDA NARRATIVE | This is the remittance information |
Notes
Both the debtor account and the creditor account must support US RTP.
Important parameters
The following sections list important parameters in the US RTP 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.
| Parameter | Required / Optional | Description |
|---|---|---|
programId |
Required | Your Wallet program ID. |
transactionType |
Required | Type of the transaction. Set to PAYOUT. |
Body parameters
Note the following important body parameters for US RTP PayOut transactions.
groupHeader
The groupHeader object contains information about the batch of transactions.
| Parameter | Required / Optional | Description |
|---|---|---|
controlSum |
Required | Sum of the transaction amounts in this request. Must be less than or equal to 1,000,000. |
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.identification.organisationIdentification.bicOrBei |
Conditionally required | If you are a financial institution, enter your BIC. |
initiatingParty.identification.organisationIdentification.other.identification |
Conditionally required | If you are a financial institution, set to BANK. |
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.
{
"groupHeader": {
"messageIdentification": "MIDLL231109104238",
"creationDateTime": "2023-11-09T15:42:38.000+0000",
"numberOfTransactions": 1,
"controlSum": "0.05",
"initiatingParty": {
"name": "JPMC Client Name"
}
}
}paymentInformation
The paymentInformation object contains parameters related to the payment.
| Parameter | Required / Optional | Description |
|---|---|---|
controlSum |
Required | Sum of the transaction amounts in this request. Must be less than or equal to 1,000,000. |
numberOfTransactions |
Optional | Total number of transactions in the batch. Must be 1. |
paymentInformationIdentification |
Required | Unique ID of the payment. Maximum 35 characters. |
paymentMethod |
Required | Set to TRF. |
paymentTypeInformation.instructionPriority |
Optional | Priority of the request. Set to one of the following:
|
paymentTypeInformation.serviceLevel.code |
Required | Set to INST. For more information about service level codes, see Payments - Service level codes. |
requestedExecutionDate |
Required | Date when the transaction should be executed in YYYY-MM-DD format. Set to the current date. US RTP transactions always execute immediately—dates in the past and future are not supported. For more information about requested execution dates, see Payments - Requested execution date. |
The following code snippet is an example of the paymentInformation object.
{
"paymentInformation": {
"paymentInformationIdentification": "PIILL231109104238",
"numberOfTransactions": 1,
"controlSum": "0.05",
"paymentMethod": "TRF",
"requestedExecutionDate": "2023-11-09",
"paymentTypeInformation": {
"instructionPriority": "HIGH",
"serviceLevel": {
"code": "INST"
}
}
}
}paymentInformation.debtor
The paymentInformation.debtor object contains information about the individual or business that represents the debtor.
| Parameter | Required / Optional | Description |
|---|---|---|
identification.organisationIdentification.bicOrBei |
Conditionally required | If you are a financial institution, set this to your BIC. |
identification.organisationIdentification.other.identification |
Required | If you are a financial institution, set this to BANK. Otherwise, set this to your J.P. Morgan company ID. |
identification.organisationIdentification.other.schemeName.proprietary |
Conditionally required | If identification.organisationIdentification.other.identification is set to your company ID, set this to JPMCOID. |
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. Must be in the US. At least one parameter in paymentInformation.debtor is required. |
The following code snippet is an example of the paymentInformation.debtor object.
{
"paymentInformation": {
"debtor": {
"name": "JPMC Client Name",
"postalAddress": {
"addressType": "ADDR",
"streetName": "Anywhere St",
"buildingNumber": "1605",
"postCode": "012345",
"townName": "Phoenixville",
"countrySubDivision": "NY",
"country": "US"
}
}
}
}paymentInformation.debtorAccount
The paymentInformation.debtorAccount object contains information about the bank account of the debtor.
| Parameter | Required / Optional | Description |
|---|---|---|
currency |
Optional | Currency of the funds in the debtor account. Must be USD. |
identification.other.identification |
Conditionally required | ID corresponding to paymentInformation.debtorAccount.identification.other.schemeName. Maximum 35 characters. At least one parameter in paymentInformation.debtorAccount.identification is required. |
The following code snippet is an example of the paymentInformation.debtorAccount object.
{
"paymentInformation": {
"debtorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
}
}
}paymentInformation.debtorAgent
The paymentInformation.debtorAgent object contains information about the bank where the debtor account is located.
| Parameter | Required / Optional | Description |
|---|---|---|
financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code |
Required | Set to USABA. For more information, see Payments - Clearing system identification codes. |
financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification |
Required | If the debtor account is your Wallet DDA, set to 028000024 or 021000021 (ABA numbers of the J.P. Morgan Chase Bank, US branch). |
financialInstitutionIdentification.postalAddress |
Optional | Postal address of the debtor bank branch. Must be in the US. |
The following code snippet is an example of the paymentInformation.debtorAgent object.
{
"paymentInformation": {
"debtorAgent": {
"financialInstitutionIdentification": {
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "021000021"
}
}
}
}
}paymentInformation.creditTransferTransactionInformation
The paymentInformation.creditTransferTransactionInformation object contains information about the transaction such as the creditor, the ultimate debtor, and the ultimate creditor.
| Parameter | Required / Optional | Description |
|---|---|---|
amount.instructedAmount.amount |
Required | Amount of money in the transaction. Must be less than or equal to 1,000,000. |
amount.instructedAmount.currency |
Conditionally required | Currency of the funds in the debtor account. Must be USD. Required if paymentInformation.creditTransferTransactionInformation.amount.instructedAmount is present. |
creditor.name |
Required | For payments to individuals, provide the first, middle, and last names with spaces between each name. Maximum 35 characters. |
creditor.postalAddress |
Optional | Postal address of the creditor. Must be in the US. |
creditorAccount.currency |
Required | Three-character ISO 4217 code of the currency of the funds in the credited DDA. Must be USD. |
creditorAccount.identification.IBAN |
Conditionally required | International Bank Account Number (IBAN) of the creditor bank account. Required if you don't provide identification.other.identification. |
creditorAccount.identification.other.identification |
Conditionally required | ID of the credited bank account. Required if you don't provide paymentInformation.creditTransferTransactionInformation.creditorAccount.identification.IBAN. |
creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code |
Required | Code that identifies the clearing system for the transaction. Must be USABA. For more information, see Clearing system identification codes. |
creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification |
Required | If the creditor account is your Wallet DDA, set to 028000024 or 021000021 (ABA numbers of the J.P. Morgan Chase Bank, US branch). |
creditorAgent.financialInstitutionIdentification.name |
Optional | Name of the creditor bank. |
creditorAgent.financialInstitutionIdentification.postalAddress |
Optional | Postal address of the creditor bank. Must be in the US. |
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. |
remittanceInformation.unstructured |
Optional | Array of strings of remittance information. Each string must be a maximum of 140 characters. |
ultimateDebtor.identification.privateIdentification.other.identification |
Conditionally required | ID of the VTA to debit. This or ultimateDebtor.identification.organisationIdentification is required if you include the ultimateDebtor parameter. |
ultimateDebtor.identification.privateIdentification.other.schemeName.proprietary |
Conditionally required | This or ultimateDebtor.identification.organisationIdentification is required if you include the ultimateDebtor parameter. Set to virtualAccountIdentification. |
The following code snippet is an example of the paymentInformation.creditTransferTransactionInformation object.
{
"paymentInformation": {
"creditTransferTransactionInformation": [
{
"paymentIdentification": {
"instructionIdentification": "PIDLL231109104238",
"endToEndIdentification": "RTPLL231109104238"
},
"amount": {
"instructedAmount": {
"amount": "0.05",
"currency": "USD"
}
},
"ultimateDebtor": {
"identification": {
"privateIdentification": {
"other": [
{
"identification": "VTA-123456",
"schemeName": {
"proprietary": "virtualAccountIdentification"
}
}
]
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "072000326"
},
"name": "PVT TEST BANK",
"postalAddress": {
"country": "US"
}
}
},
"creditor": {
"name": "ewallet creditor",
"postalAddress": {
"addressType": "ADDR",
"department": "string",
"subDepartment": "string",
"streetName": "Briarwood Ct",
"buildingNumber": "1605",
"postCode": "19460",
"townName": "Phoenixville",
"countrySubDivision": "NY",
"country": "US"
}
},
"creditorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
},
"remittanceInformation": {
"unstructured": [
"This is the remittance information"
]
}
}
]
}
}Examples
Request with minimum required data (non-TP3)
The following example shows the minimum data required to execute a PayOut transaction using the US RTP payment rail.
{
"groupHeader": {
"messageIdentification": "MIDLL231109104238",
"creationDateTime": "2023-11-09T15:42:38.000+0000",
"numberOfTransactions": 1,
"controlSum": "0.05",
"initiatingParty": {
"name": "JPMC Client Name"
}
},
"paymentInformation": {
"paymentInformationIdentification": "PIILL231109104238",
"controlSum": "0.05",
"paymentMethod": "TRF",
"requestedExecutionDate": "2023-11-09",
"paymentTypeInformation": {
"serviceLevel": {
"code": "INST"
}
},
"debtor": {
"name": "JPMC Client Name"
},
"debtorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
}
},
"debtorAgent": {
"financialInstitutionIdentification": {
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "021000021"
}
}
},
"creditTransferTransactionInformation": [
{
"paymentIdentification": {
"endToEndIdentification": "RTPLL231109104238"
},
"amount": {
"instructedAmount": {
"amount": "0.05",
"currency": "USD"
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "072000326"
}
}
},
"creditor": {
"name": "ewallet creditor"
},
"creditorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
}
}
]
}
}Request with optional data
The following example shows the request body of a PayOut transaction using the US RTP payment rail with optional parameters.
{
"groupHeader": {
"messageIdentification": "MIDLL231109104238",
"creationDateTime": "2023-11-09T15:42:38.000+0000",
"numberOfTransactions": 1,
"controlSum": "0.05",
"initiatingParty": {
"name": "JPMC Client Name"
}
},
"paymentInformation": {
"paymentInformationIdentification": "PIILL231109104238",
"numberOfTransactions": 1,
"controlSum": "0.05",
"paymentMethod": "TRF",
"requestedExecutionDate": "2023-11-09",
"paymentTypeInformation": {
"instructionPriority": "HIGH",
"serviceLevel": {
"code": "INST"
}
},
"debtor": {
"name": "JPMC Client Name",
"postalAddress": {
"addressType": "ADDR",
"streetName": "Anywhere St",
"buildingNumber": "1605",
"postCode": "012345",
"townName": "Phoenixville",
"countrySubDivision": "NY",
"country": "US"
}
},
"debtorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "CHASUS33XXX",
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "021000021"
}
}
},
"creditTransferTransactionInformation": [
{
"paymentIdentification": {
"instructionIdentification": "PIDLL231109104238",
"endToEndIdentification": "RTPLL231109104238"
},
"amount": {
"instructedAmount": {
"amount": "0.05",
"currency": "USD"
}
},
"ultimateDebtor": {
"identification": {
"privateIdentification": {
"other": [
{
"identification": "VTA-123456",
"schemeName": {
"proprietary": "virtualAccountIdentification"
}
}
]
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "072000326"
},
"name": "PVT TEST BANK",
"postalAddress": {
"country": "US"
}
}
},
"creditor": {
"name": "ewallet creditor",
"postalAddress": {
"addressType": "ADDR",
"department": "string",
"subDepartment": "string",
"streetName": "Briarwood Ct",
"buildingNumber": "1605",
"postCode": "19460",
"townName": "Phoenixville",
"countrySubDivision": "NY",
"country": "US"
}
},
"creditorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
},
"remittanceInformation": {
"unstructured": [
"This is the remittance information"
]
}
}
]
}
}Response
The following is the synchronous response to the previous example request.
{
"groupHeader": {
"messageIdentification": "ddce4d72-37ab-4d15-b589-58858962ac2a",
"creationDateTime": "2023-11-09T15:42:40.000+0000",
"initiatingParty": {
"name": "JPMC Client Name"
}
},
"originalGroupInformationAndStatus": {
"originalMessageIdentification": "MIDLL231109104238",
"originalMessageNameIdentification": "API-PAYOUT",
"originalCreationDateTime": "2023-11-09T15:42:38.000+0000",
"originalNumberOfTransactions": 1,
"originalControlSum": 0.05,
"groupStatus": "ACTC",
"statusReasonInformation": [],
"numberOfTransactionsPerStatus": [
{
"detailedNumberOfTransactions": "1",
"detailedStatus": "ACTC",
"detailedControlSum": 0.05
}
]
},
"originalPaymentInformationAndStatus": {
"originalPaymentInformationIdentification": "PIILL231109104238",
"paymentInformationStatus": "ACTC",
"statusReasonInformation": [],
"numberOfTransactionsPerStatus": [
{
"detailedNumberOfTransactions": "1",
"detailedStatus": "ACTC",
"detailedControlSum": 0.05
}
],
"transactionInformationAndStatus": [
{
"originalInstructionIdentification": "PIDLL231109104238",
"originalEndToEndIdentification": "RTPLL231109104238",
"transactionStatus": "ACTC",
"statusReasonInformation": [],
"acceptanceDateTime": "2023-11-09T15:42:40.589+0000",
"accountServicerReference": "9f403c39-ba35-491b-a78b-d1a8f76147b6",
"originalTransactionReference": {
"amount": {
"instructedAmount": {
"amount": 0.05,
"currency": "USD"
}
},
"requestedExecutionDate": "2023-11-09",
"paymentMethod": "TRF",
"ultimateDebtor": {
"identification": {
"privateIdentification": {
"other": [
{
"identification": " VTA-123456",
"schemeName": {
"proprietary": "virtualAccountIdentification"
}
}
]
}
}
},
"debtorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "CHASUS33XXX",
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "021000021"
}
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "072000326"
},
"name": "PVT TEST BANK",
"postalAddress": {
"country": "US"
}
}
},
"creditorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
}
}
}
]
}
}Notification
The following is the asynchronous notification that Wallet sends after completing the previous example request.
{
"groupHeader": {
"messageIdentification": "c9e91dec-f65f-488c-b18c-bcc59f03f6f3",
"creationDateTime": "2023-11-09T15:43:11.647+0000",
"initiatingParty": {
"name": "JPMC Client Name"
}
},
"originalGroupInformationAndStatus": {
"originalMessageIdentification": "MIDLL231109104238",
"originalMessageNameIdentification": "API-PAYOUT",
"originalNumberOfTransactions": 1
},
"originalPaymentInformationAndStatus": {
"originalPaymentInformationIdentification": "PIILL231109104238",
"transactionInformationAndStatus": [
{
"originalInstructionIdentification": "PIDLL231109104238",
"originalEndToEndIdentification": "RTPLL231109104238",
"transactionStatus": "ACSC",
"statusReasonInformation": [
{
"additionalInformation": [
"/eventType/PaymentComplete"
]
}
],
"acceptanceDateTime": "2023-11-09T15:42:41.152+0000",
"accountServicerReference": "0001051313GC",
"originalTransactionReference": {
"amount": {
"instructedAmount": {
"amount": 0.05,
"currency": "USD"
}
},
"requestedExecutionDate": "2023-11-09",
"paymentMethod": "TRF",
"remittanceInformation": [
{
"remittanceInformationText": "This is the remittance information",
"remittanceSequenceNumber": "1"
}
],
"ultimateDebtor": {
"identification": {
"organisationIdentification": {
"other": [
{
"identification": "VTA-123456",
"schemeName": {
"proprietary": "virtualAccountIdentification"
}
}
]
}
}
},
"debtorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
},
"debtorAgent": {
"financialInstitutionIdentification": {
"bic": "021000021"
}
},
"creditorAgent": {
"financialInstitutionIdentification": {
"bic": "",
"clearingSystemMemberIdentification": {
"clearingSystemIdentification": {
"code": "USABA"
},
"memberIdentification": "072000326"
},
"name": "PVT TEST BANK",
"postalAddress": {
"country": "US"
}
}
},
"creditorAccount": {
"identification": {
"other": {
"identification": "XXXXXXXXXX"
}
},
"currency": "USD"
},
"receiver": {
"name": "ewallet creditor",
"postalAddress": {
"department": "string",
"subDepartment": "string",
"streetName": "Briarwood Ct",
"buildingNumber": "1605X",
"postCode": "19460",
"townName": "Phoenixville",
"countrySubDivision": "NY",
"country": "US"
}
}
}
}
]
}
}TP3 PayOuts
This section explains the requirements for Third Party Payment Processor (TP3) transactions using the US RTP payment rail. For more information about TP3 transactions, see Pay on behalf of a third party.
Flows
Wallet supports the following flows for TP3 US RTP transactions:
- NY / USD to USD
Requirements
The following fields in the paymentInformation.creditTransferTransactionInformation object have specific requirements for TP3 US RTP transactions.
| Field | Required / Optional | Requirements |
|---|---|---|
ultimateDebtor.name |
Required | Maximum 35 characters. |
Example
The following is an example of the ultimateDebtor object in a TP3 US RTP request.
"ultimateDebtor": {
"name": "Some Name Some Name Som xx35 chars",
...