Basic Transaction Flow

This guide explains the technical flow of Facet transactions. For conceptual understanding of immutable sequencing, see Immutable Sequencing.

Transaction Lifecycle

1. Transaction Creation

Users create Facet transactions by:

  • Constructing an RLP-encoded Facet transaction

  • Wrapping it in an Ethereum L1 transaction

  • Sending to the Facet inbox address: 0x00000000000000000000000000000000000face7

See Facet Transactions for detailed formatting.

2. L1 Submission

The Ethereum transaction containing the Facet payload:

  • Gets included in the L1 mempool

  • Is sequenced by Ethereum validators

  • Becomes part of L1 block history

3. Node Processing

Facet nodes:

  • Monitor L1 for transactions to the inbox address

  • Extract Facet payloads from calldata

  • Also monitor for contract-emitted events with Facet topic

4. State Computation

Using the ordered transactions from L1:

  • Facet nodes execute transactions through facet-geth

  • State is computed deterministically

  • Results are stored locally by each node

5. State Queries

Applications and users:

  • Connect to Facet RPC endpoints

  • Query current state using standard Ethereum RPC methods

  • Receive responses from facet-geth

Technical Implementation

Creating Transactions

Running Infrastructure

Integration Points

Last updated