This repository was archived by the owner on Apr 6, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 334
Superchain Interop-Compatible Tokens #1419
Merged
Merged
Changes from 8 commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
254276f
Initial commit
krofax caed322
updated title
krofax fcc8911
Improved docs
krofax 5770840
updated the docs
krofax 92503d9
remove bold syntax
krofax cebb17b
updated header
krofax 09fcf17
Update token-compatible.mdx
zainbacchus 7632bf6
Update token-compatible.mdx
zainbacchus 54eea11
Update token-compatible.mdx
zainbacchus 4ba2bd7
Update token-compatible.mdx
zainbacchus e2da225
Update token-compatible.mdx
zainbacchus 03cefee
Update token-compatible.mdx
zainbacchus fbe1548
Update token-compatible.mdx
zainbacchus 24afc8c
Update token-compatible.mdx
zainbacchus 5a32025
Update token-compatible.mdx
zainbacchus d937309
Update token-compatible.mdx
zainbacchus 0facea5
Update token-compatible.mdx
zainbacchus fc01c90
Update token-compatible.mdx
zainbacchus 7fde1e8
Update _meta.json
zainbacchus 96e9894
Update interop.mdx
zainbacchus b5d187d
Update _meta.json
zainbacchus 2f60bd5
Update token-compatible.mdx
zainbacchus 0ab687a
Update token-compatible.mdx
zainbacchus d96d630
Update token-compatible.mdx
zainbacchus 83868b7
fix lint
krofax e51372d
update breadcrumbs
krofax e5f9723
updated branch
krofax 788e36b
add personas
krofax File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,89 @@ | ||
| --- | ||
| title: Superchain interop compatible tokens | ||
| lang: en-US | ||
| description: Learn how different tokens can benefit from Superchain interop and benefit from secure, low-latency, cross-chain composability. | ||
| --- | ||
|
krofax marked this conversation as resolved.
krofax marked this conversation as resolved.
krofax marked this conversation as resolved.
|
||
|
|
||
| import { Callout } from 'nextra/components' | ||
| import { InteropCallout } from '@/components/WipCallout' | ||
|
|
||
| <InteropCallout /> | ||
|
|
||
| # Superchain interop compatible tokens | ||
|
|
||
| Superchain interop enables **secure, gas-only, 1-block latency cross-chain composability** on the [Superchain interop cluster](/stack/interop/explainer#superchain-interop-cluster). | ||
|
zainbacchus marked this conversation as resolved.
Outdated
|
||
| The **recommended** approach for enabling interop capabilities for tokens is using [SuperchainERC20](/stack/interop/superchain-erc20), but there are other options depending on your needs. | ||
|
|
||
| ## How tokens go cross-chain | ||
|
|
||
| Compared to traditional ERC-20 tokens deployments on a single blockchain, cross-chain tokens can move between different networks 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 give your token cross-chain functionality with Superchain interop? | ||
|
|
||
| * **Low latency:** 1-block latency ensures fast cross-chain token transfers. | ||
| * **No fees:** Transfers happen at a 1:1 rate with no liquidity pools—just gas. | ||
| * **Security:** Fault Proofs secure Superchain interop end to end. | ||
| * **[Reorg awareness](./reorg):** Enables 1-block latency cross-chain composability that mitigates the double-spend problem. | ||
|
|
||
| ## SuperchainERC20 | ||
|
|
||
| SuperchainERC20 is the simplest and most trust-minimized way to enable token interoperability within the Superchain. | ||
|
|
||
| * **Security:** Fault Proofs secure Superchain interop end to end. No third-party dependencies. | ||
| * **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. | ||
|
|
||
|
|
||
| ## Alternative implementation options (ERC-7281 Standard) | ||
|
|
||
| ### Weakest link risk | ||
|
|
||
| If you allowlist both Superchain interop and a third-party messaging service, your token's security is only as strong as the weakest service. | ||
| A compromised third-party service could allow malicious minting or double spending. | ||
|
|
||
| ### SuperchainTokenBridge vs. Superchain interop messaging | ||
|
|
||
| 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 **Cross-Domain Messenger (CDM)**. | ||
| Anyone can build a custom bridge on the **L2-to-L2 CDM**, but it may not follow the invariant of maintaining the same token address across chains. | ||
|
|
||
| If your token requires interoperability beyond the Superchain, you can consider one of the following **ERC-7281-compliant** options. These introduce external dependencies that must be allowlisted. | ||
|
|
||
| ### xERC20 (ERC-7281) | ||
|
|
||
| * **Security:** Variable due to weakest-link scenario based on allowlisted verification mechanisms. | ||
| * **Latency:** 1-block latency in the Superchain. Outside latency varies based on the messaging service used. | ||
| * **Cost:** Variable based on allowlisted verification mechanisms. | ||
| * **Cross-chain address:** Deterministic or requires cross-chain registry per deployment. | ||
| * **Best for:** Projects needing flexible bridge integrations while retaining control over allowlisted bridges. | ||
|
|
||
| ### OFT | ||
|
|
||
| * **Security:** Variable due to weakest-link scenario based on allowlisted verification mechanisms. | ||
| * **Latency:** 1-block latency within the Superchain. External latency depends on **DVN finality time**. | ||
| * **Best for:** Tokens requiring cross-chain transfer beyond the Superchain (e.g., Solana, Arbitrum). | ||
|
|
||
| ### NTT | ||
|
|
||
| * **Security:** Variable due to weakest-link scenario based on allowlisted verification mechanisms. | ||
| * **Latency:** 1-block latency within the Superchain. External latency varies based on transceiver finality. | ||
| * **Best for:** Projects that want Wormhole's network for cross-chain transfer. (Superchain integration is still in progress.) | ||
|
|
||
| ### Key takeaways | ||
|
|
||
| * **SuperchainERC20** is the simplest way for token issuers to get Superchain interop cluster wide distribution. | ||
| * Token issuers can use other options (xERC20, OFT, NTT) and allowlist Superchain interop or the SuperchainTokenBridge to benefit from Superchain interop. | ||
| * When using tokens other than SuperchainERC20, token issuers should include a ERC-7802 interface to simplify developer experience. | ||
| * Using 3rd party verification mechanisms introduces external dependencies and potential security risks. | ||
|
|
||
| ## Next steps | ||
|
|
||
| * [Deploy a SuperchainERC20 token](/stack/interop/superchain-erc20) | ||
| * [Learn more about interoperability](/stack/interop/explainer) | ||
| * [Build a cross-chain app on the Superchain](/app-developers/get-started) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.