The SuperchainERC20 standard is ready for production deployments.
However, the OP Stack interoperability upgrade, required for crosschain messaging, is currently still in active development.
Overview
This guide explains how to issue new assets with theSuperchainERC20
contract.
Those assets can then be bridged quickly and safely using the SuperchainTokenBridge
contract (once interop is operational).
For more information on how it works, see the explainer.
Note that bridging assets through the Superchain using SuperchainTokenBridge
never affects the total supply of your asset.
The supply remains fixed, bridging only changes the chain on which the asset is located.
The token’s total amount across all networks always remains the same, ensuring value stability.
To ensure fungibility across chains, SuperchainERC20
assets must have the same contract address on all chains.
This requirement abstracts away the complexity of cross-chain validation.
Achieving this requires deterministic deployment methods. There are multiple ways to do this.
Here we will use the SuperchainERC20 Starter Kit.
What you’ll do
- Use the SuperchainERC20 Starter Kit to deploy an
SuperchainERC20
token on the devnet.
Step by step explanation
1
Install the prerequisites and the SuperchainERC20 Starter Kit
Follow the setup steps in the SuperchainERC20 Starter Kit.
2
Prepare for deployment
The Starter Kit already deploys a
SuperchainERC20
token to Supersim.
Here are the required changes to deploy it to the Interop devnet.-
Edit
packages/contracts/foundry.toml
to add the RPC endpoints for the devnet (add the bottom two rows).You can import most RPC endpoints with this command, but it does not include the Interop devnet. -
Edit
packages/contracts/configs/deploy-config.toml
for the deployment settings.-
Set these parameters in the
[deploy-config]
section:
(1) These names must correspond to the chain names in theParameter Meaning Example salt A unique identifier Carthage chains The chains to deploy the contract1 [“devnet0”,“devnet1”] [rpc-endpoints]
section offoundry.toml
you updated in the previous step. -
Set these parameters in the
[token]
section:
(1) This should be an address you control (for which you know the private key), which has some ETH on the devnets. See here to add ETH to the devnets.Parameter Meaning Example owner_address Owner of the token Your address1 name Token name Quick Transfer Token symbol Token symbol QTT decimals Number of decimal places 18
packages/contracts/configs/deploy-config.toml
file you can use, as long as you updateowner_address
. -
Set these parameters in the
-
Set the private key.
Edit
packages/contracts/.env
to setDEPLOYER_PRIVATE_KEY
to the private key of an account that has ETH on both devnet blockchains.
3
Deploy the contracts
Run the deployment script.
Next steps
- Learn how to transfer tokens between chains inside the Superchain.
- Use the SuperchainERC20 Starter Kit to deploy your token across the Superchain.
- Explore the SuperchainERC20 specifications for in-depth implementation details.
- Review the Superchain Interop Explainer for answers to common questions about interoperability.