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
Transaction Specification - Transaction formats and encoding
Running Infrastructure
Running a Facet Node - Node setup guide
Chain State Derivation - How state is computed
Integration Points
Network Information - Query endpoints
Facet TypeScript SDK - Developer tools
Last updated