Skip to main content
Connect Bridge Kit to move native USDC from CCTP-supported chains to Plasma, or from Plasma to another supported chain. Circle’s Cross-Chain Transfer Protocol (CCTP) enables native USDC transfers across blockchains through a secure burn-and-mint mechanism, without wrapped assets or liquidity pools. With Bridge Kit, you can integrate CCTP-powered transfers into Plasma applications with a lightweight SDK that abstracts contract interactions, attestations, and the full transfer flow into a few lines of code.

Supported Networks

Bridge Kit supports bridging between Plasma and other CCTP v2 chains.

Prerequisites

Before you begin, you must have:
  • Node.js 20+
  • A funded wallet with:
    • Native USDC on the source chain (use the Circle Faucet for testnet)
    • Gas on the source chain (for example, ETH on Ethereum Sepolia)
    • XPL on Plasma for destination gas when your wallet signs the mint step (get testnet XPL)
  • Plasma added to your wallet. See Browser Wallet Setup.

Get Started

1

Install Bridge Kit

Install Bridge Kit and the Viem adapter for EVM chains, including Plasma:
2

Create an adapter

Create one Viem adapter from a private key. The same adapter works across EVM chains, including Plasma:
For browser wallets such as MetaMask, Rabby, or Trust Wallet, use createViemAdapterFromProvider with your EIP-1193 provider instead of a private key. See the Bridge Kit documentation.
Bridging to or from Solana? Install @circle-fin/adapter-solana-kit and create a Solana adapter for that side of the transfer. Keep the Viem adapter for Plasma and other EVM chains. Pass both adapters into kit.bridge(), for example from: { adapter: solanaAdapter, chain: "Solana" } and to: { adapter, chain: "Plasma" }.
3

Bridge USDC to Plasma

Estimate fees, then bridge. This example moves 1 USDC from Ethereum Sepolia to Plasma Testnet:
For mainnet, swap the chain identifiers:
4

Monitor the transfer

Subscribe to lifecycle events to track approval, burn, attestation, and mint:
After kit.bridge() resolves, inspect result.steps for transaction hashes and explorer URLs for each completed step.
5

Verify on Plasma

  1. Open the mint step’s explorerUrl, or search the destination transaction hash on Plasma Explorer or Plasma Testnet Explorer.
  2. Confirm native USDC arrived at your wallet on Plasma.
  3. Confirm result.state is success.

Bridge from Plasma

The same kit call works in reverse. Burn USDC on Plasma and mint it on another CCTP chain:

Troubleshooting

Route Not Supported

Confirm both chains are available in Bridge Kit and that you are using the correct chain identifiers (Plasma, Plasma_Testnet). Check supported chains and domains.

Insufficient Balance or Gas

  • The source chain needs enough native USDC for the transfer amount, plus any Fast Transfer fee.
  • The source chain needs native gas, such as ETH, for the approval and burn transactions.
  • The destination Plasma wallet needs XPL when your adapter signs the mint transaction.

Transaction Stuck or Failed

  • Confirm RPC connectivity for both chains. Prefer a private Plasma RPC from an RPC provider in production.
  • Inspect result.steps to see which stage failed. Resume actionable failures with kit.retry(result, { from: adapter, to: adapter }).
  • Check network status on the Plasma status page.