Chainlink CCIP
Move tokens and messages between Network 1 and CCIP-connected chains, with Cross-Chain Token pools, per-lane rate limits and fees in TNZO.
Chainlink CCIP (Cross-Chain Interoperability Protocol) connects Tenzro Network 1 to the chains CCIP serves. It is one of the protocols behind the bridge router. CCIP is a good fit when a transfer needs conservative limits: every token pool enforces rate limits per lane, and each inbound message passes two independent checks. This suits organisations in regulated industries, and you can pin a transfer to CCIP so the router never falls back to another protocol.
Verification
Every inbound CCIP message passes two layers before Tenzro acts on it:
- Commit store. A committee commits Merkle roots of source-chain messages; the message must be in a committed root.
- Risk management network. A separate set of nodes independently checks the commits and can block them.
A message that fails either check is rejected, and message ids are recorded so a message cannot be executed twice. Outbound, messages leave Tenzro only from finalised blocks, backed by portable finality certificates.
Messaging
Send an arbitrary payload to a receiver contract through the CCIP Router. The node quotes fees and builds ccipSend envelopes for any CCIP-connected chain, so an application or agent on Tenzro can drive CCIP on the chains where it operates as well as to and from Tenzro.
# Quote the fee (Router.getFee)
tenzro ccip get-fee \
--source-chain ethereum --dest-chain base \
--receiver 0xRECEIVER --data-hex 0x68656c6c6f \
--rpc https://rpc.tenzro.xyz
# Build the Router.ccipSend envelope (calldata and value)
tenzro ccip send \
--source-chain ethereum --dest-chain base \
--receiver 0xRECEIVER --data-hex 0x68656c6c6f \
--gas-limit 200000 \
--rpc https://rpc.tenzro.xyz
# Track execution on the destination
tenzro ccip track \
--message-id <MESSAGE_ID> --dest-chain base --offramp-address 0xOFFRAMP \
--rpc https://rpc.tenzro.xyzDiscover what is connected with tenzro ccip supported-chains, tenzro ccip supported-tokens and tenzro ccip lanes.
Token transfers
Bridge through CCIP only, with no fallback to another protocol:
tenzro ccip bridge \
--source-chain tenzro --dest-chain ethereum \
--asset TNZO --amount 1000000000000000000 \
--sender 0xYOUR_ADDRESS --recipient 0xRECIPIENT \
--rpc https://rpc.tenzro.xyzAmounts are in the token's smallest unit. The JSON-RPC method is tenzro_ccipBridge, an owner method that must be signed by the paying account. To let the router pick CCIP among other options instead, use tenzro bridge execute --protocol ccip.
Cross-Chain Tokens (CCT)
CCT is the CCIP standard for tokens that move natively between chains, without a wrapped copy held in a vault. Each token has a pool on each chain, of one of two types:
| Pool type | Source chain | Destination chain |
|---|---|---|
| BurnMint | Tokens are burned | Tokens are minted |
| LockRelease | Tokens are locked in the pool | Tokens are released from the pool |
TNZO supports ERC-7802 crosschainMint and crosschainBurn hooks and works with both pool types. With BurnMint pools, TNZO's fixed supply of 1,000,000,000 is preserved across chains, and every mint and burn is recorded in Tenzro's cross-network supply registry; see Bridges.
Inspect pools:
tenzro cct list-pools --rpc https://rpc.tenzro.xyz
tenzro cct get-pool --chain ethereum --rpc https://rpc.tenzro.xyz
tenzro ccip token-pool --chain ethereum --pool-address 0xPOOL --rpc https://rpc.tenzro.xyztenzro_cctBuildMessage builds the pool-aware CCIP message for a token transfer.
Rate limits
Every pool enforces token-bucket rate limits for each remote chain, inbound and outbound. A transfer larger than the remaining capacity is refused by the pool. Read the live state before sending large amounts:
tenzro ccip rate-limits \
--chain ethereum --pool-address 0xPOOL --remote-chain tenzro \
--rpc https://rpc.tenzro.xyzCheck remaining capacity before a large transfer, and split it if it would exceed the limit.
Fees in TNZO
CCIP fees can be paid in a fee token rather than the source chain's native gas token. On Tenzro, quote the destination-native fee in TNZO and let the node cover destination gas from the CCIP sponsorship pool:
tenzro bridge-fee quote --adapter ccip --dest-chain eip155:1 --native-fee 1000000000000000 \
--rpc https://rpc.tenzro.xyzThe TNZO rate comes from price feeds where configured and a governance-set rate otherwise. Read the prices with tenzro_getPrice.
Methods
| Method | Access |
|---|---|
tenzro_ccipGetFee, tenzro_ccipSend (builds an envelope, does not send), tenzro_ccipTrack | open |
tenzro_ccipSupportedChains, tenzro_ccipSupportedTokens, tenzro_ccipLanes | open |
tenzro_ccipTokenPool, tenzro_ccipRateLimits, tenzro_cctListPools, tenzro_cctGetPool, tenzro_cctBuildMessage | open |
tenzro_ccipBridge | owner |