Overview
Starknet CCTP contracts are written in Cairo and run on a non-EVM zk-rollup. Transactions executed on Starknet are batched and proven using STARK proofs, which are then posted to Ethereum L1. This design allows Starknet to inherit Ethereum’s security while offering higher throughput and lower fees. To align with Starknet’s architecture while keeping parity with EVM chains, CCTP uses two contracts:TokenMessengerMinterV2: consolidates the responsibilities ofTokenMessengerV2(burn + send) andTokenMinterV2(receive + mint).MessageTransmitterV2: provides the messaging layer that emits or receives attested messages and delivers them toTokenMessengerMinterV2.
Mainnet contract addresses
Testnet contract addresses
CCTP interface
TokenMessengerMinterV2: initiates crosschain burns and mints tokens upon attested message receipt.MessageTransmitterV2: emits messages, verifies attestations, and routes verified messages to the recipient contract.
TokenMessengerMinterV2 interface
TheTokenMessengerMinterV2 contract consolidates the roles of both
TokenMessengerV2 and TokenMinterV2 found on EVM chains. It handles USDC
burns, message emission, and token minting once crosschain messages are attested
by Circle’s Iris service.
MessageTransmitterV2 interface
TheMessageTransmitterV2 contract provides the core messaging layer for CCTP
on Starknet. It is responsible for emitting, receiving, and validating
crosschain messages, enforcing attestation rules, and ensuring message
uniqueness.