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 4 commits
Commits
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
3 changes: 2 additions & 1 deletion pages/stack/interop/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
"explainer": "Interop explainer",
"cross-chain-message": "Anatomy of cross-chain message",
"supersim": "Supersim Multichain Development Environment",
"superchain-erc20": "SuperchainERC20 token standard"
"superchain-erc20": "SuperchainERC20 token standard",
"superchain-weth": "SuperchainWETH (Interoperable ETH)"
}
2 changes: 1 addition & 1 deletion pages/stack/interop/cross-chain-message.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Image from 'next/image'

# Anatomy of a cross-chain message

A cross-chain message applies to any message sent across a chain. This applies to asset transfers using the [SuperchainERC20](https://specs.optimism.io/interop/token-bridging.html) token standard.
A cross-chain message applies to any message sent across a chain. This applies to asset transfers using the [SuperchainERC20](superchain-erc20) token standard.

## How it works

Expand Down
4 changes: 2 additions & 2 deletions pages/stack/interop/explainer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ Native OP Stack interoperability provides the ability to read messages and trans
## Secure message passing
Superchain interop includes both the protocol layer message passing and the Superchain ERC20 token specification.

* **Message passing protocol:** the initial + finalizing/executing [message](https://specs.optimism.io/interop/messaging.html) that fire events to be consumed by the chains in the [dependency set](https://specs.optimism.io/interop/dependency-set.html)
* **SuperchainERC20 token specification**: the [SuperchainERC20](https://specs.optimism.io/interop/token-bridging.html) turns message passing into asset transfer between chains in the interop set. Learn more about how the SuperchainERC20 token standard enables asset interoperability in the Superchain [here](/stack/interop/superchain-erc20)
* **Message passing protocol:** the initial + finalizing/executing [message](cross-chain-message) that fire events to be consumed by the chains in the [dependency set](https://specs.optimism.io/interop/dependency-set.html)
* **SuperchainERC20 token specification**: the [SuperchainERC20](superchain-erc20) turns message passing into asset transfer between chains in the interop set. Learn more about how the SuperchainERC20 token standard enables asset interoperability in the Superchain [here](/stack/interop/superchain-erc20)
Comment thread
cpengilly marked this conversation as resolved.
Comment thread
cpengilly marked this conversation as resolved.

This means ETH and ERC-20s can seamlessly and securely move across L2s, and intent-based protocols (i.e., bridges) can build better experiences on top of the message passing protocol.

Expand Down
80 changes: 80 additions & 0 deletions pages/stack/interop/superchain-weth.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: SuperchainWETH (Interoperable ETH)
lang: en-US
description: Learn basic details about the SuperchainWETH or Interoperable ETH.
---

import { Callout } from 'nextra/components'

# SuperchainWETH (Interoperable ETH)
Comment thread
cpengilly marked this conversation as resolved.

<Callout>
Interop is currently in active development and not yet ready for production use. The information provided here may change. Check back regularly for the most up-to-date information.
</Callout>

Superchain WETH or Interoperable ETH is a specialized version of the standard WETH (Wrapped Ether) contract designed to enable seamless movement of ETH across the Superchain. It addresses the liquidity constraints and usability issues that arise when transferring ETH between different chains.

## Features and benefits

* Enables seamless ETH transfers across different chains in the Superchain
* Minimizes protocol complexity by treating ETH as an ERC-20 token
Comment thread
cpengilly marked this conversation as resolved.
Outdated
* Maintains fungibility of ETH across the Superchain
* Provides liquidity for cross-chain transactions
* Supports interoperability between chains with different native assets (i.e., gas tokens)
Comment thread
cpengilly marked this conversation as resolved.
Outdated
* Improves user experience by abstracting complex bridging processes

<Callout type="warning">
`SuperchainWETH` requires `SuperchainTokenBridge` integration for full interoperable, cross-chain functionality.
</Callout>

## How it works

Interoperable ETH (Superchain WETH) facilitates secure movement of ETH across the Superchain via `crosschainBurn` and `crosschainMint`.

* **`crosschainBurn`**: Facilitates cross-chain transfers by **burning** WETH. The user sends ETH to the `SuperchainWETH` contract. `SuperchainWETH` interacts with `ETHLiquidity` to burn the ETH and sends a cross-chain message via the `L2ToL2CrossDomainMessenger` to the destination chain.
Comment thread
cpengilly marked this conversation as resolved.
Outdated
* **`crosschainMint`**: Mints WETH on the destination chain after a cross-chain transfer. The user receives ETH or WETH on the destination chain. If the destination is a non-custom gas token chain, ETH is sourced from the `ETHLiquidity` contract.
Comment thread
cpengilly marked this conversation as resolved.
Outdated
Comment thread
cpengilly marked this conversation as resolved.
Outdated

```mermaid
sequenceDiagram
participant User
participant SuperchainWETH
participant ETHLiquidity
participant L2ToL2CrossDomainMessenger
participant DestinationChain

User->>SuperchainWETH: Send ETH
SuperchainWETH->>ETHLiquidity: Burn ETH
SuperchainWETH->>L2ToL2CrossDomainMessenger: Send cross-chain message
L2ToL2CrossDomainMessenger->>DestinationChain: Relay message
DestinationChain->>SuperchainWETH: Call relayETH/relayERC20
SuperchainWETH->>ETHLiquidity: Source ETH (if non-custom gas token chain)
SuperchainWETH->>User: Receive ETH/WETH on destination chain
```

This diagram illustrates the process where the user sends ETH to the `SuperchainWETH` contract which burns the ETH and sends a cross-chain message to the destination chain, enabling seamless cross-chain ETH transfers without the need for asset wrapping.
Comment thread
cpengilly marked this conversation as resolved.
Outdated

## Major components

### `SuperchainWETH` Contract
Comment thread
cpengilly marked this conversation as resolved.
Outdated

This contract implements the core functionality for wrapping, unwrapping, and cross-chain transfer of ETH. It integrates with the `SuperchainTokenBridge` for interoperable actions.
* Contract address: `0x4200000000000000000000000000000000000024`

### `ETHLiquidity` Contract
Comment thread
cpengilly marked this conversation as resolved.
Outdated

A predeploy contract with a large pool of ETH that provides liquidity for cross-chain transfers. It allows "burning" and "minting" of ETH for cross-chain transfers.
Comment thread
cpengilly marked this conversation as resolved.
Outdated
* Contract address: `0x4200000000000000000000000000000000000025`

### `L2ToL2CrossDomainMessenger` Contract
Comment thread
cpengilly marked this conversation as resolved.
Outdated

This predeploy contract facilitates general message passing between different chains in the Superchain. It also securely transfers ERC20 tokens between L2 chains.
* Contract address: `0x4200000000000000000000000000000000000023`

<Callout type="info">
`SuperchainWETH` implements strict access controls to ensure security (e.g., only `SuperchainWETH` can call `ETHLiquidity` functions).
</Callout>

## Next steps

* Explore the [`SuperchainWETH`](https://specs.optimism.io/interop/superchain-weth.html) specs for in-depth implementation details.
* Review the [Superchain Interop Explainer](explainer) for answers to common questions about interoperability.
8 changes: 3 additions & 5 deletions words.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ACCOUNTQUEUE
accountqueue
Comment thread
cpengilly marked this conversation as resolved.
ACCOUNTQUEUE
Comment thread
krofax marked this conversation as resolved.
Outdated
ACCOUNTSLOTS
accountslots
ADDI
Expand Down Expand Up @@ -29,8 +29,8 @@ BLOBPOOL
blobpool
blobspace
blockhash
blocklists
BLOCKLOGS
Comment thread
cpengilly marked this conversation as resolved.
blocklists
Comment thread
krofax marked this conversation as resolved.
blocklogs
BLOCKPROFILERATE
blockprofilerate
Expand Down Expand Up @@ -326,9 +326,7 @@ safedb
Schnorr
secp
SELFDESTRUCT
SEPOLIA
Sepolia
sepolia
seqnr
SEQUENCERHTTP
sequencerhttp
Expand Down Expand Up @@ -405,4 +403,4 @@ xtensibility
ZKPs
ZKVM
Zora
zora
zora