Skip to main content
Beta version

Welcome to the beta version of the Global Payments 2 API! For the generally available Global Payments API, refer to Global Payments

Initiate a JPM Coin System deposit request (DDA to BDA)

In this tutorial, you will learn how to use the Global Payments API to initiate a JPM Coin System deposit to fund a Blockchain Deposit Account. By the end of this tutorial, you will know how to:

  • Create a well-formed JPM Coin System deposit request payload.
  • Interpret the values in a successful response.

Before you begin

To initiate a JPM Coin System deposit, you need:

  • registered and fully onboarded Developer Account on the J.P. Morgan Payments Developer Portal.
  • An active project that provides you with the credentials used to make a request.
  • A J.P. Morgan Blockchain Deposit Account (BDA) opened at J.P. Morgan Chase Bank, N.A. 
  • A Demand Deposit Account (DDA) opened in an approved funding location in which you want to perform a JPM Coin System transaction.
Tip

In addition to regular Demand Deposit Accounts (DDA), select Client Money Accounts (CMA) and Mortgage Servicing Accounts (MSA) are supported by this product, subject to J.P. Morgan review.

Send a request

Request payloads for the Global Payments API have optional and required fields. The full request payload is sent using a POST HTTP request.

The following example shows the minimum required payload for a JPM Coin System deposit request, with no optional fields included:

Example of a JPM Coin System Deposit (DDA to BDA) request
curl --request POST \
  --url https://api-mock.payments.jpmorgan.com/payment/v2/payments \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: 1b036f9c-8c84-4ce6-b1dd-5979472945a1' \
  --header 'Request-Id: 1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p' \
  --data '{
 "requestedExecutionDate": "2024-10-30",
  "paymentIdentifiers": {
    "endToEndId": "202E092v021D35E4"
  },
  "transferType": "CREDIT",
  "value": {
    "currency": "USD",
    "amount": "6500"
  },
  "paymentType": "BLOCKCHAIN",
  "debtor": {
    "account": {
      "accountNumber": "8830699900",
      "accountType": "DDA"
    }
  },
  "debtorAgent": {
    "financialInstitutionIds": [
      {
        "id": "CHASSGSG",
        "idType": "BIC"
      }
    ]
  },
  "creditor": {
    "account": {
      "accountNumber": "0070103277",
      "accountType": "BDA"
    }
  },
  "creditorAgent": {
    "financialInstitutionIds": [
      {
        "id": "CHASUS33",
        "idType": "BIC"
      }
    ]
  },
  "remittanceInformation": {
    "unstructuredInformation": [
      {
        "text": "Payment for container shipment"
      }
    ]
  }
}'

Confirm the response

You should receive a successful response containing an endToEndId and a paymentId. These values are used to retrieve the status of your request.

Example of a successful JPM Coin System deposit response
Json
{
  "endToEndId": "202E092v021D35E4",
  "paymentId": "989a066e-2947-4fa9-9ec7-5d09b1917c11"
}

There are a few error responses you may encounter. For more information about error codes, see the status responses and error codes section.

JPM Coin System deposit request callbacks

Transaction status responses for your JPM Coin System deposit request are provided through callbacks.

JPM Coin System Deposit Callback
Json
{
  "callbacks": [
    {
  "paymentId": "989a066e-2947-4fa9-9ec7-5d09b1917c11",
  "paymentStatus": "PROCESSING",
  "statusUpdatedAt": "2024-10-30T14:15:22Z",
  "requestedExecutionDate": "2024-10-30",
  "paymentIdentifiers": {
    "endToEndId": "202E092v021D35E4"
  },
  "transferType": "CREDIT",
  "paymentType": "BLOCKCHAIN"
}
  ]
}

The JPM Coin System supports multiple response types, including RECEIVED, ACCECPTED, PROCESSING, CANCELED, REJECTED, COMPLETED, and RETURNED. For more information, see Response types.

Next steps