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. |
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. |
The page number for paginated results. The value is zero-based, where 0 represents the first page.<br/> Set it to 0 to get the first page of results.
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates
https://[domainPrefix].ripplexcurrent.com/v4/config/rates
curl -i -X GET \
'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates?page=0&size=20' \
-H 'Authorization: YOUR_API_KEY_HERE'Successfully returned list of rates.
Sort details of this page
Provides an array of rate objects.
Unique identifier of the exchange rate.
<b>(DEPRECATED)</b> This property is deprecated. Refer to expires_at to determine rate expiration. <p>Amount of time in milliseconds that the rate is valid for after the rate's created_date value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value. If set to 0, the rate does not expire.</p>
Number of decimal places to which the exchange rate is calculated. For example, if the rate_scale value is set to 9 and the rate value is set to 1.25, the scaled value of the rate is 1.250000000.
If order_type is set to buy, this is set to the base currency. If order_type is set to sell, this is set to the counter currency.
If order_type is set to buy, this is set to the counter currency. If order_type is set to sell, this is set to the base currency.
Source ledger associated with the exchange rate.
Destination ledger associated with the exchange rate.
Account on the source ledger associated with rate.
Account on the destination ledger associated with rate.
Date and time at which the exchange rate was created, as an ISO-8601 timestamp in UTC. Fiat determines a rate's expiration date and time based on this value and expiration_offset value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value.
For a slab-based exchange rate, indicates the lower limit of the slab.
For a slab-based exchange rate, indicates the upper limit of the slab.
Indicates whether the rate is a live exchange rate (MARGIN) or an exchange rate manually configured by Ripple (RATE). If this value is MARGIN, then margin_type will show a value.
{ "first": true, "last": true, "number": 0, "numberOfElements": 0, "size": 0, "totalElements": 0, "totalPages": 0, "sort": [ { … } ], "content": [ { … } ] }
Creates an exchange rate for a specified currency pair.
Example - Applying a margin to the live FX rate:<br> A USD-GBP live FX rate of 0.80 is provided by a third-party rate provider and you want to reduce that rate by 20 BPS. In this API call, you would set "value_type": "MARGIN", then "margin_type": "BPS", and "rate": "20". After that, during the Get quotes call, the final FX rate will be calculated as 0.80*(1-(20/10000))=0.7984 and then applied during quote creation.
Set to the amount of time in milliseconds that the rate is valid for after the rate's created_date value. Set to 0 to indicate that the rate does not expire. The value returned in the response object for this field is null. Refer to the expires_at value in the response object to verify your expiration offset timing.
This value of this field represents either rate or margin based on what you specify in the value_type field.
If you specify value_type=rate, set the value of this field to the exchange rate for a base and counter currency. The rate can use up to 6 decimal places.
If you specify value_type=margin, set the value of this field depending on the unit of margin you specified in the margin_type field.
Use the ledger request object to create an exchange rate that applies to exchanges between a specific source ledger and destination ledger.
Use the account request object to create an exchange rate that applies to exchanges between a specific source ledger account and destination ledger account.
Set to the source ledger associated with the exchange rate.
Set to the destination ledger associated with the exchange rate.
Set to the account on the source ledger associated with the rate.
To create a slab-based exchange rate, provide the lower limit of the slab. You must also provide an upper_limit value.
To create a slab-based exchange rate, provide the upper limit of the slab. You must also provide a lower_limit value.
Specify whether you want to use a live exchange rate (MARGIN) or an exchange rate manually configured by Ripple (RATE). If you set this value to MARGIN, you must also provide margin_type.
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates
https://[domainPrefix].ripplexcurrent.com/v4/config/rates
curl -i -X POST \
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"expiration_offset": 95000,
"order_type": "buy",
"rate": 0.89,
"base_currency": "USD",
"counter_currency": "GBP",
"ledger": {
"source_ledger": "rn.eur.uk.london",
"destination_ledger": "rn.eur.uk.london"
},
"account": {
"source_ledger": "rn.eur.uk.london",
"destination_ledger": "rn.eur.uk.london",
"source_ledger_account": "alias_usd_lon",
"destination_ledger_account": "conct_gbp_lon"
},
"lower_limit": 0,
"upper_limit": 1000,
"payout_method": "LOCAL_RAILS",
"value_type": "MARGIN",
"margin_type": "BPS"
}'Successfully created rate.
Unique identifier of the exchange rate.
<b>(DEPRECATED)</b> This property is deprecated. Refer to expires_at to determine rate expiration. <p>Amount of time in milliseconds that the rate is valid for after the rate's created_date value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value. If set to 0, the rate does not expire.</p>
Number of decimal places to which the exchange rate is calculated. For example, if the rate_scale value is set to 9 and the rate value is set to 1.25, the scaled value of the rate is 1.250000000.
If order_type is set to buy, this is set to the base currency. If order_type is set to sell, this is set to the counter currency.
If order_type is set to buy, this is set to the counter currency. If order_type is set to sell, this is set to the base currency.
Source ledger associated with the exchange rate.
Destination ledger associated with the exchange rate.
Account on the source ledger associated with rate.
Account on the destination ledger associated with rate.
Date and time at which the exchange rate was created, as an ISO-8601 timestamp in UTC. Fiat determines a rate's expiration date and time based on this value and expiration_offset value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value.
For a slab-based exchange rate, indicates the lower limit of the slab.
For a slab-based exchange rate, indicates the upper limit of the slab.
Indicates whether the rate is a live exchange rate (MARGIN) or an exchange rate manually configured by Ripple (RATE). If this value is MARGIN, then margin_type will show a value.
{ "rate_id": "328b3e50-7983-46d5-94a0-ef004d78db1d", "expiration_offset": 95000, "order_type": "buy", "rate_scale": 9, "rate": 0.89, "base_currency": "USD", "counter_currency": "GBP", "source_currency": "USD", "destination_currency": "GBP", "source_ledger": "rn.eur.uk.london", "destination_ledger": "rn.eur.uk.london", "source_ledger_account": "alias_usd_lon", "destination_ledger_account": "conct_gbp_lon", "created_date": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "lower_limit": 0, "upper_limit": 1000, "payout_method": "LOCAL_RAILS", "value_type": "MARGIN", "margin_type": "BPS" }
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates/{rate_id}
https://[domainPrefix].ripplexcurrent.com/v4/config/rates/{rate_id}
curl -i -X GET \
'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates/{rate_id}' \
-H 'Authorization: YOUR_API_KEY_HERE'Sucessfully returned rate.
Unique identifier of the exchange rate.
<b>(DEPRECATED)</b> This property is deprecated. Refer to expires_at to determine rate expiration. <p>Amount of time in milliseconds that the rate is valid for after the rate's created_date value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value. If set to 0, the rate does not expire.</p>
Number of decimal places to which the exchange rate is calculated. For example, if the rate_scale value is set to 9 and the rate value is set to 1.25, the scaled value of the rate is 1.250000000.
If order_type is set to buy, this is set to the base currency. If order_type is set to sell, this is set to the counter currency.
If order_type is set to buy, this is set to the counter currency. If order_type is set to sell, this is set to the base currency.
Source ledger associated with the exchange rate.
Destination ledger associated with the exchange rate.
Account on the source ledger associated with rate.
Account on the destination ledger associated with rate.
Date and time at which the exchange rate was created, as an ISO-8601 timestamp in UTC. Fiat determines a rate's expiration date and time based on this value and expiration_offset value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value.
For a slab-based exchange rate, indicates the lower limit of the slab.
For a slab-based exchange rate, indicates the upper limit of the slab.
Indicates whether the rate is a live exchange rate (MARGIN) or an exchange rate manually configured by Ripple (RATE). If this value is MARGIN, then margin_type will show a value.
{ "rate_id": "328b3e50-7983-46d5-94a0-ef004d78db1d", "expiration_offset": 95000, "order_type": "buy", "rate_scale": 9, "rate": 0.89, "base_currency": "USD", "counter_currency": "GBP", "source_currency": "USD", "destination_currency": "GBP", "source_ledger": "rn.eur.uk.london", "destination_ledger": "rn.eur.uk.london", "source_ledger_account": "alias_usd_lon", "destination_ledger_account": "conct_gbp_lon", "created_date": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "lower_limit": 0, "upper_limit": 1000, "payout_method": "LOCAL_RAILS", "value_type": "MARGIN", "margin_type": "BPS" }
Updates an existing exchange rate. With this call, you can change value_type from RATE to MARGIN (and vice versa), change the actual rate value of the specified value type, or both.
Example - Updating an existing margin applied to the live FX rate:<br> A USD-GBP live FX rate of 0.80 is provided by a third-party rate provider and you currently reduce that rate by 20 BPS. You now want to change it and reduce it by 10 BPS instead. To do so, set "rate": "10" in the request. Once the change is applied, the final FX rate is calculated as 0.80*(1-(10/10000))=0.7992 during the Get quotes call, and then applied during quote creation.
Set to the amount of time in milliseconds that the rate is valid for after the rate's created_date value. Set to 0 to indicate that the rate does not expire. The value returned in the response object for this field is null. Refer to the expires_at value in the response object to verify your expiration offset timing.
This value of this field represents either rate or margin based on what you specify in the value_type field.
If you specify value_type=rate, set the value of this field to the exchange rate for a base and counter currency. The rate can use up to 6 decimal places.
If you specify value_type=margin, set the value of this field depending on the unit of margin you specified in the margin_type field.
Use the ledger request object to create an exchange rate that applies to exchanges between a specific source ledger and destination ledger.
Use the account request object to create an exchange rate that applies to exchanges between a specific source ledger account and destination ledger account.
Set to the source ledger associated with the exchange rate.
Set to the destination ledger associated with the exchange rate.
Set to the account on the source ledger associated with the rate.
To create a slab-based exchange rate, provide the lower limit of the slab. You must also provide an upper_limit value.
To create a slab-based exchange rate, provide the upper limit of the slab. You must also provide a lower_limit value.
Specify whether you want to use a live exchange rate (MARGIN) or an exchange rate manually configured by Ripple (RATE). If you set this value to MARGIN, you must also provide margin_type.
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates/{rate_id}
https://[domainPrefix].ripplexcurrent.com/v4/config/rates/{rate_id}
curl -i -X PUT \
'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates/{rate_id}' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"expiration_offset": 95000,
"order_type": "buy",
"rate": 0.89,
"base_currency": "USD",
"counter_currency": "GBP",
"ledger": {
"source_ledger": "rn.eur.uk.london",
"destination_ledger": "rn.eur.uk.london"
},
"account": {
"source_ledger": "rn.eur.uk.london",
"destination_ledger": "rn.eur.uk.london",
"source_ledger_account": "alias_usd_lon",
"destination_ledger_account": "conct_gbp_lon"
},
"lower_limit": 0,
"upper_limit": 1000,
"payout_method": "LOCAL_RAILS",
"value_type": "MARGIN",
"margin_type": "BPS"
}'Successfully updated rate.
Unique identifier of the exchange rate.
<b>(DEPRECATED)</b> This property is deprecated. Refer to expires_at to determine rate expiration. <p>Amount of time in milliseconds that the rate is valid for after the rate's created_date value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value. If set to 0, the rate does not expire.</p>
Number of decimal places to which the exchange rate is calculated. For example, if the rate_scale value is set to 9 and the rate value is set to 1.25, the scaled value of the rate is 1.250000000.
If order_type is set to buy, this is set to the base currency. If order_type is set to sell, this is set to the counter currency.
If order_type is set to buy, this is set to the counter currency. If order_type is set to sell, this is set to the base currency.
Source ledger associated with the exchange rate.
Destination ledger associated with the exchange rate.
Account on the source ledger associated with rate.
Account on the destination ledger associated with rate.
Date and time at which the exchange rate was created, as an ISO-8601 timestamp in UTC. Fiat determines a rate's expiration date and time based on this value and expiration_offset value. For example, if the expiration_offset value is 100000 milliseconds, the rate expires 100000 milliseconds after this created_date value.
For a slab-based exchange rate, indicates the lower limit of the slab.
For a slab-based exchange rate, indicates the upper limit of the slab.
Indicates whether the rate is a live exchange rate (MARGIN) or an exchange rate manually configured by Ripple (RATE). If this value is MARGIN, then margin_type will show a value.
{ "rate_id": "328b3e50-7983-46d5-94a0-ef004d78db1d", "expiration_offset": 95000, "order_type": "buy", "rate_scale": 9, "rate": 0.89, "base_currency": "USD", "counter_currency": "GBP", "source_currency": "USD", "destination_currency": "GBP", "source_ledger": "rn.eur.uk.london", "destination_ledger": "rn.eur.uk.london", "source_ledger_account": "alias_usd_lon", "destination_ledger_account": "conct_gbp_lon", "created_date": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "lower_limit": 0, "upper_limit": 1000, "payout_method": "LOCAL_RAILS", "value_type": "MARGIN", "margin_type": "BPS" }
https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates/{rate_id}
https://[domainPrefix].ripplexcurrent.com/v4/config/rates/{rate_id}
curl -i -X DELETE \
'https://docs.ripple.com/_mock/products/payments-odl/api-docs/ripplenet/reference/openapi/config/rates/{rate_id}' \
-H 'Authorization: YOUR_API_KEY_HERE'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. |