# Using the Token Manager
Source: https://docs.chain.link/ccip/tutorials/evm/token-manager
Last Updated: 2025-05-19

> For the complete documentation index, see [llms.txt](/llms.txt).

> **NOTE: Talk to a CCIP expert**
>
> If you require technical advice or wish to consult on your project's implementation, please contact a CCIP expert. Our
> dedicated team is ready to support your projects and ensure their success. For expert guidance, visit the [Chainlink
> CCIP Contact form](https://chain.link/ccip-contact?v=Token%20Manager%20support).

The Token Manager allows token developers to deploy, configure, and manage Cross-Chain Tokens (CCTs) in a simplified web interface. The process involves deploying tokens and token pools, registering administrative roles, and configuring token pools to enable secure token transfers using CCIP.

The Token Manager guides you through two workflows:

- **Deploy a new token from scratch**: This is the more beginner-friendly workflow that guides you through the entire process step-by-step, starting by creating a token from scratch.
- **Enable an existing token to go cross-chain**: This is a more advanced workflow for token developers who have already deployed their token and want to add cross-chain capabilities.

If you prefer to manage your deployments and configurations programmatically, refer to the [Cross-Chain Tokens](/ccip/tutorials/cross-chain-tokens) guides available for Remix, Hardhat and Foundry.

After enabling your tokens, you can perform transfers and import tokens with the contract address using Transporter ([test.transporter.io](https://test.transporter.io) for testnet or [transporter.io](https://transporter.io) for mainnet) or the [CCIP CLI](https://docs.chain.link/ccip/tools/cli/).

## Limitations

Currently, the following advanced features are not yet supported in Token Manager:

- **Token pool replacements and upgrades for existing tokens**. This capability will be added in a subsequent update. To learn more about the process of replacing and upgrading existing token pools, review the [CCIP token pool upgradability](/ccip/concepts/cross-chain-token/evm/upgradability) section.
- **Deployment of token pools that use the [Lock and Unlock mechanism](/ccip/concepts/cross-chain-token/overview#token-handling-mechanisms)**. The Token Manager Wizard automatically configures all tokens with the Burn & Mint mechanism. (Refer to the [Burn & Mint token contract](https://github.com/smartcontractkit/chainlink/blob/contracts-ccip/v1.6.0-beta.0/contracts/src/v0.8/ccip/tokenAdminRegistry/TokenPoolFactory/FactoryBurnMintERC20.sol) and [Burn & Mint token pool contract](https://github.com/smartcontractkit/chainlink/blob/contracts-ccip/v1.6.0-beta.0/contracts/src/v0.8/ccip/pools/BurnMintTokenPool.sol) for the Burn & Mint mechanism.)
- Deployment or enablement of custom token pools is not yet supported.

## Getting started

The Token Manager includes both testnet and mainnet functionality. It is highly recommended to test and perform any operations on testnet before mainnet.

Before you can deploy a new token or add an existing token, you need to connect and authorize your wallet.

1. Open the Token Manager using the appropriate link for your use case:
   - For testnet, use [https://test.tokenmanager.chain.link](https://test.tokenmanager.chain.link).
   - For mainnet, use [https://tokenmanager.chain.link/](https://tokenmanager.chain.link/)

2. Connect your wallet using the **Connect wallet** button in the upper right corner. The following wallets are supported:
   - Metamask (EOA)
   - Coinbase wallet (EOA)
   - WalletConnect (EOA & Safe)
   - Rabby wallet (EOA & Safe)

3. After your wallet is connected, authorize the use of your wallet by clicking **Authorize** and complete the subsequent authorization flow for your wallet type. If you are connecting a Safe wallet, authorization is key to enabling permissioned actions on a per user basis; such as initiating transactions, updating off-chain data, and inviting collaborators.

## Deploy a new token

> **CAUTION: Token status**
>
> CCIP allows users to register and manage tokens in a permissionless manner. A "Verified" status of a token indicates
> only that the Token Creator has signed transactions evidencing their ownership. Users should conduct their own
> research before engaging with any tokens.

1. Once wallet connection and authorization is complete, click **Add new token** under the **My tokens** section of the Token Manager Dashboard.

2. In the Token Manager Wizard, select **Deploy a new token** and click **Continue** in the lower right corner.

(Image: Image)

1. On the **Details** page, enter the details for the first network you're configuring for your token deployment:

   - Select the network in the **Network** dropdown field.
   - Fill in the **Name** and **Symbol** fields to give your token its name and ticker symbol. For example, "Your Token" and "YOURS" respectively.
   - Click **Continue**.

   (Image: Image)

2. On the **Settings** page, configure your token's supply:

   - Setting a supply cap is optional — toggle the button to enable it and specify an amount. The supply cap sets a maximum limit for the total number of tokens that can ever be minted for the token you're creating.
   - Specify an amount of tokens to mint during this initial deployment step.
   - Click **Continue**.

   (Image: Image)

3. On the **Networks** page, select the additional blockchain network(s) where you'd like to deploy your new token and click **Continue**.

   (Image: Image)

4. On the **Owners** page, confirm the accounts that will be taking actions on each network. Click **Continue**.

   (Image: Image)

   The default account is the currently connected wallet. However, you can have different accounts for each network depending on who you want to be the owner.

5. On the **Summary** page, you can review your upcoming deployments and transactions. Each network you've selected appears along with an expandable list of the transactions the Token Manager will guide you through to deploy your token for each network:

   (Image: Image)

   Make sure that your wallet contains gas tokens for each network where you're deploying your token, in order to pay for the deployment transactions.

   If you selected more than two networks during the previous step, the *Remove* links are active, allowing you to remove a network before proceeding. If you only have two networks selected, the *Remove* links are intentionally not active. If you need to add more networks, navigate back to the **Networks** page.

6. The **Deploy** page displays the steps that you need to complete for each network:

   - Deploy token and pool
   - Accept admin role
   - Accept token ownership
   - Accept pool ownership

   (Image: Image)

   After the **Deploy token and pool** step is completed, you can initiate the other steps all at the same time by clicking **Accept** under each step. While these steps run concurrently, each step separately prompts you to confirm the corresponding transactions in your wallet.

   Once all of the steps for one network have been initiated, you can switch to the other network and repeat the same process. You do not have to wait for the first network deploy process to be complete before initiating the second network deploy process.

   When the deploy process is complete for all the networks you selected, the Token Manager marks them all as **Done**:

   (Image: Image)

   Click **Continue**. The Token Manager displays a message showing that your configuration was successful:

   (Image: Image)

When everything is successfully set up for your token, you can view your new Token Page from the Token Manager Dashboard. It displays information about your CCT, enables configuration changes, and allows expansion to additional networks where you can deploy the token.

## Add an existing token

If you have existing token(s) that you've already deployed, you can use the Token Manager to create and configure a token pool for the token, and optionally deploy your token on additional networks. Note that tokens deployed to additional networks are automatically configured to use the Burn and Mint mechanism.

1. On the **Details** page, enter the details for your token on each network where it has already been deployed. As you add each token contract address, the Token Manager displays validation checks for the token and the required admin registration functions in the contract.

   Use the *+ Add New Address* link to add additional token deployments. When you've added all the token deployments that you want to add at this time, select the checkbox to confirm *These are all of the tokens I currently want to enable on CCIP*.

2. On the **Pools** page, you're prompted to select the token pool mechanism that's used to transfer value between networks — *Burn / Mint* or *Lock / Release*. Depending on your token contract, you may have more than one option for *Burn / Mint*:

   (Image: Image)

   Before selecting a token pool type, be sure to review [CCIP token handling mechanisms](/ccip/concepts/cross-chain-token/overview#token-handling-mechanisms).

3. On the **Networks** page, select the additional blockchain networks where you'd like to deploy your new token. For additional networks, Token Manager Wizard workflow automatically configures all tokens with the Burn & Mint mechanism. (Refer to the [token contract](https://github.com/smartcontractkit/chainlink-evm/blob/contracts-v1.4.0/contracts/src/v0.8/shared/token/ERC20/BurnMintERC20.sol) and [token pool contract](https://github.com/smartcontractkit/chainlink-ccip/tree/contracts-ccip-v1.6.1/chains/evm/contracts/pools/BurnMintTokenPool.sol) for the Burn & Mint mechanism.)

4. On the **Summary** page, each network you've selected appears along with an expandable list of the transactions the Token Manager will guide you through to deploy your token for each network.

   If you selected more than two networks during the previous step, the *Remove* links are active, allowing you to remove a network before proceeding. If you only have two networks selected, the *Remove* links are intentionally not active. If you need to add more networks, navigate back to the **Networks** page.

5. The **Deploy** page displays the steps that you need to complete.

   For the tokens you're adding, the Token Manager guides you through each of these steps per network:

   - Deploy token pool for existing token
   - Grant Burn / Mint privileges (**manual step**)
   - Register admin
   - Accept admin role of your token pool
   - Set the token pool address
   - Accept ownership of the new token pool

   {" "}

> **CAUTION: Manually granting Burn/Mint privileges**
>
> Unlike the other steps where you're simply prompted to confirm transactions in your wallet, the Token Manager
> prompts you to grant Burn/Mint privileges manually, and then confirm that you've done so before proceeding with
> further steps. It's crucial to complete this manual step to ensure your CCIP transactions will work properly.
> Review the [CCT requirements](/ccip/concepts/cross-chain-token/evm/tokens) to understand the requirements your
> token must fulfill.

For the other tokens in your network, the Token Manager also guides you through updating existing token pools to incorporate the tokens you're adding.

At each step, you are prompted to confirm the corresponding transactions in your wallet. When each step is complete for all the networks you selected, the Token Manager displays a message showing that your configuration was successful.

When everything is successfully set up for your token, you can view your new Token Page from the Token Manager Dashboard. It displays information about your CCT, enables configuration changes, and allows expansion to additional networks.

## Token Manager Dashboard

After you connect your wallet, you can see the Token Manager Dashboard:

(Image: Image)

- If you click **Add new token**, you enter the Token Manager Wizard which prompts you to deploy a new token or to add an existing token.
- If the wallet you connected to the dashboard is a Token Admin address, the Token Manager automatically populates your tokens in the dashboard.
- If you have saved partial progress in the Token Manager Wizard, your token displays in a draft state so you can return and finish deploying it later.

After you have deployed a new token or added an existing one, each token has its own page:

(Image: Image)

The token page shows both the configured and unconfigured networks.

- When you select any of the listed unconfigured networks, you can use the Token Manager Wizard to expand your token to those networks, either by deploying a new token or by adding an existing token and deploying a token pool.
- For configured networks, you can view details for each network-specific token, and you can expand a **Token Details** side panel with more information and admin actions. To expand the **Token Details** panel, click the *View* link next to the configured network.

When expanded, the **Token Details** side panel provides more details about the inbound and outbound lanes for your token. If the connected wallet is a token admin or has permissions to update the token pool, the **Token Details** side panel also displays an **Actions** menu:

(Image: Image)

If you have the appropriate permissions, you can edit your token's inbound and outbound rate limits, edit the router contract address, and propose a new token administrator.

### Managing token settings

1. Connect your wallet and select your token in the Token Manager home page. A detailed page for your token displays, showing both configured and unconfigured networks.
2. To access the **Settings** page, select the gear icon next to your token's name:

   (Image: Image)

### Verifying your token

You can request token verification through the Token Manager; when verification is granted, it allows the token to be listed on the CCIP Directory and ensures information is consistent across other CCIP apps, like CCIP Explorer.

> **CAUTION**
>
> CCIP allows users to register and manage tokens in a permissionless manner. A 'Verified' status of a token indicates
> only that the Token Creator has signed transactions evidencing their ownership. Users should conduct their own
> research before engaging with any tokens.

If your token is unverified, an **Unverified** badge displays underneath the token's name at the top of the page. Be sure that all information is correct before your submission, as it requires a manual review process. If you need to make any further changes after submitting your request, you must use the [CCIP Contact Form](https://chain.link/ccip-contact?v=Token%20Manager%20support).

You can send a request for verification from the **Settings** page:

(Image: Image)

1. The *Token Details* tab allows you to modify your token's name and ticker symbol with an off-chain transaction. You can also specify an avatar for your token. If you have made any changes in this tab, click **Save Changes**.
2. The *Project Details* tab prompts you to fill in your project's name and URL, and a contact email address. This information is kept private. It's optional to fill out, but required if you're requesting token verification.
3. The *Verification* tab has a **Verify my token** button that submits a verification request with the information you provided in the previous two tabs.

When your verification request is granted, the Token Manager will display a **Verified** badge on the token page.

> **CAUTION: Educational Example Disclaimer**
>
> This page includes an educational example to use a Chainlink system, product, or service and is provided to
> demonstrate how to interact with Chainlink's systems, products, and services to integrate them into your own. This
> template is provided "AS IS" and "AS AVAILABLE" without warranties of any kind, it has not been audited, and it may be
> missing key checks or error handling to make the usage of the system, product or service more clear. Do not use the
> code in this example in a production environment without completing your own audits and application of best practices.
> Neither Chainlink Labs, the Chainlink Foundation, nor Chainlink node operators are responsible for unintended outputs
> that are generated due to errors in code.