> For the complete documentation index, see [llms.txt](https://docs.facet.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facet.org/introduction/architecture-overview.md).

# Architecture Overview

Below is a simplified picture of how Facet components fit together, followed by a more detailed Mermaid diagram.

The simplified flow:

* L1: Users submit Facet payloads to inbox EOA `0xface7` (see Sending Transactions). `Rollup.sol` (ZK Fault Proofs) lives on L1.
* L2: `facet-node` derives Facet blocks from L1 (see Chain State Derivation) and sends them to facet-geth which holds state.
* Proposer/Challenger: read from `facet-geth` and interact with `Rollup.sol` (with ZK proofs) (see Proposing and Challenging).
* Bridges/Apps on L1: read canonical roots from `Rollup.sol` to verify withdrawals (see Building Bridges).

{% @mermaid/diagram content="flowchart TB
subgraph L2 \[Facet L2]
FNode\[Facet Node]
FGeth\[Facet Geth]
FNode -->|Facet blocks| FGeth
end

subgraph L1 \[Ethereum L1]
Inbox\[Inbox 0xface7]
Rollup\[Rollup.sol]
end

U\[Users / Apps]
P\[Proposer]
C\[Challenger]
B\[Bridges / L1 Apps]

%% Core flow
Inbox -->|inbox txs| FNode
U -->|read state| FGeth

%% Proof system
FGeth --> P
FGeth --> C
P -->|propose roots| Rollup
C -->|challenge / prove| Rollup

%% Bridge reads
Rollup -->|canonical roots| B" %}

See also

* Immutable Sequencing → [Sending Transactions](/immutable-sequencing/sending-transactions.md)
* Reference → [Chain State Derivation](/reference/chain-state-derivation.md)
* Proof System & Bridging → [ZK Fault Proofs](/proof-system-and-bridging/zk-fault-proofs.md)
* Proof System & Bridging → [Building Bridges](/proof-system-and-bridging/building-bridges.md)
