Issuing new assets with 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 explains how to issue new assets with the SuperchainERC20
and bridge them effectively using the SuperchainERC20Bridge
. If you want more information about the SuperchainERC20 standard
, see our SuperchainERC20
standard explainer
Note that bridging assets through the Superchain using SuperchainERC20
never affects the total supply of your asset. The supply remains fixed, and bridging only changes the chain on which your asset is located. This keeps the token's total amount the same across all networks, ensuring its value stays stable during the move and that the SuperchainERC20
retains a unified, global supply count.
Steps to issue and bridge assets
Deploy the SuperchainERC20
Token Contract
To ensure fungibility across chains, the SuperchainERC20 assets need to have the same contract address on all chains. Achieving this requires deterministic deployment methods, such as:
Create2Deployer
: A smart contract that enables deploying contracts with predictable addresses.OptimismSuperchainERC20Factory
: A factory contract designed for L1-native tokens to ensure uniform deployments across chains.
There are many ways to do this (opens in a new tab), but here's an example smart contract to start (opens in a new tab). For an in-depth guide on how to deploy a SuperchainERC20
use the SuperchainERC20 Starter Kit (opens in a new tab).
By deploying assets at identical addresses across multiple chains, we abstract away the complexity of cross-chain validation.
Implement the IERC7802 interface
Implementations of SuperchainERC20
will be required to implement the IERC7802 (opens in a new tab) interface, that includes two external functions and two events.
The interface defines two functions for bridging:
sendERC20
: Initializes a cross-chain transfer of aSuperchainERC20
by burning the tokens locally and sending a message to theSuperchainERC20Bridge
on the target chain using theL2toL2CrossDomainMessenger
. This ensures that asset supply remains constant, as sending an asset moves it from one chain to another without creating additional supply.relayERC20
: Processes incoming messages from the L2toL2CrossDomainMessenger and mints the corresponding amount of the SuperchainERC20.
Here's an example implementation of the SuperchainERC20Bridge
(opens in a new tab)
Next steps
- Use the SuperchainERC20 Starter Kit (opens in a new tab) to deploy your token across the Superchain
- Explore the SuperchainERC20 specifications (opens in a new tab) for in-depth implementation details.
- Review the Superchain Interop Explainer for answers to common questions about interoperability.