How to make an IBC transfer in Cosmos? Step-by-step tutorial
In early 2022, Cosmos launched what would reaffirm its network as the Internet of Blockchains. IBC is a protocol that would connect independent blockchains and allow sending assets cross-chain quickly and easily.
Attention! Before getting started with Cosmos IBC transfers, there are some key aspects you should know:
- Don't send tokens via IBC directly to a CEX wallet, you could lose your funds.
- In case of an error in your submission or in case of channel saturation, your tokens will be returned to your wallet or the transfer will be made once the requests are cleared; be patient.
- If in doubt, please contact our team via Telegram and we will guide you.
- If you are not sure if you are doing it right, try sending small amounts for testing first.
What is Inter-Blockchain Communication (IBC)?
IBC or Inter-Blockchain Communication, already well known in Cosmos, is a communication protocol between blockchains. It is a standard interoperability protocol that handles authentication and transport of data between two independent blockchains, allowing tokens to be sent with no need of bridges, opening up a world of possibilities within the Cosmos ecosystem.
Introduction to Cosmos IBC transfers
For this example, we will explain how to send EVMOS tokens from Evmos blockchain to Osmosis blockchain.
Before we start, we will explain each field so that you understand what information you will need:
- Destination Chain: the blockchain to which you want to send your tokens.
- Recipient: in this case, the Osmosis address to which you want to send your EVMOS.
- Token: the token you want to send, in this case, we will choose EVMOS.
- Amount: amount of tokens to be sent.
- MEMO: this is usually an optional field, but mandatory when sending funds to exchanges wallets. However, we don't recommend sending funds to exchanges using IBC transfers.
- Channel ID: in this field you will have to enter the channel ID that connects the blockchain where your tokens are currently located with the blockchain you want to send your tokens to.
How do I know which channel to choose when doing a IBC transfer?
Easy! Check on Mintscan the IBC Relayers section of the blockchain from which you want to send your tokens. In our case, we will check Evmos > IBC Relayers.
Next, find the blockchain to which you will send your tokens; in this case, select Osmosis. Channels are As you can see, the channel you will have to use to get your EVMOS from the Evmos network to Osmosis will be the channel called "channel-0".
How to do IBC transfers in Cosmos?
Next, we will see step by step what you have to do to send your tokens to another network without going through any bridge, just using the Cosmos native IBC system.
Go to your Keplr wallet profile settings and make sure you have enabled the "Developer Mode" option.
Next, select the chain from which you are going to send the tokens and tap on the "Transfer" button.
- In the "Destination Chain" field, select Osmosis. If this is the first time you are doing this type of transfer, you will not find any option, so click on "New IBC Transfer Channel". Note that this step won't be necessary for future transfers between Evmos and Osmosis.
- If you're adding a new IBC transfer channel, select Osmosis as the destination chain and enter channel-0. You will see that if you don't complete the field correctly with "channel-0" you will get an error, so there is no chance to enter the wrong channel ID.
- Next, you will see Osmosis in "Destination Chain", select it and enter the Osmosis destination wallet.
- Finally, you just have to enter the amount of tokens you want to send and confirm the transfer by paying the required fees.
Congratulations! Enter your Osmosis wallet and you will find your EVMOS there. You will know which tokens come from an IBC transfer because you will see the channel ID next to its name.
If you want to make the transfer from Osmosis to Evmos, the steps are the same but the channel you will have to add is channel-204. By default, when configuring the channel for transfers from Evmosis to Osmosis, the channel will also be saved for reverse transfers from Osmosis to Evmosis as it's a one-way channel.