> For the complete documentation index, see [llms.txt](https://docs.chainfusion.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chainfusion.org/bridge/making-a-transfer.md).

# Making a Transfer

ChainFusion bridge allows to transfer assets between various blockchains and makes it fast, cheap, secure in a decentralized fashion.

## Transferring using UI

### Connect Wallet

Go to bridge app at [https://app.chainfusion.org](#using-ui) and press **Connect Wallet** button.

<figure><img src="https://2166523257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJlWwc82UlNit3R3Fkv5G%2Fuploads%2FtaYX7SGPoFPgrrCpoWLM%2F1%20-%20Connect%20Wallet.png?alt=media&amp;token=b3289680-8b1c-4434-97ab-b85650155e48" alt=""><figcaption></figcaption></figure>

After pressing **Connect Wallet** you will see wallet selection dialog. Select one of the supported wallet providers.

<figure><img src="https://2166523257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJlWwc82UlNit3R3Fkv5G%2Fuploads%2FqSL9YJe8VT0FmJI3Vcvo%2F2%20-%20Connect%20Wallet.png?alt=media&amp;token=4a10bc8a-7d0a-484c-af39-d5ef8be2a266" alt=""><figcaption></figcaption></figure>

You will be prompted to connect wallet, press **Connect**. In this example we use [Metamask](https://metamask.io/).

<figure><img src="https://2166523257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJlWwc82UlNit3R3Fkv5G%2Fuploads%2F3AB293TaqeVnzwKvLZ5a%2F3%20-%20Connect%20Wallet.png?alt=media&amp;token=c0288819-3719-4104-9b74-1bf5e8e02d3f" alt="" width="375"><figcaption></figcaption></figure>

### Make a transfer

After you connect the wallet, you should select source chain, destination chain and enter amount. You can specify either transfer amount or receiving amount.

Optional: You can approve ERC-20 token spend by ChainFusion by pressing **Approve** button. Some token standards, like ERC-677 do not require approval.

<figure><img src="https://2166523257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJlWwc82UlNit3R3Fkv5G%2Fuploads%2FC7VIqXIOO2h0E4k4EuIP%2F4%20-%20Enter%20Amount.png?alt=media&amp;token=f51a86e6-e231-4ef4-adfc-fc0785b3f57e" alt=""><figcaption></figcaption></figure>

Press **Transfer** button in order to initiate transfer of specified amount from **source chain** to **destination** chain.

<figure><img src="https://2166523257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJlWwc82UlNit3R3Fkv5G%2Fuploads%2FkWg75DjxQ5uKAe6CFyq9%2F6%20-%20Transfer.png?alt=media&amp;token=b1c13cd3-8aa9-4e5a-b4cc-b36be368880e" alt=""><figcaption><p>Transfer start</p></figcaption></figure>

<figure><img src="https://2166523257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJlWwc82UlNit3R3Fkv5G%2Fuploads%2Fv6aGVjH9TzEaOWaF5fJq%2F7%20-%20Transfer%20Progress.png?alt=media&amp;token=d244ac56-b465-4b8d-bae3-dee99116cab5" alt=""><figcaption><p>Transfer progress</p></figcaption></figure>

<figure><img src="https://2166523257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJlWwc82UlNit3R3Fkv5G%2Fuploads%2FU1o6DGcFpX7IWyoGQlZy%2F8%20-%20Transfer%20Success.png?alt=media&amp;token=c27caa2e-3704-4c67-81e6-add42ce3667a" alt=""><figcaption><p>Transfer success</p></figcaption></figure>

### Recent transfers history

Recent transfers are shown in **Recent Transfers** section. You can select **All** in order to see all recent transfers or select **Only My** in order to see transfers performed by account you have connected.

Transfer history is limited only to recent transfers, older records won't be shown.

<figure><img src="https://2166523257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJlWwc82UlNit3R3Fkv5G%2Fuploads%2FPRc5DOYShYVScAdjsFbz%2F9%20-%20Recent%20Transfers.png?alt=media&amp;token=741b85ef-cd64-4e72-b277-8d8872679a04" alt=""><figcaption></figcaption></figure>

## Transferring using bridge smart contract

To transfer assets from one blockchain to another, you would need to use [bridge contract's](https://gitlab.com/chainfusion/erc-20-bridge-contracts/-/blob/main/contracts/chain/ERC20Bridge.sol?ref_type=heads) `deposit()` function. Deposit function has four parameters:

* `token` - address of token to deposit, on the chain, you are transferring from
* `destinationChainId` - identifier of blockchain you are transferring to
* `receiver` - address of receiver, you are transferring to (usually the same account you are transferring from)
* `amount` - amount of tokens to transfer through bridge

After you made a deposit, usually it takes few minutes for validators to confirm your transfer and compose transaction on destination chain.
