Anatomy of a cross-chain message
A cross-chain message refers to any communication sent using Superchain interop. This includes messages sent between different chains within an interop cluster, as well as messages sent on a single chain for interoperable. This functionality enables asset transfers that utilize the SuperchainERC20 token standard.
How it works
To send a cross-chain message on the Superchain using Superchain 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 Superchain Interop Explainer or check out this Superchain interop design video walk-thru (opens in a new tab).
- Ready to get started? Use Supersim, a local dev environment that simulates Superchain interop for testing applications against a local version of the Superchain.
- For more info about how Superchain interoperability works under the hood, check out the specs (opens in a new tab).