# Amount and fee calculations

To calculate and get info about the receive amount, one has to call getAmountToBeReceived method.

```
const amountToBeReceived = await sdk.getAmountToBeReceived(amount, sourceToken, destinationToken);
console.log(
  "Send %d %s and %d %s (gas fee) on %s to receive %d %s on %s",
  amount,
  sourceToken.symbol,
  gasFeeOptions.native.int,
  sourceChainMinUnit,
  sourceToken.chainSymbol,
  amountToBeReceived,
  destinationToken.symbol,
  destinationToken.chainSymbol
);
```

If you selected pay with stables:

```
const gasFeeOptions = await sdk.getGasFeeOptions(sourceToken, destinationToken, Messenger.PixelBridge);

const floatGasFeeAmount = gasFeeOptions.stablecoin.float;
console.log(
  "Send %d %s and %d %s (gas fee) on %s to receive %d %s on %s",
  amount,
  sourceToken.symbol,
  floatGasFeeAmount,
  sourceToken.symbol,
  sourceToken.chainSymbol,
  amountToBeReceived,
  destinationToken.symbol,
  destinationToken.chainSymbol
);
```

If you want to calculate how much you need to send to receive a specific amount use a getAmountToSend method:

```
const amountToSend = await sdk.getAmountToSend(amount, sourceToken, destinationToken);
console.log(
  "Send %d %s and %d %s (gas fee) on %s to receive %d %s on %s",
  amountToSend,
  sourceToken.symbol,
  gasFeeOptions.native.int,
  sourceChainMinUnit,
  sourceToken.chainSymbol,
  amount,
  destinationToken.symbol,
  destinationToken.chainSymbol
);
```

If you want to receive additional data about fees, select getAmountToBeReceivedAndGasFeeOptions or getAmountToSendAndGasFeeOptions method instead:

```
const { amountToSendFloat, amountToBeReceivedFloat, gasFeeOptions } = await sdk.getAmountToBeReceivedAndGasFeeOptions(
  amount,
  sourceToken,
  destinationToken,
  Messenger.PixelBridge
);
console.log(
  "Send %d %s and %d %s (gas fee) on %s to receive %d %s on %s",
  amountToSendFloat,
  sourceToken.symbol,
  gasFeeOptions.native.int,
  sourceChainMinUnit,
  sourceToken.chainSymbol,
  amountToBeReceivedFloat,
  destinationToken.symbol,
  destinationToken.chainSymbol
);
```
