Tutorial — Bridges
Transfer with Chainlink CCT
Chainlink CCT (Cross-Chain Token) v1.6+ uses LockRelease and BurnMint pools to move tokens between chains under CCIP delivery. Tenzro lists pool metadata so you can pick the right route.
- Level
- Intermediate
- Time
- ~20 min
- Prerequisites
- Token enabled for CCT
- Stack
- TypeScript · MCP
01
List the available pools
Browse pools registered for your token on each supported chain.
const pools = await cl.call("ccip_get_token_pool", {
token: "0xABC...", chain: "ethereum"
});02
Inspect rate limits
Each lane has a rate limiter. Confirm your transfer fits inside the per-lane bucket.
const limits = await cl.call("ccip_get_rate_limits", {
src_chain: "ethereum", dst_chain: "arbitrum",
});03
Send the CCT transfer
CCT moves under the standard ccipSend path with the token-amount array populated.
const transfer = await cl.call("ccip_send_message", {
src_chain: "ethereum", dst_chain: "arbitrum",
receiver: "0xabc...",
token_amounts: [{ token: "0xABC...", amount: "1000000" }],
});04
Watch the destination pool
The destination pool mints or releases tokens once the OffRamp finalizes.
await cl.call("ccip_track_message", { messageId: transfer.id });Related