Interchain Token Transfers
Learn how to transfer assets across Avalanche L1 blockchains using Interchain Token Transfers.
Interchain Token Transfers (ICTT) allow assets, such as ERC-20 or native tokens, to move seamlessly between different Avalanche L1 blockchains. The system consists of a TokenHome contract, which lives on the source blockchain, and TokenRemote contracts, which reside on other Avalanche L1s that want to receive the asset.
Overview of How It Works
- Home and Remote Contracts:
The TokenHome
contract manages the transfer of assets from the source Avalanche L1 blockchain. It locks the original asset as collateral and tracks token balances sent to TokenRemote
contracts on other L1s.
The TokenRemote
contracts, on the receiving chains, mint a representation of the original token, allowing users to interact with it as if it were the native token of that chain.
- Transfer Process:
When a user transfers an asset from the source chain
to a remote chain
, the asset is locked on the home chain
, and a corresponding representation of the token is minted on the remote chain
.
This setup allows for different configurations, where the token can be represented as either an ERC-20 token or a native token on both the home and remote chains, giving flexibility to developers.
- Cross-Chain Flexibility:
Assets can be transferred in multiple configurations:
ERC-20
->ERC-20
ERC-20
->Native
Native
->ERC-20
Native
->Native
This flexibility allows developers to choose how assets are represented and used across multiple Avalanche L1s.
Configurations of the TokenHome
and TokenRemote
contracts can be found here
- Permissionless Registration:
ICTT is designed to be permissionless. Anyone can register a compatible TokenRemote
instance to a TokenHome
contract, expanding the network of chains that can receive transferred tokens.
- Customizable Logic:
Developers can extend the default ERC20TokenRemote
contract to implement custom minting, burning, or transfer logic, giving them flexibility to add functionality specific to their use cases.
Learn More
For more detailed information on setting up and managing Interchain Token Transfers, please refer to the related guide on how to configure these contracts and customize their behavior for your multi-chain applications.