Transaction Flow
Step-by-step explanation of deposits, L2 transaction submission, sequencing on Solana, finalization, and withdrawals.

The following outlines the end-to-end transaction process within Nexus
Depositing Funds
User submits a deposit transaction to Ethereum to bridge ETH to L2.
op-node reads the finalized deposit transaction from Ethereum and executes it on the L2 Rome EVM contract to make ETH available to the user.
L2 Transaction Submission
User submits L2 transaction to op-geth.
Rhea reads L2 transactions from op-geth mempool.
Rhea submits L2 transactions to Solana for sequencing.
Solana Sequencing
Hercules reads Solana blocks relevant to the Rome EVM contract.
Hercules parses L2 blocks from Solana blocks and stores them into Postgres.
op-node queries Hercules for L2 sequencer batches and appends them to op- geth.
Monitoring Ethereum Finality
op-node reads finalized Ethereum blocks.
op-node confirms L2 blocks based on finalized Ethereum blocks, marking them first as safe and then as finalized.
Posting tx batches to Ethereum via Interstate preconfirmation
op-batcher periodically gets sync status from op-node.
op-batcher gets unsafe L2 blocks from op-geth.
op-batcher writes these L2 sequencer batches to Ethereum Batch Inbox address. Submits tx to Interstate for preconfirmation.
State commit to Ethereum via Interstate preconfirmation
op-proposer periodically queries op-node for output root. op-node in turn queries op-geth for state root.
op-proposer posts output root to the Ethereum L2OutputOracle contract. Submits transaction to Interstate for preconfirmation.
Withdrawal Flow

Last updated
Was this helpful?