Skip to main content
CCTP on Sui is implemented across four Move packages: MessageTransmitterV2, TokenMessengerMinterV2, StablecoinHandler, and CctpExtensions. The Sui CCTP implementation uses Programmable Transaction Blocks (PTBs) to compose the required function calls atomically in a single transaction. For working end-to-end examples, see Transfer USDC between Sui and Arc.

Package addresses

Package IDs identify deployed Move packages. Use them in function call targets (for example, {packageId}::module::function). State object IDs identify onchain shared objects, such as configuration or shared state, and are passed as arguments when a transaction interacts with protocol state.

Testnet

Package IDs

State object IDs

Mainnet

Package IDs

State object IDs

CctpExtensions has no state object ID on either network. Callers of CctpExtensions do not need to pass a state object argument.
The Sui CCTP source code is available on GitHub.