# Transaction Flow

A transaction on Kasplex L2 follows four stages:

**Submission**: The user embed the L2 transaction into L1 transaction's payload field and then submits the transaction directly to the Kaspa Network.

**Sequencing**: Kaspa’s BlockDAG orders the transaction within its DAG structure, providing a deterministic sequence of all transactions.

**Synchronizing**: The confirmed L1 transaction, which includes the EVM transaction data, is fetched by L2 node and store to the L2 mempool.

**Execution**: The Layer 2 executor picks up each transaction from the mempool and executes it to generate:

* **State Diff**: Changes to contract storage/balances.
* **Validity Proof**: ZKP attesting to correct execution.

**Finalization(upcoming)**:

* Proofs are posted to Kaspa and verified through zk\_opcode

