Skip to main content
Embedded Payments

Payout to a linked account

Platforms can send instructions for payouts from their client’s LIMITED_DDA and LIMITED_DDA_PAYMENT account to their client’s linked accounts. The Linked account is the external bank account that belongs to the client. This is a validated account associated with the client’s profile that can be used to make payouts to clients from their Embedded Payments account. For more information, see Link your client’s external bank account.

Allowed payout options

Platforms and clients can choose to make payouts to linked accounts via Automated Clearing House (ACH), Real-Time Payments (RTP), wire transfer (WIRE) or Push to Card (CARD).

How to make a payout to a linked account

To initiate a payout from a LIMITED_DDA, once you have transferred the funds to your client's Embedded Payments account, follow the below steps: 

  1. Confirm the balance: Use GET /accounts/{id}/balances to check that the account balance of your client's Embedded Payments account is updated.
  2. Submit the payout: Use POST /transactions to make a payout from this account to their external bank account.
  3. Track the payout: Use GET/transactions/{id} to get the transaction details or subscribe to webhook events.
To make the payment, you need to include:
Field Required Description
transactionReferenceId Yes          Your unique reference. Must be unique per transaction.
debtorAccountId Yes The client's LIMITED_DDA or LIMITED_DDA_PAYMENTS account ID. 
recipientId Yes The client's linked account ID returned from POST /recipients
type Yes ACH, RTP, WIRE or CARD
amount Yes Positive number in USD
currency Yes USD
paymentDate Yes ISO date. Same-day allowed before the rail cut-off.
localInstrumentCode ACH only PPD, CCD, WEB or TEL
memo Optional

Free-text reference shown on the linked bank statement (rail dependent). 

Note: For ACH payments, the limit is 80 characters. Longer values are truncated to the first 80 characters, then the addenda sequence number and Chase trace number are appended.

Some payment methods require specific field like localInstrumentCode for ACH. A Standard Entry Class (SEC) code is a three-letter identifier established by NACHA to specify how an ACH transaction is authorized. Businesses using J.P. Morgan Embedded Payments must select the correct SEC code for each debit transaction to ensure compliance with ACH direct debit rules and maintain proper authorization records for potential disputes. J.P. Morgan Embedded Payments currently supports four types of SEC codes for ACH debits such as "CCD", "PPD", "WEB" and "TEL". Mandate requirements differ based on the type of authorization collected. Businesses should consult a professional for guidance on their specific obligations, as this information is intended for general reference only. 

  • When you use v2/transactions, we default to "PPD" for consumer bank accounts, "CCD" for business bank accounts, and "WEB" for direct debit. If you do not specify a mandate collection method, we apply these defaults. 
  • When you use v3/transactions, you must provide a value for localInstrumentCode.

Sample payload for ACH (Limited_DDA)

Sample request:

{
  "transactionReferenceId": "d5205014630d4816a5f3d0013577503e",
  "type": "ACH",
  "localInstrumentCode": "PPD",
  "memo": "Memo for Transaction EP-AUD",
  "currency": "USD",
  "amount": "9.99",
  "debtor": {
    "account": {
      "type": "REGISTERED_ACCOUNT",
      "registeredAccount": {
        "id": "c3a9b877ab4647e6a9eff2cfd7ee6764"
      }
    }
  },
  "creditor": {
    "id": "6cf293c0-9355-4706-9d83-d1aaeec785e6"
  }
}

Sample response:

{
  "id": "KGHYcazECFZSSaD",
  "transactionReferenceId": "d5205014630d4816a5f3d0013577503e",
  "requestedExecutionDate": "2025-12-31"
}

Sample payload for P2C (Limited_DDA_PAYMENTS)

Sample request:

{
  "transactionReferenceId": "DMS_EP_CARD_11032",
  "type": "CARD",
  "memo": "Memo for Transaction EP-CARD",
  "currency": "USD",
  "amount": "0.81",
  "debtor": {
    "account": {
      "type": "REGISTERED_ACCOUNT",
      "registeredAccount": {
        "id": "29aa040e102f483c9e632486297d6a80"
      }
    }
  },
  "creditor": {
    "id": "5ed6c9d0-dd83-46d3-b629-0ca054077001"
  }
}

Sample response:

{
  "id": "6daEFjXdQvtAsOT6",
  "transactionReferenceId": "DMS_EP_CARD_11032",
  "requestedExecutionDate": "2026-05-18"
}

Once you make the payment you receive notification to track the progress of the payout. In the interim, if you have questions on the status of the payment you can check the payment status by using the GET /transactions endpoint.

Is this page helpful?