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 335
Superchain Interop-Compatible Tokens #1419
Merged
Merged
Changes from 4 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,79 @@ | ||
| --- | ||
| title: Superchain interop compatible tokens | ||
| lang: en-US | ||
| description: Learn how to enable seamless, low-latency cross-chain composability for your token within the Superchain. | ||
| --- | ||
|
krofax marked this conversation as resolved.
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 a traditional ERC-20 deployment on a single chain, tokens can move across chains by granting authority to a messaging service (bridge) to **cross-chain mint/burn** them. | ||
|
zainbacchus marked this conversation as resolved.
Outdated
|
||
| When enabling cross-chain functionality, it is essential to evaluate **security, cost, and latency** of the respective messaging service. | ||
|
zainbacchus marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## Why Superchain interop messaging? | ||
|
zainbacchus marked this conversation as resolved.
Outdated
|
||
|
|
||
| * **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:** Protected by the OP Stack's permissionless fault proofs. | ||
|
zainbacchus marked this conversation as resolved.
Outdated
|
||
| * **[Reorg awareness](./reorg):** Enables 1-block latency cross-chain composability that mitigates the double-spend problem. | ||
|
|
||
| ## SuperchainERC20 – The Recommended Option | ||
|
|
||
| * **Most secure** – Fully protected by OP Stack permissionless fault proofs. No third-party dependencies. | ||
| * **1-block latency** within the Superchain. | ||
| * **Best for:** **Superchain-native tokens**, that need **the highest security, lowest latency, and seamless integration within the Superchain** | ||
|
|
||
|
|
||
| ### 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**. | ||
|
|
||
|
|
||
| ## Alternative implementation options (ERC-7281 Standard) | ||
|
|
||
| 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:** Secure within the Superchain. Security outside the Superchain depends on **allowlisted third-party bridges**. | ||
| * **Latency:** 1-block latency in the Superchain. Outside latency varies based on the **messaging service used**. | ||
| * **Best for:** Projects needing **flexible bridge integrations** while retaining control over allowlisted bridges. | ||
|
|
||
| ### OFT | ||
|
|
||
| * **Security:** Secure within the Superchain. Outside security depends on **allowlisted Decentralized Verification Networks (DVNs)**. | ||
|
zainbacchus marked this conversation as resolved.
Outdated
|
||
| * **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:** Secure within the Superchain. External security depends on **allowlisted transceivers**. | ||
| * **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 most secure and recommended option for native Superchain tokens. | ||
| * **All other options (xERC20, OFT, NTT) follow the ERC-7281 standard** and require allowlisting external verification mechanisms. | ||
| * **Interoperability outside the Superchain** 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.