Create New Token

Interchain Tokens are tokens deployed via the Interchain Token Service (ITS). These tokens are relatively simple ERC-20 contracts with built-in ITS integration, making them bridgeable to other blockchains as soon as they are deployed.

If you are starting fresh and want to deploy a brand new token that will have bridging capabilities from day one, ITS offers the ability to deploy a token directly through the Interchain Token Factory.

Use the deployInterchainToken function to deploy a new interchain token on your preferred chain.

function deployInterchainToken(
bytes32 salt, // unique salt for token deployment
string calldata name, // token name
string calldata symbol, // token symbol
uint8 decimals, // token decimals
uint256 initialSupply, // initial token supply
address minter // address receiving the initially minted tokens
) external payable returns (bytes32 tokenId) {};

This function deploys an interchain token, connects it to ITS upon deployment, and returns the unique token ID.

Use the deployRemoteInterchainToken function to deploy the token on a remote chain as a cross-chain transaction. Using this function, there is no minter role assigned if you need to deploy a token on a remote chain with a minter, use the deployRemoteInterchainTokenWithMinter function.

function deployRemoteInterchainToken(
bytes32 salt, // your unique salt value
string calldata destinationChain, // destination chain name
uint256 gasValue // gas sent for token deployment
) external payable returns (bytes32 tokenId) {};

This function deploys a remote interchain token on a specified destination chain and returns a token ID.

🚨

NOTE: The security of your token is only as strong as the security of the chains with which it integrates. When deploying an interchain token, ensure that all target chains are trustworthy.

You can initiate an interchain transfer from your source chain to a destination chain by using the interchainTransfer method on the ITS contract.

For further examples utilizing the Interchain Token Service, check out the axelar-examples repository on GitHub. There you will find an example implementation titled its-interchain-token, which demonstrates how to deploy Interchain Tokens across EVM chains and how to transfer tokens between them.

For a step-by-step guide on deploying an Interchain Token, check out the Programmatically Create a New Token Using the Interchain Token Service tutorial.

Edit on GitHub