> For the complete documentation index, see [llms.txt](https://docs.ferroprotocol.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ferroprotocol.com/user-guides/ferro-swap.md).

# Ferro Swap

One of the main purposes of Ferro is to facilitate exchange of one token with another in any pools within the protocol.

* **Within the same pool** Token exchange will be done by adjusting the balance of token from the same pool with no or very small fee (example: exchanging DAI to USDC in a “USDC, DAI, USDT” pool)
* **Cross pool** Protocol will route the transaction through the most efficient way (smart routing) by scouring through the different pools to achieve minimum slippage (example: exchanging ETH to USDC, involving “ETH-WETH” pool and “USDC, DAI, USDT” pool)

Users also have the ability to customize their token exchange by specifying allowable Slippage (by %).
