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 (opens in a new tab) token standard.
How It Works
To send a cross-chain message on the Superchain using native OP Stack interoperability, these two aspects must be in place:
- Each interoperable chain runs a verifying node for each chain in the interoperable set.
- Each cross-chain message has an initiating transaction on the source chain and a finalizing transaction on the destination chain.
- First/initiating transaction: is submitted to the source chain and emits an event that can be consumed on a destination chain.
- Second/finalizing transaction: is submitted to a destination chain, where the block builder should only include it if certain that the first transaction was included in the source chain. The block builder can use OP-Supervisor to determine the integrity of the initiating message. Anyone can submit the second transaction.
💡
There is no strict requirement that the executing message is ever submitted. See the specs for details on tracing the executing message event (opens in a new tab).
In the example above, Ox123
sends 1 OP from OP Mainnet to Base, but this applies to any asset using the SuperchainERC20 token standard.
Next Steps
- More questions? Check out the FAQ section in the OP Stack's Native Interop Explainer or check out this interop design video walk-thru (opens in a new tab).
- Ready to get started? Use SuperSim (opens in a new tab), a local dev environment that simulates interop for testing applications against a local version of the Superchain.
- For more info about how OP Stack interoperability works under the hood, check out the specs (opens in a new tab).