# Genesis Contracts

## Facet Genesis Contracts

Facet launches with a curated set of core protocol and utility contracts deployed at genesis. By making these available from the very first block, the network ensures essential functionality—like bridging, account abstraction, and common utilities—are ready for use without additional deployments.

### 1. Protocol Predeploys

Protocol predeploys are core system contracts located at deterministic addresses in the `0x420` namespace. They form the backbone of Facet's environment and provide critical functionalities.

**Active Protocol Predeploys:**

* **WFCT** (`0x4200000000000000000000000000000000000006`): Canonical Wrapped FCT token contract.
* **L1Block** (`0x4200000000000000000000000000000000000015`): Exposes L1 block information (e.g., number, timestamp) to L2.
* **L2ToL1MessagePasser** (`0x4200000000000000000000000000000000000016`): Facilitates message passing from L2 back to L1.
* **ProxyAdmin** (`0x4200000000000000000000000000000000000018`): Administers upgrades for proxied protocol contracts.
* **SchemaRegistry** (`0x4200000000000000000000000000000000000020`): Registers attestation schemas, enabling standardized verification logic.
* **EAS** (`0x4200000000000000000000000000000000000021`): Ethereum Attestation Service, providing native attestation capabilities on L2.

### 2. Utility Preinstalls

Utility preinstalls are non-protocol helper contracts deployed at known addresses, commonly used across EVM chains. They offer a variety of tools and primitives, ensuring immediate compatibility with widely used frameworks and standards.

**Included Preinstalls:**

* **MultiCall3** (`0xcA11bde05977b3631167028862bE2a173976CA11`): Batch multiple calls into a single aggregate call.
* **Create2Deployer** (`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`): Canonical CREATE2 deployer for deterministic addresses.
* **Safe Contracts**:
  * **Safe v1.3.0** (`0x69f4D1788e39c87893C980c06EdF4b7f686e2938`)
  * **SafeL2 v1.3.0** (`0xfb1bffC9d739B8D520DaF37dF666da4C687191EA`)
  * **MultiSendCallOnly v1.3.0** (`0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B`)
  * **MultiSend v1.3.0** (`0x998739BFdAAdde7C933B942a68053933098f9EDa`)
* **Safe Factory** (`0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7`): Deploys new Safe instances.
* **Deterministic Deployment Proxy** (`0x4e59b44847b379578588920cA78FbF26c0B4956C`): Standard proxy enabling deterministic deployments.
* **Permit2** (`0x000000000022D473030F116dDEE9F6B43aC78BA3`): Uniswap’s extended token permit system, chain-aware and standardized.
* **Account Abstraction Components**:
  * **EntryPoint v0.6.0** (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`)
  * **EntryPoint v0.7.0** (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`)
  * **SenderCreator v0.6.0** (`0x7fc98430eAEdbb6070B35B39D798725049088348`)
  * **SenderCreator v0.7.0** (`0xEFC2c1444eBCC4Db75e7613d20C6a62fF67A167C`)
* **BeaconBlockRoots** (`0x000F3df6D732807Ef1319fB7B8bB8522d0Beac02`): Provides beacon block roots (EIP-4788).
* **BeaconBlockRootsSender** (`0x0B799C86a49DEeb90402691F1041aa3AF2d3C875`): Sender account for EIP-4788 transactions.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.facet.org/reference/genesis-contracts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
