> For the complete documentation index, see [llms.txt](https://stargateprotocol.gitbook.io/stargate/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stargateprotocol.gitbook.io/stargate/stargate-composability.md).

# Stargate Composability

## StargateComposer.sol

StargateComposer is a wrapper contract used to add additional functionality to Stargate Composed calls. Now contracts that want to compose Stargate will need to call `swap` via the [StargateComposer](/stargate/stargate-composability/stargatecomposer.sol.md) contract instead of the [Stargate Router](/stargate/interfaces/evm-solidity-interfaces/istargaterouter.sol.md). The new StargateComposer adds the `msg.sender` into the payload so the destination `sgReceive` can now identify the source address that initiated the swap via the `_srcAddress`.

{% hint style="warning" %}
Composing Stargate will revert on source if not using the StargateComposer.
{% endhint %}

<img src="/files/OVBSzpuMxhZPRakO3Yds" alt="StargateComposed deployed as a wrapper on both source and destination chains" class="gitbook-drawing">
