# 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="/files/W6tjuqkBVDCgyUYH5eSJ" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/tsursZKqrBmihCW2mBKV" 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="/files/iH7X2ReCBmpOiOIOWDIj" 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="/files/UVGpQdH6liECGiEFjNNy" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/mYnQv8CgoHwj53PtprYP" alt=""><figcaption><p>Transfer start</p></figcaption></figure>

<figure><img src="/files/FzppzbzENtN63jbq2DUE" alt=""><figcaption><p>Transfer progress</p></figcaption></figure>

<figure><img src="/files/RWJeD8hd0Dq6PwkGiS6v" 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="/files/dmn0F7a4hc97pbH6Db1x" 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chainfusion.org/bridge/making-a-transfer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
