Basic Transaction Flow
Last updated
This guide explains the technical flow of Facet transactions. For conceptual understanding of immutable sequencing, see Immutable Sequencing.

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.
The Ethereum transaction containing the Facet payload:
Gets included in the L1 mempool
Is sequenced by Ethereum validators
Becomes part of L1 block history
Facet nodes:
Monitor L1 for transactions to the inbox address
Extract Facet payloads from calldata
Also monitor for contract-emitted events with Facet topic
Using the ordered transactions from L1:
Facet nodes execute transactions through facet-geth
State is computed deterministically
Results are stored locally by each node
Applications and users:
Connect to Facet RPC endpoints
Query current state using standard Ethereum RPC methods
Receive responses from facet-geth
Transaction Specification - Transaction formats and encoding
Running a Facet Node - Node setup guide
Chain State Derivation - How state is computed
Network Information - Query endpoints
Facet TypeScript SDK - Developer tools
Last updated