# Trade execution

For each cryptocurrency asset in a user's onchain address, a user can execute a trade via a link to the automated market maker (AMM) operating on that particular blockchain protocol. How will this work?

* There is a link that provides the user the option to trade the asset.
* The link opens up a separate window that takes the user to a [particular AMM within that protocol](#default-amms-for-each-protocol-covered-by-unified). We have selected the dominant AMM within each protocol.
* That page will have a prompt for the user to perform a [Web3 authentication](https://moralis.io/how-to-build-a-web3-login-in-5-steps/) or [Web3 login](https://www.toptal.com/ethereum/one-click-login-flows-a-metamask-tutorial) via one of the available extension wallets e.g.
  * Metamask and xDefi for EVM / Rollup chains
  * Phantom and xDefi for Solana
  * Terra Station and xDefi for Terra
* Once authenticated, the user can complete the transaction.

For example, a user has an onchain address which displays:

* 10 AVAX on Avalanche
* 10 SOL on Solana

When the user clicks to trade the 10 AVAX, a new window pops up which links the user to [trade at TraderJoe](https://traderjoexyz.com/trade#/).  Metamask will prompt the user to complete the Web3 authentication / login.

When the user clicks to trade the 10 SOL, a new window pops up which links the user to [trade at Jupiter](https://jup.ag/).  Phantom will prompt the user to complete the Web3 authentication / login.

## Default AMMs for each protocol covered by Unified

| Protocol        | AMM                                                      | Link                                                                                           |
| --------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Arbitrum        | [Sushiswap](https://app.sushi.com/swap)                  | [https://app.sushi.com/swap](https://app.sushi.com/swap)                                       |
| Avalanche       | [Trader Joe](https://traderjoexyz.com/trade#/)           | [https://traderjoexyz.com/trade#/](https://traderjoexyz.com/trade#/)                           |
| BNB Chain       | [Pancakeswap](https://pancakeswap.finance/swap)          | [https://pancakeswap.finance/swap](https://pancakeswap.finance/swap)                           |
| Ethereum        | [Uniswap](https://app.uniswap.org/#/swap?chain=mainnet)  | [https://app.uniswap.org/#/swap?chain=mainnet](https://app.uniswap.org/#/swap?chain=mainnet)   |
| Fantom          | [Spookyswap](https://spookyswap.finance/swap)            | [https://spookyswap.finance/swap](https://spookyswap.finance/swap)                             |
| Optimism        | [Uniswap](https://app.uniswap.org/#/swap?chain=optimism) | [https://app.uniswap.org/#/swap?chain=optimism](https://app.uniswap.org/#/swap?chain=optimism) |
| Polygon (Matic) | [Quickswap](https://quickswap.exchange/#/swap)           | [https://quickswap.exchange/#/swap](https://quickswap.exchange/#/swap)                         |
| Solana          | [Jupiter](https://jup.ag/)                               | [https://jup.ag/](https://jup.ag/)                                                             |
| Terra           | [Astroport](https://app.astroport.fi/swap)               | [https://app.astroport.fi/swap](https://app.astroport.fi/swap)                                 |

