The ripple_path_find method is a simplified version of the [path_find method][] that provides a single response with a payment path you can use right away. It is available in both the WebSocket and JSON-RPC APIs. However, the results tend to become outdated as time passes. Instead of making multiple calls to stay updated, you should instead use the [path_find method][] to subscribe to continued updates where possible.
Although the rippled server tries to find the cheapest path or combination of paths for making a payment, it is not guaranteed that the paths returned by this method are, in fact, the best paths.
Caution: Be careful with the pathfinding results from untrusted servers. A server could be modified to return less-than-optimal paths to earn money for its operators. A server may also return poor results when under heavy load. If you do not have your own server that you can trust with pathfinding, you should compare the results of pathfinding from multiple servers run by different parties, to minimize the risk of a single server returning poor results.
Unique address of the account that would send funds in a transaction
destination_account
String
Unique address of the account that would receive funds in a transaction
destination_amount
String or Object
[Currency Amount][] that the destination account would receive in a transaction. Special case: You can specify "-1" (for XRP) or provide -1 as the contents of the value field (for non-XRP currencies). This requests a path to deliver as much as possible, while spending no more than the amount specified in send_max (if provided).
send_max
String or Object
(Optional) [Currency Amount][] that would be spent in the transaction. Cannot be used with source_currencies.
source_currencies
Array
(Optional) Array of currencies that the source account might want to spend. Each entry in the array should be a JSON object with a mandatory currency field and optional issuer field, like how [currency amounts][Currency Amount] are specified. Cannot contain more than 18 source currencies. By default, uses all source currencies available up to a maximum of 88 different currency/issuer pairs.
ledger_hash
String
(Optional) A 20-byte hex string for the ledger version to use. (See [Specifying Ledgers][])
ledger_index
String or Unsigned Integer
(Optional) The [ledger index][] of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers][])
The response follows the [standard format][], with a successful result containing the following fields:
Field
Type
Description
alternatives
Array
Array of objects with possible paths to take, as described below. If empty, then there are no paths connecting the source and destination accounts.
destination_account
String
Unique address of the account that would receive a payment transaction
destination_currencies
Array
Array of strings representing the currencies that the destination accepts, as 3-letter codes like "USD" or as 40-character hex like "015841551A748AD2C1F76FF6ECB0CCCD00000000"
Each element in the alternatives array is an object that represents a path from one possible source currency (held by the initiating account) to the destination account and currency. This object has the following fields:
Field
Type
Description
paths_computed
Array
Array of arrays of objects defining payment paths
source_amount
String or Object
[Currency Amount][] that the source would have to send along this path for the destination to receive the desired amount
The following fields are deprecated, and may be omitted: paths_canonical, and paths_expanded. If they appear, you should disregard them.
Possible Errors
Any of the [universal error types][].
tooBusy - The server is under too much load to calculate paths. Not returned if you are connected as an admin.
invalidParams - One or more fields are specified incorrectly, or one or more required fields are missing.
srcActMissing - The source_account field is omitted from the request.
srcActMalformed - The source_account field in the request is not formatted properly.
dstActMissing - The destination_account field is omitted from the request.
dstActMalformed - The destination_account field in the request is not formatted properly.
srcCurMalformed - The source_currencies field is not formatted properly.
srcIsrMalformed - The issuer field of one or more of the currency objects in the request is not valid.