The SuperchainERC20 standard is ready for production deployments.
Please note that the OP Stack interoperability upgrade, required for crosschain messaging, is currently still in active development.
SuperchainERC20s can be deployed on any chain, but will only be interoperable within the OP Stack interop cluster.
This tutorial provides a behind the scenes explanation of how
SuperchainERC20 tokens are transferred.- See the How it works section below for how your application can transfer
SuperchainERC20tokens. - For a sample UI that bridges a
SuperchainERC20token, see here.
SuperchainERC20 contract implements ERC-7802 to enable asset interoperability across OP Stack chains with interop enabled.
Asset interoperability allows tokens to move securely across OP Stack chains with interop enabled by burning tokens on the source chain and minting an equivalent amount on the destination chain. This approach addresses issues such as liquidity fragmentation and poor user experiences caused by asset wrapping or reliance on liquidity pools.
Instead of wrapping assets, this mechanism effectively “teleports” tokens between OP Stack chains. It provides users with a secure and capital-efficient method for transacting across chains.
Additional features:
- Simplified deployments: Zero infrastructure cost to make your token cross-chain. Provides a consistent, unified implementation for tokens across all OP Stack chains with interop enabled and a common cross-chain interface for the EVM ecosystem at large.
- Common standard: Implements ERC-7802, a unified interface that can be used across all of Ethereum to enable cross-chain mint/burn functionality.
How it works
SuperchainERC20 and SuperchainTokenBridge work together to allow ERC-20 tokens to be transferred from one chain to the other.
The initiating message burns tokens on the source chain.
The executing message then mints them on the destination chain.
Initiating message (source chain)
-
The user (or a contract) calls
SuperchainTokenBridge.sendERC20. -
The token bridge calls
SuperchainERC20.crosschainBurnto burn those tokens on the source chain. -
The source token bridge calls
SuperchainTokenBridge.relayERC20on the destination token bridge. This call is relayed usingL2ToL2CrossDomainMessenger. The call is initiated here, by emitting an initiating message. It will be executed later, after the destination chain receives an executing message toL2ToL2CrossDomainMessenger.
Executing message (destination chain)
-
The autorelayer (or the user, or any offchain entity) sends an executing message to
L2ToL2CrossDomainMessengerto relay the message. -
The destination token bridge calls
SuperchainERC20.crosschainMintto mint tokens for the user/contract that calledSuperchainTokenBridge.sendERC20originally.
Requirements
Application developers must complete two steps to make their tokens compatible withSuperchainERC20.
Setting this up in advance ensures tokens will benefit from interop when it becomes available.
-
Your contract must implement
crosschainMintandcrosschainBurn, and allow theSuperchainTokenBridge(address 0x4200000000000000000000000000000000000028) to call them. No additional permissioning or role setup is required. If you are usingSuperchainERC20this is already done for you. -
Deploy the
SuperchainERC20at the same address on every OP Stack chain where you want your token to be available. If you do not deploy the contract to a specific destination chain, users will be unable to successfully move their tokens to that chain.
To ensure security, you must either design the deployer to allow only a specific trusted ERC-20 contract, such as
SuperchainERC20, to be deployed through it, or call CREATE2 to deploy the contract directly from an EOA you control.This precaution is critical because if an unauthorized ERC-20 contract is deployed at the same address on any OP Stack chain, it could allow malicious actors to mint unlimited tokens and bridge them to the network where the original ERC-20 contract resides.Next steps
- Learn about SuperchainERC20 and how to deploy it on OP Stack chains.
- Learn about other token standards that can benefit from OP Stack interop.