# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # Initiate a Kinexys Digital Payments deposit request In this tutorial, you'll learn how to use the Global Payments API to initiate a Kinexys Digital Payments deposit to fund a Blockchain Deposit Account (BDA). By the end of this tutorial, you'll know how to: - Create a well-formed Kinexys Digital Payments deposit request payload. - Interpret the values in a successful response. ## Before you begin To initiate a Kinexys Digital Payments deposit, you'll need: - A [registered and fully onboarded developer account](/docs/quick-start) 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 BDA opened at J.P. Morgan Chase Bank, N.A and/or J.P. Morgan SE, Frankfurt. - A Demand Deposit Account (DDA) must be opened in an [approved funding location](/docs/treasury/global-payments/capabilities/global-payments/jpm-coin-system/index#availability) where you intend to perform a Kinexys Digital Payments transaction. > 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. > ## Create and send a Kinexys Digital Payments deposit request payload Request payloads for the Global Payments API include both optional and [required fields](/docs/treasury/global-payments/capabilities/global-payments/jpm-coin-system/payment-parameters). The complete request payload is sent using a `POST HTTP` request The following example shows the minimum required payload for a Kinexys Digital Payments deposit request, without any optional fields included: ```curl curl --request POST \ --url https://api-mock.payments.jpmorgan.com/tsapi/v1/tsapi/v1/payments \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "payments": { "requestedExecutionDate": "2033-06-10", "debtor": { "debtorAccount": { "accountId": "8830699900", "accountType": "DDA" } }, "creditor": { "creditorAccount": { "accountId": "0070103277", "accountType": "BDA" } }, "debtorAgent": { "financialInstitutionId": { "bic": "CHASSGSG" } }, "paymentType": "BLOCKCHAIN", "transferType": "CREDIT", "creditorAgent": { "financialInstitutionId": { "bic": "CHASUS33" } }, "paymentAmount": 6500, "paymentCurrency": "USD", "paymentIdentifiers": { "endToEndId": "202E092v021D35E4" } } }' ``` ## Confirm response Upon successful completion, you should receive a response containing a `firmRootId` and an `endToEndId`. These values are used to [retrieve the status of your request](/docs/treasury/global-payments/capabilities/global-payments/jpm-coin-system/how-to/get-coin-transaction-status). ```json { "endToEndId": "202E092v021D35E4", "firmRootId": "98275a2d-1e88-beed-6938-0521a7e0oinc" } ``` For more information about potential error responses, see the [Error codes](/api/treasury/global-payments/global-payments/error-codes) section. ## Kinexys Digital Payments deposit request webhooks Transaction status responses for your Kinexys Digital Payments deposit request are provided through webhooks. ```json { "callbacks": [ { "endToEndId": "202E092v021D35E4", "createDateTime": "2033-06-10T09:04:29.166Z", "paymentStatus": "COMPLETED", "firmRootId": " 98275a2d-1e88-beed-6938-0521a7e0oinc " } ] } ``` Kinexys Digital Payments supports multiple response types, including *PENDING*, *PENDING_POSTING*, *COMPLETED*, and *REJECTED*. For more information, see [Response types](/docs/treasury/global-payments/capabilities/global-payments/jpm-coin-system/resources#response-types). ## Related [Connect to the Global Payments API](/docs/quick-start#add-an-api-to-your-project). ## Next steps - Initiate a [Kinexys Digital Payments payment](/docs/treasury/global-payments/capabilities/global-payments/jpm-coin-system/how-to/initiate-coin-payment). - Initiate a [Kinexys Digital Payments payment status inquiry](/docs/treasury/global-payments/capabilities/global-payments/jpm-coin-system/how-to/get-coin-transaction-status).