When a customer wants to send a specific cryptocurrency (eg, "BTC") they may express their intention in two different ways:

  1. By specifying the amount of cryptocurrency they want to arrive at the destination
  2. By specifying the amount they want to be debited from their account
    • This option is used when the customer wants to send everything they have. In this case the full balance amount can be specified

The combination of asset amount and destination amount allows to support both use cases for your customers.

The difference is where the fees are extracted from, if the user specifies the amount they want to arrive at the destination, then they'll need to spend more to cover the fees, if they specify how much they want to spend then the fees are subtracted from that and the destination will receive slightly less funds.

This is how you'd specify the first case

{
    "reference_id": "Abc123ed-F456Gh",
    "operation": "send",
    "asset": {
        "currency": "BTC"
    },
    "send": {
        "destination": {
            "type": "crypto_currency_address", 
            "value": "3SampleBTCaddressDoNotUseThisValue",
            "amount": "0.1"
        }
    }
}

// Slightly more than 0.1 BTC is spent, destination gets exactly 0.1 BTC

And this is how you'd specify the second case

{
    "reference_id": "Abc123ed-F456Gh",
    "operation": "send",
    "asset": {
        "currency": "BTC",
        "amount": "0.1"
    },
    "send": {
        "destination": {
            "type": "crypto_currency_address", 
            "value": "3SampleBTCaddressDoNotUseThisValue"
        }
    }
}

// Fees are substracted from that 0.1 BTC, destination gets slightly less