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)
XPLon 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:
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
- Open the mint step’s
explorerUrl, or search the destination transaction hash on Plasma Explorer or Plasma Testnet Explorer. - Confirm native USDC arrived at your wallet on Plasma.
- Confirm
result.stateissuccess.
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
XPLwhen 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.stepsto see which stage failed. Resume actionable failures withkit.retry(result, { from: adapter, to: adapter }). - Check network status on the Plasma status page.