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

  1. User submits a deposit transaction to Ethereum to bridge ETH to L2.

  2. 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

  1. User submits L2 transaction to op-geth.

  2. Rhea reads L2 transactions from op-geth mempool.

  3. Rhea submits L2 transactions to Solana for sequencing.

Solana Sequencing

  1. Hercules reads Solana blocks relevant to the Rome EVM contract.

  2. Hercules parses L2 blocks from Solana blocks and stores them into Postgres.

  3. op-node queries Hercules for L2 sequencer batches and appends them to op- geth.

Monitoring Ethereum Finality

  1. op-node reads finalized Ethereum blocks.

  2. 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

  1. op-batcher periodically gets sync status from op-node.

  2. op-batcher gets unsafe L2 blocks from op-geth.

  3. 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

  1. op-proposer periodically queries op-node for output root. op-node in turn queries op-geth for state root.

  2. op-proposer posts output root to the Ethereum L2OutputOracle contract. Submits transaction to Interstate for preconfirmation.

Withdrawal Flow

Last updated

Was this helpful?