logoAcademy

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.

On this page