Strict Send

The strict send payment path endpoint lists the paths a payment can take based on the amount of an asset you want to send. The source asset amount stays constant, and the type and amount of an asset received varies based on offers in the order books.

For this search, Horizon loads a list of assets that the recipient can recieve (based on destination_account or destination_assets) and displays the possible paths from the different source assets to the destination asset. Only paths that satisfy the source_amount are returned.

- ARGUMENT -

  • source_asset_type required

    The type for the source asset. Either native, credit_alphanum4, or credit_alphanum12.

  • source_asset_issuer optional

    The Stellar address of the issuer of the source asset. Required if the source_asset_type is not native.

  • source_asset_code optional

    The code for the source asset. Required if the source_asset_type is not native.

  • source_amount required

    The amount of the source asset that should be sent.

  • destination_account optional

    The Stellar address of the reciever. Any returned path must end with an asset that the recipient can receive. Using either source_account or source_assets as an argument is required for strict send path payments.

  • destination_assets optional

    A comma-separated list of assets that the recipient can receive. Any returned path must end with an asset in this list. Each asset is formatted as CODE:ISSUER_ACCOUNT. For example: USD:GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX. Using either source_account or source_assets as an argument is required for strict send path payments.

var StellarSdk = require("stellar-sdk");
var server = new StellarSdk.Server("https://expansion-testnet.bantu.network");

server
  .strictSendPaths(
    new StellarSdk.Asset(
      "BRL",
      "GDVKY2GU2DRXWTBEYJJWSFXIGBZV6AZNBVVSUHEPZI54LIS6BA7DVVSP",
    ),
    "400",
    "GAYOLLLUIZE4DZMBB2ZBKGBUBZLIOYU6XFLW37GBP2VZD3ABNXCW4BVA",
  )
  .call()
  .then(function (resp) {
    console.log(resp);
  })
  .catch(function (err) {
    console.error(err);
  });

Last updated

Was this helpful?