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

  1. By specifying a specific amount of the desired cryptocurrency they want to arrive at the destination
  2. By specifying an amount they want to withdraw from their account

The combination of asset amount and destination amount allows you 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