How to transfer a SuperchainERC20
Interop is currently in active development and not yet ready for production use. The information provided here may change. Check back regularly for the most up-to-date information.
This guide provides an overview of transferring SuperchainERC20
tokens between chains.
Overview
Transferring SuperchainERC20 tokens between chains involves two main phases:
- Source Chain Operations
- Mint tokens if needed
- Initiate the transfer using the bridge
- Destination Chain Operations
- Relay the transfer message
- Verify the transfer completion
Always verify your addresses and amounts before sending transactions. Cross-chain transfers cannot be reversed.
How it works
This diagram illustrates the process of a SuperchainERC20 token transfer between chains.
Through the L2ToL2CrossDomainMessenger
contract, tokens are burned on the source chain and a transfer message is emitted.
This message must then be relayed to the destination chain, where an equivalent amount of tokens will be minted to the specified recipient address - ensuring secure cross-chain transfers while maintaining the total token supply across all chains.
Step 1: Prepare your tokens
Ensure you have tokens on the source chain using one of these methods:
- Use existing tokens you already own
- Mint new tokens using the SuperchainERC20 (opens in a new tab) contract if you have minting permissions
- Acquire tokens through a supported exchange or transfer
Step 2: Initiate the transfer
To start the transfer:
- Choose the destination chain where you want to receive the tokens
- Specify the recipient address and the amount to transfer
- Call the bridge contract, which will:
- Lock or burn your tokens on the source chain
- Emit a message that will be used to mint tokens on the destination chain
Step 3: Complete the transfer
To finalize the transfer on the destination chain:
- Get the message details from the source chain event
- Use the
L2ToL2CrossDomainMessenger
contract to relay the message - The message relay will trigger the minting of tokens on the destination chain
The transfer isn't complete until the message is successfully relayed on the destination chain. See the technical reference guide (opens in a new tab) for specific relay instructions.
Step 4: Verify completion
After relaying the message:
- Check your token balance on the destination chain
- Confirm the transferred amount matches what you sent
- The tokens should now be available for use on the destination chain
For detailed technical instructions including contract addresses, specific commands, and message relaying details, refer to our technical reference guide (opens in a new tab).
Alternative methods
You can also use:
- viem bindings/actions (opens in a new tab) for TypeScript integration
Next steps
- Read the Superchain Interop Explainer or check out this Superchain interop design video walk-thru (opens in a new tab)
- Use Supersim, a local dev environment that simulates Superchain interop for testing applications against a local version of the Superchain