> For the complete documentation index, see [llms.txt](https://docs.carbondefi.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.carbondefi.xyz/developer-guides/carbon-defi-sdk/sdk-functions/composetradebysourcetransaction.md).

# composeTradeBySourceTransaction

This function creates an unsigned transaction to trade by source amount.&#x20;

```
public async composeTradeBySourceTransaction(
    sourceToken: string,
    targetToken: string,
    tradeActions: TradeActionStruct[],
    deadline: BigNumberish,
    minReturn: string,
    overrides?: PayableOverrides
  )
```

| Name         | Type                  | Description                                                                                                                                                                                                                                       |
| ------------ | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sourceToken  | token address         | The token being sent.                                                                                                                                                                                                                             |
| targetToken  | token address         | The token received.                                                                                                                                                                                                                               |
| tradeActions | list                  | The list of trade actions to be performed.                                                                                                                                                                                                        |
| deadline     | number                | The timestamp at which point the trade will no longer be valid.                                                                                                                                                                                   |
| minReturn    | string                | The minimum amount of target tokens that must be received for the trade to execute.                                                                                                                                                               |
| overrides    | object (**optional**) | This optional object contains transaction parameters, such as gas price, Eth value, etc. See **overrides** in the [Ethers documentation](https://docs.ethers.org/v5/api/contract/contract/#:~:text=The-,overrides,-object%20for%20a) for details. |

### Returns

This function returns an unsigned transaction that is ready to be signed and submitted to the blockchain.
