When building decentralized applications that leverage cross-chain communication, thorough testing is essential before deploying on mainnet. Chainlink's Cross-Chain Interoperability Protocol (CCIP) provides a secure and reliable framework for transferring tokens and messages across blockchains. To streamline the development and testing process, Chainlink supports two permissionless test tokens that developers can mint freely on supported testnets.
These tokens allow you to simulate real-world cross-chain scenarios without worrying about token scarcity or liquidity constraints in test environments. Whether you're testing burn-and-mint mechanisms or lock-and-mint workflows, having consistent access to test assets ensures smoother development cycles.
Available Test Tokens on CCIP Testnets
Chainlink currently offers two ERC20-compliant test tokens across all CCIP-enabled testnets. These tokens are designed to reflect different cross-chain transfer models used in production-grade interoperability solutions.
You can find the latest token addresses and network configurations in the official CCIP Directory. Below is an overview of each token type:
CCIP-BnM (Burn & Mint)
- Decimals: 18
- Behavior: This token is natively minted on every supported testnet. During a cross-chain transfer, CCIP burns the tokens on the source chain and mints an equivalent amount on the destination chain.
- Use Case: Ideal for simulating fully decentralized asset transfers where supply is rebalanced dynamically across chains.
CCIP-LnM (Lock & Mint)
- Decimals: 18
- Behavior: These tokens are only originally minted on Ethereum Sepolia. When transferred to other testnets, the original tokens are locked, and a wrapped version (
clCCIP-LnM) is minted on the receiving chain. Transfers between non-Sepolia chains involve burning and minting of the wrapped representation. - Use Case: Best suited for testing bridge architectures where a central chain anchors the underlying asset supply.
How to Mint Test Tokens Using Smart Contracts
Both test tokens can be minted using a simple drip function embedded in their respective smart contracts. This function acts as a developer-friendly faucet, dispensing exactly 1 full token (10¹⁸ units) per transaction to any specified Ethereum address.
Here’s how it works:
function drip(address to) external {
_mint(to, 1e18);
}Key Differences in Minting Access
- CCIP-BnM: The
dripfunction is available on all testnets, allowing developers to mint tokens regardless of the blockchain they're working on. - CCIP-LnM: The
dripfunction is restricted to Ethereum Sepolia only, reflecting its role as the primary issuance chain for this token.
This design mirrors real-world token bridging logic, where certain chains serve as canonical sources for specific assets.
Step-by-Step Guide: Minting Tokens via Block Explorer
If you prefer not to use third-party interfaces, you can directly interact with the token contracts through a block explorer like Etherscan. Here’s how to mint CCIP-BnM on Ethereum Sepolia:
- Navigate to the CCIP Directory – Testnet.
- Select the Ethereum Sepolia section to view active CCIP lanes originating from this network.
- Locate the CCIP-BnM token in the supported list and click its contract address.
- Open the contract page (e.g., CCIP-BnM on Sepolia Etherscan).
- Go to the Contract tab, then select Write Contract.
- Click Connect to Web3 and authenticate using your MetaMask wallet.
- Scroll down to the
drip(address to)function. - Enter your wallet address (EOA) into the input field.
- Click Write and confirm the transaction in MetaMask.
- Wait for confirmation—once complete, 1 CCIP-BnM will be credited to your wallet.
After minting, you may need to manually add the token to your wallet interface. Follow MetaMask’s official guide to import custom tokens using the contract address.
Frequently Asked Questions (FAQ)
Can I mint more than one test token at a time?
No, the drip function is limited to dispensing exactly 1 full token (10¹⁸ units) per transaction. However, you can call the function multiple times if you need additional tokens for testing.
Why can’t I mint CCIP-LnM on networks other than Ethereum Sepolia?
Because CCIP-LnM follows a lock-and-mint model, Ethereum Sepolia serves as the canonical chain where the original tokens exist. All other chains receive a wrapped version (clCCIP-LnM) when transferring in, ensuring supply consistency and preventing inflation.
Are these test tokens transferable between all CCIP-supported testnets?
Yes, both CCIP-BnM and CCIP-LnM can be transferred across all testnets listed in the CCIP Directory, provided there is an active lane between the source and destination chains.
What happens if I run out of gas while trying to mint?
If your transaction fails due to insufficient gas, no tokens will be minted. Ensure your wallet has enough ETH (or native gas token) on the target testnet before initiating the drip call.
Is there a limit on how many times I can call the drip function?
There is no rate-limiting or account-based restriction on calling drip. You can invoke it as many times as needed for development and testing purposes.
How do I verify that my token transfer worked across chains?
After initiating a transfer via CCIP, check the destination chain’s block explorer for incoming transactions. You should see the corresponding clCCIP-LnM or native CCIP-BnM balance update upon successful completion.
Best Practices for Testing with CCIP Tokens
To get the most out of your testing experience:
- Always start by verifying which networks support the token types you intend to use.
- Use consistent wallet addresses across chains to track token movements easily.
- Monitor lane statuses in the CCIP Directory—some routes may be temporarily paused or under maintenance.
- Combine token testing with message passing simulations to evaluate full CCIP capabilities.
By leveraging these freely mintable test tokens, developers gain frictionless access to realistic cross-chain environments—accelerating innovation while maintaining security and accuracy.
Core Keywords: Chainlink CCIP, test tokens, mint tokens, cross-chain transfer, CCIP-BnM, CCIP-LnM, Ethereum Sepolia, blockchain testing