The RippleNet Server API provides you the ability to develop custom applications to manage or interact with your RippleNet instance.
Check out the best practices and tutorials.
The RippleNet Server API provides you the ability to develop custom applications to manage or interact with your RippleNet instance.
Check out the best practices and tutorials.
All API operations require a bearer access token for your target environment.<br>Learn how to request the access token.
The RippleNet Server API creates a dynamic [domainPrefix] that consists of {tenant}.{environment}.
Note: This example uses aperture as the tenant. Your tenant ID is different.
| Environment | Domaing Prefix | Domain | Base URL |
|---|---|---|---|
| Test | aperture.test | ripplexcurrent.com | https://aperture.test.ripplexcurrent.com |
| UAT | aperture.uat | ripplexcurrent.com | https://aperture.uat.ripplexcurrent.com |
| Production | aperture.prod | ripplexcurrent.com | https://aperture.prod.ripplexcurrent.com |
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/
https://[domainPrefix].ripplexcurrent.com/v4/
Use these operations to audit your accounts.
| Operation | Method | Description |
|---|---|---|
| Get audits | GET | Gets an audit trail of user actions and configuration changes (to accounts, fees, and rates) on a RippleNet instance. |
| Get event trail for payment | GET | Gets an audit trail of a payment's state changes on a local RippleNet instance. |
Use these operations to view balances and statements for a ledger.
| Operation | Method | Description |
|---|---|---|
| Get balances | GET | Get balances for local and remote accounts owned by a RippleNet address. |
| Get ledger balances | GET | Get balances for ledger owned by a RippleNet address. |
| Get statement | GET | Gets a statement for an account that lists payments and transfers that impacted the account's balance during a specified date-time range. |
| Get statement by external account ID | GET | Gets a statement for an account that lists payments and transfers that impacted the account's balance during a specified date-time range. |
| Get ledger account statement | GET | Get statement for a specified Ledger Account |
Use these operations to perform beneficiary confirmations.
| Operation | Method | Description |
|---|---|---|
| Get account lookup by status | GET | Get Account Lookup entities by status and other filters. |
| Initiate account lookup | POST | Creates an Account Lookup request to validate a beneficiary's account details before sending a payment. |
| Complete account lookup | POST | Posts an Account Lookup response to validate a beneficiary's account details before payment. |
| Get account lookup by ID | GET | Gets an Account Lookup entity for its account_lookup_id value. |
Use these operations to view RippleNet Server health.
| Operation | Method | Description |
|---|---|---|
| Check health | GET | Gets the health status of the xCurrent server. |
| Check heartbeat | GET | Gets the health status of the xCurrent server's peers. |
Use these operations to manage exchange transfers.
| Operation | Method | Description |
|---|---|---|
| Get exchange transfers | GET | List all exchange transfers. |
| Execute exchange transfer | POST | Execute an exchange transfer to move funds from one of your accounts in one currency, to another one of your accounts in another currency. |
| Get exchange transfer quote | POST | Requests a quote for an exchange transfer. |
| Complete exchange transfer | POST | Updates the status of an exchange transfer to COMPLETED. Make this request once the exchange transfer has been made on both the ledger and on internal systems. |
| Get exchange transfer by ID | GET | Gets an exchange transfer by ID. |
Use these operations to configure fees.
| Operation | Method | Description |
|---|---|---|
| Get fees | GET | List all fees. |
| Create fee | POST | Creates a fee. |
| Get fee by ID | GET | Gets a fee by ID. |
| Update fee | PUT | Updates an existing fee. |
| Delete fee | DELETE | Deletes a fee. Once deleted, a fee cannot be accessed. |
Fails a payment. Fail payment is a deliberate action that permanently stops the payment and puts it into a non-recoverable state.
An institution rejects a payment to solicit changes to user_info; it fails a payment to stop it altogether. After a payment has been created by an Accept quote request, you can fail the payment if it is your institution's turn to take an action on the payment.
The originating institution can fail a payment in states LOCKED and LOCK_DECLINED. The beneficiary and intermediary institutions can fail a payment in the ACCEPTED state. Beneficiary institutions can also fail a payment in the EXECUTED state. The general use case for failing an executed payment is to Create quote to return payment to the originating institution.
Payments in states PREPARED and SETTLEMENT_DECLINED can fail automatically—PREPARED when the crypto-transaction expires and SETTLEMENT_DECLINED when the payment expires.
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/payments/{payment_id}/fail
https://[domainPrefix].ripplexcurrent.com/v4/payments/{payment_id}/fail
curl -i -X POST \
'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/payments/{payment_id}/fail' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"reasons": {
"type": "RECEIVER_DATA_VALIDATION",
"code": "AC03",
"reason": "Creditor account number invalid or missing"
}
}'Successfully failed a payment.
Unique identifier of a payment.
Hash of all values in the Contract object used to ensure immutability. Once a payment transitions to the LOCKED state, the values in this object cannot change.
State of the payment. For details about payment states, see Payment States in the RippleNet Developer Guide.
Date and time at which the payment was last modified, as an ISO-8601 timestamp in UTC.
Represents all immutable parts of a payment agreed upon by all participants as a part of the Lock payment flow. Once a payment transitions to the LOCKED state, the values in this object cannot change.
ID that the sender can specify. Persisted on all RippleNet instances that participate in the payment.
Date and time at which this payment contract was created, as an ISO-8601 timestamp in UTC.
Date and time after which this payment contract expires, as an ISO-8601 timestamp in UTC.
JSON response object that represents a quote for a proposed payment or return payment.
Unique identifier for the quote.
Date and time at which the quote was created, as an ISO-8601 timestamp in UTC.
Date and time after which the quote and its pricing expire, as an ISO-8601 timestamp in UTC.
Indicates how the amount field should be treated for calculating quote values.
Indicates whether a quote's pricing is INDICATIVE or FIRM. An INDICATIVE quote allows for price movements between quote issuance and payment execution, such that the quoted amount and delivered amount may differ. A FIRM quote ensures that the quoted and delivered payment amounts are equal.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code that can be used to filter quotes at the opposite end of the quote request. For example, you can filter by this currency code to find the receiving currency for a quote with a SENDER_AMOUNT quote_type. If not sent in the request, this field value is set to null.
Transfer and exchange elements. A transfer element represents a movement of funds between two accounts. An exchange element represents the exchange of currencies between two accounts.
Unique identifier for the quote element.
Type of quote element.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order of each quote element along the liquidity path. If a quote includes five quote elements, each one is enacted according to its quote_element_order number to make the proposed payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Fees the sender is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.
Fees the receiver is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.
Currency code of the sending amount. Included in quote elements with quote_element_type set to EXCHANGE.
Currency code of the receiving amount. Included in quote elements with quote_element_type set to EXCHANGE.
Triggered when a quote causes an account to go below its minimum_allowed_balance. Otherwise, this field value is set to null.
JSON object containing payment method metadata.
Details about the payout method.
Category of the payout method. Defaults to <code>OTHER</code> if not specified.
Itemized list of fees charged by each node.
Fees charged by each node participating in the payment.
Application-provided data explaining actions taken by RippleNet applications.
RippleNet address of the node from which the RippleNetInfo originated.
If applicable, provides an array of RippleNetInfoEntry's explaining transitions into the SETTLEMENT_DECLINED state
Information explaining the action taken by a RippleNet application. Could be a RippleNet error code, or a written explanation of the action taken
A Base64-encoded execution condition for this payment, the fulfillment of which will be presented to the validator to complete this payment. This value must match the execution_condition in the associated crypto transaction.
Unique identifier of the crypto transaction associated with this payment.
Address of the validator that validated the payment.
If the payment_type is RETURN, provides the payment ID of the original payment that this payment returns. Otherwise, this field value is set to null.
If the payment_type is REGULAR and the payment has an associated return payment, provides the payment ID of the return payment. Otherwise, this field value is set to null.
Represents the actual movement of funds in a payment. Each execution result corresponds to a quote element and represents its execution in a payment.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Represents the actual movement of funds in a payment as part of liquidation of a Wallet Receive payment.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Payment liquidation details
Reason behind failure of the liquidation, only applicable if the status is failure
Represents the movement of funds after an On-Demand Liquidity payment fails at intermediary transfer or destination exchange.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Date and time at which the payment was last accepted, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last locked, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last executed, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last completed, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was returned, as an ISO-8601 timestamp in UTC.
JSON object containing information that only the RippleNet instance that set it can view. These values can be set by the sender when accepting a payment and by an intermediary or receiver when locking the payment.
Role of the RippleNet node that sets one or more values in the Internal Info object.
Use as follows:
SENDING: Sending account in the payment resides on this RippleNet instance.RECEIVING: Receiving account in the payment resides on this RippleNet instance.INTERMEDIARY: Neither sending nor receiving accounts in the payment reside on this RippleNet instance.INTERNAL: Both sending and receiving accounts in the payment (usually between RippleNet Cloud and RippleNet) reside on this RippleNet instance.Array of objects that provide label values that are set by including the sub_state field at any stage of the payment's lifecycle. Labels can used as a filtering mechanism when searching for payments. Labels are visible only to the node that added them to this copy of a payment. If the values that populate this array are not set in the request or if the values set in the request are not viewable by your node, this array is empty.
ID that is viewable only to the node that set it. This value can be set by the sender when accepting a payment. This value can also be set by any intermediary and the receiver when locking the payment. If this value is not set in the request or if the value set in the request is not viewable by your node, this field value is set to null.
User-provided data with arbitrary key/value pairs.
RippleNet address of the node that provided the user information.
User information optionally provided when accepting the payment.
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when locking the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when declining to lock the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when retrying acceptance of the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when retrying settlement of the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when settling the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when settlement for the payment is declined. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when failing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
Payment sub-state information provided using sub_state and memo fields when finalizing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when completing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
If applicable, user information optionally provided when forwarding the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
If applicable, information optionally provided using return_reasons when returning the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
{ "payment_id": "d485f100-2af7-4e48-9ab1-3c7e28775691", "contract_hash": "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103", "payment_state": "COMPLETED", "modified_at": "2019-10-01T18:25:47.347Z", "contract": { "sender_end_to_end_id": "string", "created_at": "2019-10-01T18:18:13.665Z", "expires_at": "2019-10-01T18:55:22.824Z", "quote": { … }, "fee_info": { … } }, "ripplenet_info": [ { … } ], "execution_condition": "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}", "crypto_transaction_id": "4e05da26-7872-4a1f-b9b7-db7604757c37", "validator": "rn.us.ca.san_francisco", "payment_type": "REGULAR", "returns_payment_with_id": "a69b322f-faa4-4531-bcff-897e5839c130", "returned_by_payment_with_id": "c929a87b-81b8-4878-b21c-1aeaa4fe9276", "execution_results": [ { … } ], "liquidation_execution_results": [ { … } ], "liquidation_details": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "string", "failure_reason": "string", "failure_count": 0 }, "push_forward_execution_results": [ { … } ], "accepted_at": "2019-10-01T18:25:47.347Z", "locked_at": "2019-10-01T18:25:47.347Z", "executed_at": "2019-10-01T18:25:47.347Z", "completed_at": "2019-10-01T18:25:47.347Z", "returned_at": "2019-10-01T18:25:47.347Z", "internal_info": { "connector_role": "RECEIVING", "labels": [ … ], "internal_id": "string" }, "user_info": [ { … } ] }
Executes a payment in the <code>LOCKED</code> state. Payment senders can also <b>retry settling a payment</b> in the <code>SETTLEMENT_DECLINED</code> state, after the error is corrected (and before the payment expires).<p>Settle payment sends a prepare payment transfer message, which travels to all participants in the payment. This sets the payment state to PREPARED, which means that funds have been transferred to the hold account on that xCurrent ledger.</p> <p>The beneficiary institution then signs the execution_condition (creating a payload) and sends an execute payment transfer message, which travels to all participants in the payment). When the payment is fully executed, funds have been transferred from the hold account to the receiver account on all xCurrent ledgers and the payment state is set to <code>EXECUTED</code>.</p>
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/payments/{payment_id}/settle
https://[domainPrefix].ripplexcurrent.com/v4/payments/{payment_id}/settle
curl -i -X POST \
'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/payments/{payment_id}/settle' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"user_info": {}
}'Successfully prepared payment settlement. Execution is asynchronous.
Unique identifier of a payment.
Hash of all values in the Contract object used to ensure immutability. Once a payment transitions to the LOCKED state, the values in this object cannot change.
State of the payment. For details about payment states, see Payment States in the RippleNet Developer Guide.
Date and time at which the payment was last modified, as an ISO-8601 timestamp in UTC.
Represents all immutable parts of a payment agreed upon by all participants as a part of the Lock payment flow. Once a payment transitions to the LOCKED state, the values in this object cannot change.
ID that the sender can specify. Persisted on all RippleNet instances that participate in the payment.
Date and time at which this payment contract was created, as an ISO-8601 timestamp in UTC.
Date and time after which this payment contract expires, as an ISO-8601 timestamp in UTC.
JSON response object that represents a quote for a proposed payment or return payment.
Unique identifier for the quote.
Date and time at which the quote was created, as an ISO-8601 timestamp in UTC.
Date and time after which the quote and its pricing expire, as an ISO-8601 timestamp in UTC.
Indicates how the amount field should be treated for calculating quote values.
Indicates whether a quote's pricing is INDICATIVE or FIRM. An INDICATIVE quote allows for price movements between quote issuance and payment execution, such that the quoted amount and delivered amount may differ. A FIRM quote ensures that the quoted and delivered payment amounts are equal.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code that can be used to filter quotes at the opposite end of the quote request. For example, you can filter by this currency code to find the receiving currency for a quote with a SENDER_AMOUNT quote_type. If not sent in the request, this field value is set to null.
Transfer and exchange elements. A transfer element represents a movement of funds between two accounts. An exchange element represents the exchange of currencies between two accounts.
Unique identifier for the quote element.
Type of quote element.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order of each quote element along the liquidity path. If a quote includes five quote elements, each one is enacted according to its quote_element_order number to make the proposed payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Fees the sender is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.
Fees the receiver is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.
Currency code of the sending amount. Included in quote elements with quote_element_type set to EXCHANGE.
Currency code of the receiving amount. Included in quote elements with quote_element_type set to EXCHANGE.
Triggered when a quote causes an account to go below its minimum_allowed_balance. Otherwise, this field value is set to null.
JSON object containing payment method metadata.
Details about the payout method.
Category of the payout method. Defaults to <code>OTHER</code> if not specified.
Itemized list of fees charged by each node.
Fees charged by each node participating in the payment.
Application-provided data explaining actions taken by RippleNet applications.
RippleNet address of the node from which the RippleNetInfo originated.
If applicable, provides an array of RippleNetInfoEntry's explaining transitions into the SETTLEMENT_DECLINED state
Information explaining the action taken by a RippleNet application. Could be a RippleNet error code, or a written explanation of the action taken
A Base64-encoded execution condition for this payment, the fulfillment of which will be presented to the validator to complete this payment. This value must match the execution_condition in the associated crypto transaction.
Unique identifier of the crypto transaction associated with this payment.
Address of the validator that validated the payment.
If the payment_type is RETURN, provides the payment ID of the original payment that this payment returns. Otherwise, this field value is set to null.
If the payment_type is REGULAR and the payment has an associated return payment, provides the payment ID of the return payment. Otherwise, this field value is set to null.
Represents the actual movement of funds in a payment. Each execution result corresponds to a quote element and represents its execution in a payment.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Represents the actual movement of funds in a payment as part of liquidation of a Wallet Receive payment.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Payment liquidation details
Reason behind failure of the liquidation, only applicable if the status is failure
Represents the movement of funds after an On-Demand Liquidity payment fails at intermediary transfer or destination exchange.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Date and time at which the payment was last accepted, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last locked, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last executed, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last completed, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was returned, as an ISO-8601 timestamp in UTC.
JSON object containing information that only the RippleNet instance that set it can view. These values can be set by the sender when accepting a payment and by an intermediary or receiver when locking the payment.
Role of the RippleNet node that sets one or more values in the Internal Info object.
Use as follows:
SENDING: Sending account in the payment resides on this RippleNet instance.RECEIVING: Receiving account in the payment resides on this RippleNet instance.INTERMEDIARY: Neither sending nor receiving accounts in the payment reside on this RippleNet instance.INTERNAL: Both sending and receiving accounts in the payment (usually between RippleNet Cloud and RippleNet) reside on this RippleNet instance.Array of objects that provide label values that are set by including the sub_state field at any stage of the payment's lifecycle. Labels can used as a filtering mechanism when searching for payments. Labels are visible only to the node that added them to this copy of a payment. If the values that populate this array are not set in the request or if the values set in the request are not viewable by your node, this array is empty.
ID that is viewable only to the node that set it. This value can be set by the sender when accepting a payment. This value can also be set by any intermediary and the receiver when locking the payment. If this value is not set in the request or if the value set in the request is not viewable by your node, this field value is set to null.
User-provided data with arbitrary key/value pairs.
RippleNet address of the node that provided the user information.
User information optionally provided when accepting the payment.
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when locking the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when declining to lock the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when retrying acceptance of the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when retrying settlement of the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when settling the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when settlement for the payment is declined. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when failing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
Payment sub-state information provided using sub_state and memo fields when finalizing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when completing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
If applicable, user information optionally provided when forwarding the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
If applicable, information optionally provided using return_reasons when returning the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
{ "payment_id": "d485f100-2af7-4e48-9ab1-3c7e28775691", "contract_hash": "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103", "payment_state": "COMPLETED", "modified_at": "2019-10-01T18:25:47.347Z", "contract": { "sender_end_to_end_id": "string", "created_at": "2019-10-01T18:18:13.665Z", "expires_at": "2019-10-01T18:55:22.824Z", "quote": { … }, "fee_info": { … } }, "ripplenet_info": [ { … } ], "execution_condition": "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}", "crypto_transaction_id": "4e05da26-7872-4a1f-b9b7-db7604757c37", "validator": "rn.us.ca.san_francisco", "payment_type": "REGULAR", "returns_payment_with_id": "a69b322f-faa4-4531-bcff-897e5839c130", "returned_by_payment_with_id": "c929a87b-81b8-4878-b21c-1aeaa4fe9276", "execution_results": [ { … } ], "liquidation_execution_results": [ { … } ], "liquidation_details": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "string", "failure_reason": "string", "failure_count": 0 }, "push_forward_execution_results": [ { … } ], "accepted_at": "2019-10-01T18:25:47.347Z", "locked_at": "2019-10-01T18:25:47.347Z", "executed_at": "2019-10-01T18:25:47.347Z", "completed_at": "2019-10-01T18:25:47.347Z", "returned_at": "2019-10-01T18:25:47.347Z", "internal_info": { "connector_role": "RECEIVING", "labels": [ … ], "internal_id": "string" }, "user_info": [ { … } ] }
Marks a payment with finalized sub-states that reflect what is happening to the payment while it is in the <code>EXECUTED</code> state. The receiving institution can make this request multiple times to provide a log of each subsequent sub-state until it is ready to make the Complete payment request.
Free-form string that describes a sub-state of the payment while it is in the EXECUTED state, for example, FORWARDED or AWAITING_COLLECTION. Displays as a label value in the labels array. Also displays as the key value in the receiving node's user_info.executed array.
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/payments/{payment_id}/finalize
https://[domainPrefix].ripplexcurrent.com/v4/payments/{payment_id}/finalize
curl -i -X POST \
'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/payments/{payment_id}/finalize' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"sub_state": "FORWARDED",
"memo": "Heading to payout location"
}'Returns a payment with sub-states represented as labels.
Unique identifier of a payment.
Hash of all values in the Contract object used to ensure immutability. Once a payment transitions to the LOCKED state, the values in this object cannot change.
State of the payment. For details about payment states, see Payment States in the RippleNet Developer Guide.
Date and time at which the payment was last modified, as an ISO-8601 timestamp in UTC.
Represents all immutable parts of a payment agreed upon by all participants as a part of the Lock payment flow. Once a payment transitions to the LOCKED state, the values in this object cannot change.
ID that the sender can specify. Persisted on all RippleNet instances that participate in the payment.
Date and time at which this payment contract was created, as an ISO-8601 timestamp in UTC.
Date and time after which this payment contract expires, as an ISO-8601 timestamp in UTC.
JSON response object that represents a quote for a proposed payment or return payment.
Unique identifier for the quote.
Date and time at which the quote was created, as an ISO-8601 timestamp in UTC.
Date and time after which the quote and its pricing expire, as an ISO-8601 timestamp in UTC.
Indicates how the amount field should be treated for calculating quote values.
Indicates whether a quote's pricing is INDICATIVE or FIRM. An INDICATIVE quote allows for price movements between quote issuance and payment execution, such that the quoted amount and delivered amount may differ. A FIRM quote ensures that the quoted and delivered payment amounts are equal.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code that can be used to filter quotes at the opposite end of the quote request. For example, you can filter by this currency code to find the receiving currency for a quote with a SENDER_AMOUNT quote_type. If not sent in the request, this field value is set to null.
Transfer and exchange elements. A transfer element represents a movement of funds between two accounts. An exchange element represents the exchange of currencies between two accounts.
Unique identifier for the quote element.
Type of quote element.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order of each quote element along the liquidity path. If a quote includes five quote elements, each one is enacted according to its quote_element_order number to make the proposed payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Fees the sender is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.
Fees the receiver is charging. When quote_element_type is set to EXCHANGE, this field value is always set to 0.
Currency code of the sending amount. Included in quote elements with quote_element_type set to EXCHANGE.
Currency code of the receiving amount. Included in quote elements with quote_element_type set to EXCHANGE.
Triggered when a quote causes an account to go below its minimum_allowed_balance. Otherwise, this field value is set to null.
JSON object containing payment method metadata.
Details about the payout method.
Category of the payout method. Defaults to <code>OTHER</code> if not specified.
Itemized list of fees charged by each node.
Fees charged by each node participating in the payment.
Application-provided data explaining actions taken by RippleNet applications.
RippleNet address of the node from which the RippleNetInfo originated.
If applicable, provides an array of RippleNetInfoEntry's explaining transitions into the SETTLEMENT_DECLINED state
Information explaining the action taken by a RippleNet application. Could be a RippleNet error code, or a written explanation of the action taken
A Base64-encoded execution condition for this payment, the fulfillment of which will be presented to the validator to complete this payment. This value must match the execution_condition in the associated crypto transaction.
Unique identifier of the crypto transaction associated with this payment.
Address of the validator that validated the payment.
If the payment_type is RETURN, provides the payment ID of the original payment that this payment returns. Otherwise, this field value is set to null.
If the payment_type is REGULAR and the payment has an associated return payment, provides the payment ID of the return payment. Otherwise, this field value is set to null.
Represents the actual movement of funds in a payment. Each execution result corresponds to a quote element and represents its execution in a payment.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Represents the actual movement of funds in a payment as part of liquidation of a Wallet Receive payment.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Payment liquidation details
Reason behind failure of the liquidation, only applicable if the status is failure
Represents the movement of funds after an On-Demand Liquidity payment fails at intermediary transfer or destination exchange.
Unique identifier for this payment result.
Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
Type of payment execution result.<p><ul> <li>TRANSFER represents the movement of funds between two accounts.</li> <li>EXCHANGE represents the exchange of currencies between two accounts.</li> <li>EXCHANGE_TRADE represents the exchange of fiat to digital currency on a digital exchange.</li> <li>CRYPTO_TRANSFER represents the movement of digital funds between two digital exchanges.</li> </ul></p>
Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
RippleNet account name and address of the sender, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
RippleNet account name and address of the receiver, in the format accountname@ripplenetaddress. For example, new_york@rn.us.ny.new_york.
Currency code of the sending amount. Included in execution results with execution_result_type set to EXCHANGE.
Currency of the receiving amount. Included in execution results with execution_result_type set to EXCHANGE.
The details of an FX Rate for a quote or payment.
Currency of the transfer. Returned in execution results with execute_result_type set to TRANSFER.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
Configuration of the incentive pool on the xRapid side. Two values are supported, firm and fx. For firm, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For fx, xRapid guaratees a predefined FX rate.
Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
Hash representing the unique identifier for the transfer of funds in the XRP ledger.
The id from an exchange associated with a transaction involving an exchange account.
Represents the delta between quoted and received executed amounts, for exchange trades.
Date and time at which the payment was last accepted, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last locked, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last executed, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was last completed, as an ISO-8601 timestamp in UTC.
Date and time at which the payment was returned, as an ISO-8601 timestamp in UTC.
JSON object containing information that only the RippleNet instance that set it can view. These values can be set by the sender when accepting a payment and by an intermediary or receiver when locking the payment.
Role of the RippleNet node that sets one or more values in the Internal Info object.
Use as follows:
SENDING: Sending account in the payment resides on this RippleNet instance.RECEIVING: Receiving account in the payment resides on this RippleNet instance.INTERMEDIARY: Neither sending nor receiving accounts in the payment reside on this RippleNet instance.INTERNAL: Both sending and receiving accounts in the payment (usually between RippleNet Cloud and RippleNet) reside on this RippleNet instance.Array of objects that provide label values that are set by including the sub_state field at any stage of the payment's lifecycle. Labels can used as a filtering mechanism when searching for payments. Labels are visible only to the node that added them to this copy of a payment. If the values that populate this array are not set in the request or if the values set in the request are not viewable by your node, this array is empty.
ID that is viewable only to the node that set it. This value can be set by the sender when accepting a payment. This value can also be set by any intermediary and the receiver when locking the payment. If this value is not set in the request or if the value set in the request is not viewable by your node, this field value is set to null.
User-provided data with arbitrary key/value pairs.
RippleNet address of the node that provided the user information.
User information optionally provided when accepting the payment.
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when locking the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when declining to lock the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when retrying acceptance of the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when retrying settlement of the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when settling the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when settlement for the payment is declined. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when failing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
Payment sub-state information provided using sub_state and memo fields when finalizing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
User information optionally provided when completing the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
If applicable, user information optionally provided when forwarding the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
If applicable, information optionally provided using return_reasons when returning the payment. For more information, see [User Info Entry Object][user-info-entry].
User information provided across the payment lifecycle stored as arbitrary JSON key/value pairs.
Date and time at which the user information was added to the payment, as an ISO-8601 timestamp in UTC.
{ "payment_id": "d485f100-2af7-4e48-9ab1-3c7e28775691", "contract_hash": "ccb23bd87f13cc13b9d616a9723f76e112aeac8628b2082e0f8bf3b8c670b103", "payment_state": "COMPLETED", "modified_at": "2019-10-01T18:25:47.347Z", "contract": { "sender_end_to_end_id": "string", "created_at": "2019-10-01T18:18:13.665Z", "expires_at": "2019-10-01T18:55:22.824Z", "quote": { … }, "fee_info": { … } }, "ripplenet_info": [ { … } ], "execution_condition": "PrefixSha256Condition{subtypes=[ED25519-SHA-256], type=PREFIX-SHA-256, fingerprint=sfGGHCrkyaMsLQNB62w_4zarlPChHKm47JkXVQbs1z0, cost=132360}", "crypto_transaction_id": "4e05da26-7872-4a1f-b9b7-db7604757c37", "validator": "rn.us.ca.san_francisco", "payment_type": "REGULAR", "returns_payment_with_id": "a69b322f-faa4-4531-bcff-897e5839c130", "returned_by_payment_with_id": "c929a87b-81b8-4878-b21c-1aeaa4fe9276", "execution_results": [ { … } ], "liquidation_execution_results": [ { … } ], "liquidation_details": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "string", "failure_reason": "string", "failure_count": 0 }, "push_forward_execution_results": [ { … } ], "accepted_at": "2019-10-01T18:25:47.347Z", "locked_at": "2019-10-01T18:25:47.347Z", "executed_at": "2019-10-01T18:25:47.347Z", "completed_at": "2019-10-01T18:25:47.347Z", "returned_at": "2019-10-01T18:25:47.347Z", "internal_info": { "connector_role": "RECEIVING", "labels": [ … ], "internal_id": "string" }, "user_info": [ { … } ] }
Use these operations to manage payment expirations.
| Operation | Method | Description |
|---|---|---|
| Get payment expiry by ID | GET | Gets the time to live (ttl) of a payment expiry in seconds. |
| Update payment expiry | PUT | Updates the time to live (ttl) of a payment expiry in seconds. |
| Delete payment expiry | DELETE | Deletes a payment expiry. |
| Get payment expiries | GET | Returns all configured payment expiries. |
| Create payment expiry | POST | Creates a payment expiration window, or time to live (ttl), in seconds. |
Payout Method operations let receivers create and manage payout methods. Senders can generate quotes based on these receiver payout methods.
| Operation | Method | Description |
|---|---|---|
| Create payout method | POST | Creates a payout method. For example, LOCAL_RAILS. |
| Get payout methods | GET | Returns a list of payout methods created by a receiving partner. |
| Get payout method by ID | GET | Returns a payout method by its ID. |
| Update payout method | PUT | Updates a payout method. |
| Delete payout method | DELETE | Deletes a payout method. |
| Get all categories | GET | Returns all the payout method categories. |
Use these operations to configure your RippleNet platform accounts.
| Operation | Method | Description |
|---|---|---|
| Create platform | POST | Creates a RippleNet platform that represents a financial entity that holds accounts in the real world. For example, a Bank, Exchange, or Wallet provider. |
| Get all platforms | GET | Returns a list of all active RippleNet platforms. |
| Get platform by platform ID | GET | Get a RippleNet platform by its platform ID. |
| Update platform | PUT | Updates a RippleNet platform. |
| Delete platform by platform ID | DELETE | Deletes a RippleNet platform by its platform ID. |
| Create platform account | POST | Creates a RippleNet platform account, which represents a real-world account owned by a financial entity. |
| Get platform accounts | GET | Returns a paged list of all active RippleNet platform accounts. |
| Get platform account by platform account ID | GET | Gets a RippleNet platform account by its platform account ID. |
| Update platform account | PUT | Updates a RippleNet platform account. |
| Delete platform account by platform account ID | DELETE | Deletes a RippleNet platform account by its platform account ID. |
| Get platform accounts balances | GET | Get balances for local Platform Accounts |
| Get platform account statement | GET | Get statement for a specified Platform Account |
Use these operations to configure your RippleNet pool accounts.
| Operation | Method | Description |
|---|---|---|
| Get all pool accounts | GET | Returns a list of all pool accounts on a RippleNet node. |
| Get pool account by pool account ID | GET | Get a pool account by its pool account ID. |
Use these operations to manage quote expirations.
| Operation | Method | Description |
|---|---|---|
| List quote expiries | GET | Returns all configured quote expiries. |
| Create quote expiry | POST | Creates a quote expiration window, or time to live (ttl), in seconds. |
| Get quote expiry | GET | Gets the configured quote expiration window, or time to live (ttl), in seconds. |
| Update quote expiry | PUT | Sets a quote expiration window, or time to live (ttl), in seconds. |
Use these operations to manage your quotes.
| Operation | Method | Description |
|---|---|---|
| Accept quote | POST | Accepts a quote ID to start the payment process. |
| Get quotes | GET | Gets a list of quotes. |
| Get quote by quote ID | GET | Gets a quote by ID. |
| Create quote collection | POST | Creates a collection of quotes for a proposed payment. |
| Get quote collection by ID | GET | Gets a quote collection that was created for a proposed payment. |
Use these operations to manage your rates.
| Operation | Method | Description |
|---|---|---|
| Get rates | GET | Gets a list of configured exchange rates. |
| Create rate | POST | Creates an exchange rate for a specified currency pair. |
| Get rate by ID | GET | Gets a configured exchange rate by ID. |
| Update rate | PUT | Updates an existing exchange rate. |
| Delete rate | DELETE | Deletes an exchange rate. Once deleted, an exchange rate cannot be accessed. |
Use these operations to interact with your payment requests.
| Operation | Method | Description |
|---|---|---|
| Get requests for payment | GET | Gets requests for payment that match the query parameters. |
| Send request for payment | POST | Sends a new request for payment. |
| Get request for payment by ID | GET | Gets a request for payment by request for payment ID. |
| Accept request for payment | POST | Accepts a request for payment. |
| Fail request for payment | POST | Fails a request for payment. |
Use these operations to manage your transfers.
| Operation | Method | Description |
|---|---|---|
| Get transfers | GET | Gets a list of transfers. |
| Get transfer estimate | GET | Get an estimate of the fee to make an "outbound" transfer from an exchange (connected to xRapid) to an another account outside of RippleNet (such as a bank account). |
| Get transfer by ID | GET | Gets a transfer by ID. |
| Execute transfer | POST | Transfers funds between accounts. |
| Complete transfer | POST | Updates the state of a transfer to COMPLETED. |
| Add transfer labels | PUT | Adds a list of labels to the transfer. To retrieve transfers by label, see Get transfers |
| Delete transfer labels | DELETE | Deletes one or more existing labels from the transfer. |