Skip to content
This repository was archived by the owner on Apr 6, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions pages/stack/interop.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ Documentation covering Cross Chain Message, Explainer, Message Passing, Op Super

<Card title="Interop message passing overview" href="/stack/interop/message-passing" icon={<img src="/img/icons/shapes.svg" />} />

<Card title="Make your token Superchain interop compatible" href="/stack/interop/token-compatible" icon={<img src="/img/icons/shapes.svg" />} />

<Card title="OP Supervisor" href="/stack/interop/op-supervisor" icon={<img src="/img/icons/shapes.svg" />} />

<Card title="Supersim multichain development environment" href="/stack/interop/tools/supersim" icon={<img src="/img/icons/shapes.svg" />} />
Expand Down
1 change: 1 addition & 0 deletions pages/stack/interop/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"explainer": "Superchain interop explainer",
"predeploy": "Superchain interop predeploys",
"message-passing": "Superchain interop message passing",
"token-compatible": "Superchain interop compatible token",
"op-supervisor": "OP Supervisor",
"superchain-weth": "Interoperable ETH",
"superchain-erc20": "SuperchainERC20",
Expand Down
107 changes: 107 additions & 0 deletions pages/stack/interop/token-compatible.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
title: Superchain interop compatible tokens
lang: en-US
description: Learn how different tokens can use Superchain interop and benefit from secure, low-latency, cross-chain composability.
---
Comment thread
krofax marked this conversation as resolved.
Comment thread
krofax marked this conversation as resolved.
Comment thread
krofax marked this conversation as resolved.
Comment thread
krofax marked this conversation as resolved.

import { Callout } from 'nextra/components'
import { InteropCallout } from '@/components/WipCallout'

<InteropCallout />

# Superchain interop compatible tokens

Superchain interop enables **trust-minimized, 1-block latency cross-chain composability** on the [Superchain interop cluster](/stack/interop/explainer#superchain-interop-cluster).
The recommended approach for giving tokens Superchain interop capabilities is using [SuperchainERC20](/stack/interop/superchain-erc20), but there are other options depending on your needs.

## How to enable cross-chain token interoperability

Compared to traditional ERC-20 tokens deployments on a single blockchain, cross-chain tokens can move between different blockchains through giving `crosschainMint` and `crosschainBurn` permissions to a verification mechanism (such as a bridge protocol) that validates when tokens should be burned on one chain and minted on another.

For example when transferring a `SuperchainERC20` between chains in the Superchain interop cluster, the Superchain interop protocol ensures the tokens are burned on the source chain before authorizing the corresponding mint on the destination chain.

When enabling cross-chain functionality for your token, it is essential to evaluate the security, cost, and latency of the respective verification mechanism.


## Why use Superchain interop to enable cross-chain token interoperability

Apps built with Superchain interop can essentially teleport tokens from one blockchain to another, providing users with a secure, low-latency, and capitally-efficient way to transact on the Superchain.

* **Security:** Fault Proofs secure Superchain interop end to end.
* **Latency:** 1-block latency ensures fast cross-chain token transfers.
* **Cost:** Transfers happen at a 1:1 rate with no need for token wrapping or liquidity pools—just pay for gas.
* **[Reorg awareness](./reorg):** Enables 1-block latency cross-chain composability that mitigates the double-spend problem.

## SuperchainERC20

`SuperchainERC20` is a simple and trust-minimized way to enable token interoperability within the Superchain. You can learn more about `SuperchainERC20` [here](/stack/interop/superchain-erc20).

* **Security:** Fault Proofs secure Superchain interop end to end. No third-party dependencies to enable token interoperability.
* **Latency:** 1-block latency within the Superchain interop cluster.
* **Cost:** Gas on source chain and destination chain.
* **Cross-chain address:** Deterministic, no token registry required.
* **Supported ecosystem:** Superchain interop cluster.


## Considerations when using other token implementations

While the `SuperchainERC20` is a trust-minimized way to enable for giving your token Superchain interop capabilities, other token implementations can also benefit from Superchain interop. If you choose a token standard other than SuperchainERC20 here are a few things to consider:

#### ERC-7802
[`ERC-7802`](https://ethereum-magicians.org/t/erc-7802-crosschain-token-interface/21508) is a minimal cross-chain mint/burn interface designed to establish a common standard across the EVM ecosystem for tokens to communicate cross-chain. Adding this interface to your token ensures downstream integrators can easily support your token.

#### SuperchainTokenBridge and L2ToL2CrossDomainMessenger
Tokens can benefit from Superchain interop by either giving cross-chain mint/burn permissions to the `SuperchainTokenBridge` or the `L2ToL2CrossDomainMessenger`.

The [`SuperchainTokenBridge`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/SuperchainTokenBridge.sol) is an abstraction built on top of the [`L2ToL2CrossDomainMessenger`](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/L2ToL2CrossDomainMessenger.sol) that facilitates token bridging using Superchain interop, but requires the token address be deterministic across chains.

Alternatively, you can build a custom bridge using the `L2ToL2CrossDomainMessenger` to faclitate cross-chain mint/burns that **does not** require a deterministic address across chains but does require the token issuer to manage a token registry per chain.
Comment thread
krofax marked this conversation as resolved.
Outdated

#### Weakest link scenario

If you allowlist both Superchain interop and a third-party verification mechanism, your token's security is only as strong as the weakest verification mechanism.

## Alternative token implementations

### xERC20 (ERC-7281)

xERC20 tokens are crosschain ERC-20 which can be transferred across chains by allowing the token owner to approve which bridges can mint/burn their token and the ability to set rate limits per bridge. You can learn more about xERC20 and Superchain interop [here](https://github.com/ethereum-optimism/design-docs/pull/203).

* **Security:** Variable due to weakest-link scenario based on allowlisted verification mechanisms.
* **Latency:** 1-block latency in the Superchain. Outside the Superchain, latency is variable based on allowlisted verification mechanism.
* **Cost:** Variable based on allowlisted verification mechanisms.
* **Cross-chain address:** Deterministic or requires cross-chain registry per deployment.
* **Supported ecosystem:** EVM

### OFT

OFT is a token standard used to send, receive, and compose tokens across chains LayerZero supports. More information will be added about how OFTs can benefit from Superchain interop at a later date.

* **Security:** Variable due to weakest-link scenario based on allowlisted verification mechanisms.
* **Latency:** 1-block latency within the Superchain. Outside the Superchain, latency is variable based on allowlisted verification (DVN) mechanism.
* **Cost:** Variable based on allowlisted verification mechanisms.
* **Cross-chain address:** Requires cross-chain registry per deployment.
* **Supported ecosystem:** EVM, Solana, MoveVM

### NTT

NTT is a token standard used to send, receive, and compose tokens chains Wormhole supports. More information will be added about how NTTs can benefit from Superchain interop at a later date.

* **Security:** Variable due to weakest-link scenario based on allowlisted verification mechanisms.
* **Latency:** 1-block latency within the Superchain. Outside the Superchain, latency is variable based on allowlisted verification (transceiver) mechanism.
* **Cost:** Variable based on allowlisted verification mechanisms.
* **Cross-chain address:** Requires cross-chain registry per deployment.
* **Supported ecosystem:** EVM, Solana, MoveVM


## Key takeaways

* `SuperchainERC20` is a simple and trust-minimized way for token issuers to make their token available across the Superchain interop cluster.
* Token issuers can use other token standards (xERC20, OFT, NTT) and give `crosschainMint` and `crosschainBurn` permissions to the `SuperchainTokenBridge` or `L2ToL2CrossDomainMessenger` to benefit from Superchain interop.
* Token issuers should include a `ERC-7802` interface on their token to simplify downstream integrations.

## Next steps

* Build a [revolutionary app](/app-developers/get-started) that uses multiple blockchains within the Superchain
* Deploy a [SuperchainERC20](/stack/interop/tutorials/deploy-superchain-erc20) to the Superchain
* [Learn more about SuperchainERC20](/stack/interop/superchain-erc20)
7 changes: 1 addition & 6 deletions words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ ADDIU
ADDU
airgap
Allnodes
Allocs
allocs
Alphanet
alphanet
Expand All @@ -20,6 +19,7 @@ Ankr
Apeworx
Arweave
authrpc
Autorelay
autorelay
autorelayer
basefee
Expand Down Expand Up @@ -168,14 +168,12 @@ IERC
IGNOREPRICE
ignoreprice
Immunefi
implicitly
Inator
inator
INFLUXDBV
influxdbv
initcode
interopble
invokable
IPCDISABLE
ipcdisable
ipcfile
Expand Down Expand Up @@ -360,7 +358,6 @@ seqnr
SEQUENCERHTTP
sequencerhttp
serv
settions
signup
SLLV
SLTI
Expand Down Expand Up @@ -401,7 +398,6 @@ synctarget
syscalls
thirdweb
threadcreate
tility
timeseries
triggerable
trustlessly
Expand Down Expand Up @@ -436,7 +432,6 @@ VMODULE
vmodule
xlarge
XORI
xtensibility
ZKPs
ZKVM
Zora
Expand Down