# focil-devnet-0 spec :::info :mega: focil-devnet-0 targets to launch on the 31st of Aug 2026. ::: :::info :checkered_flag: **Scope.** First devnet for [EIP-7805 FOCIL](https://eips.ethereum.org/EIPS/eip-7805) on the **Heze** fork. Client images build from the common `focil-devnet-0` branch. [frames-devnet-0 ](https://notes.ethereum.org/@ethpandaops/frames-devnet-0) (EIP-8141) is kept on a separate devnet track. ::: ## EIP List for focil-devnet-0 | EIP | Title | Status | |--------|-----|:-----:| |[EIP-7805](https://eips.ethereum.org/EIPS/eip-7805) | Fork-choice enforced Inclusion Lists (FOCIL) | :new:| ## Testing focus - **IL lifecycle e2e**: 16-member IL committee per slot builds/gossips ILs, proposer aggregates, attesters enforce — verify blocks satisfying all stored ILs get voted, non-compliant ones don't. - **Timing windows**: view freeze cutoff (7500 bps), IL submission deadline (6667 bps), proposer IL cutoff (9167 bps) — check client behavior around the boundaries, especially with late/equivocating ILs. - **FOCIL × ePBS interaction**: IL satisfaction for `NOT_VALIDATED` payloads (deferred payload processing), the IL bitlist in builder bids, IL compliance when the payload arrives separately from the block. - **IL req/resp**: syncing/late nodes fetching ILs via the new req/resp protocol ([PR-5424](https://github.com/ethereum/consensus-specs/pull/5424)) and store handling of req/resp-sourced ILs ([PR-5513](https://github.com/ethereum/consensus-specs/pull/5513)). - **Censorship-resistance validation**: run a censoring proposer/builder and verify IL-forced transactions still land — no purpose-built tooling exists yet (no assertoor tasks, no spamoor IL scenarios) :hourglass: ### Specs & Tests **Consensus Layer** - [x] [v1.7.0-beta.2](https://github.com/ethereum/consensus-specs/releases/tag/v1.7.0-beta.2) **Execution Layer** - [x] [focil-devnet@v0.3.0](https://github.com/ethereum/execution-specs/releases/tag/tests-focil-devnet%40v0.3.0) ### Open PRs **Beacon API** - [PR-490 - Add EIP-7805 (FOCIL) endpoints](https://github.com/ethereum/beacon-APIs/pull/490) Open :exclamation: — `getInclusionListCommitteeDuties`, `produceInclusionList`/`publishInclusionList`, IL eventstream event. **Unmerged endpoint shapes are the main coordination risk for VC↔BN interop.** **Consensus Specs** - [PR-4931 - Rebase FOCIL onto Gloas](https://github.com/ethereum/consensus-specs/pull/4931) Merged :heavy_check_mark: - [PR-4942 - Promote EIP-7805 to Heze](https://github.com/ethereum/consensus-specs/pull/4942) Merged :heavy_check_mark: - [PR-5094 - Defer payload processing to next block](https://github.com/ethereum/consensus-specs/pull/5094) Merged :heavy_check_mark: - [PR-5138 - Update inclusion list deadlines](https://github.com/ethereum/consensus-specs/pull/5138) Merged :heavy_check_mark: - [PR-5289 - Clarify ILs and payload validity comment and align IL p2p rules](https://github.com/ethereum/consensus-specs/pull/5289) Merged :heavy_check_mark: - [PR-5324 - Simplify `InclusionListStore`](https://github.com/ethereum/consensus-specs/pull/5324) Merged :heavy_check_mark: - [PR-5410 - Add the IL bitlist to bid](https://github.com/ethereum/consensus-specs/pull/5410) Merged :heavy_check_mark: (reverts [PR-5371](https://github.com/ethereum/consensus-specs/pull/5371)) - [PR-5424 - Specify req/resp for inclusion lists](https://github.com/ethereum/consensus-specs/pull/5424) Merged :heavy_check_mark: - [PR-5433 - Specify the IL-compliance for NOT_VALIDATED payloads](https://github.com/ethereum/consensus-specs/pull/5433) Merged :heavy_check_mark: - [PR-5458 - Add a subsection for IL satisfaction in optimistic.md](https://github.com/ethereum/consensus-specs/pull/5458) Merged :heavy_check_mark: - [PR-5462 - Correct `MIN_SLOTS_FOR_INCLUSION_LISTS_REQUESTS` value](https://github.com/ethereum/consensus-specs/pull/5462) Merged :heavy_check_mark: - [PR-5463 - Set `only_timely` for all `get_inclusion_list_transactions` calls](https://github.com/ethereum/consensus-specs/pull/5463) Merged :heavy_check_mark: - [PR-5487 - Save signed inclusion lists in `InclusionListStore`](https://github.com/ethereum/consensus-specs/pull/5487) Merged :heavy_check_mark: - [PR-5507 - Improve the readability of IL store](https://github.com/ethereum/consensus-specs/pull/5507) Merged :heavy_check_mark: - [PR-5508 - Rename the max IL transaction size constant name](https://github.com/ethereum/consensus-specs/pull/5508) Merged :heavy_check_mark: - [PR-5512 - Fold inclusion list timeliness into the stored entry](https://github.com/ethereum/consensus-specs/pull/5512) Merged :heavy_check_mark: - [PR-5513 - Modify `on_inclusion_list` to handle ILs from req/resp](https://github.com/ethereum/consensus-specs/pull/5513) Merged :heavy_check_mark: - [PR-5544 - Change IL store's keys to (slot, dependent root)](https://github.com/ethereum/consensus-specs/pull/5544) Merged :heavy_check_mark: - [PR-5576 - Increase `MAX_SIGNED_INCLUSION_LIST_SIZE` to the worst-case size](https://github.com/ethereum/consensus-specs/pull/5576) Merged :heavy_check_mark: - [PR-5599 - Add missing dependent block checks to `on_inclusion_list`](https://github.com/ethereum/consensus-specs/pull/5599) Merged :heavy_check_mark: - [PR-5605 - Add executable gossip validation functions for heze](https://github.com/ethereum/consensus-specs/pull/5605) Merged :heavy_check_mark: **Execution APIs** - [PR-609 - Add initial FOCIL spec](https://github.com/ethereum/execution-apis/pull/609) Merged :heavy_check_mark: - [PR-871 - fix: rename max IL transactions bytes constants](https://github.com/ethereum/execution-apis/pull/871) Merged :heavy_check_mark: - [PR-878 - Add non-zero requirements to getInclusionListV1's response](https://github.com/ethereum/execution-apis/pull/878) Merged :heavy_check_mark: **Execution Specs** - [PR-1928 - Initial EIP-7805 spec](https://github.com/ethereum/execution-specs/pull/1928) Merged :heavy_check_mark: - [PR-2643 - FOCIL framework support and initial tests](https://github.com/ethereum/execution-specs/pull/2643) Merged :heavy_check_mark: - [PR-3028 - Bogota fork and Engine API version bumps](https://github.com/ethereum/execution-specs/pull/3028) Merged :heavy_check_mark: - [PR-3092 - Rename inclusion_list_satisfied field](https://github.com/ethereum/execution-specs/pull/3092) Merged :heavy_check_mark: - [PR-3095 - Complete inclusion_list_satisfied field rename](https://github.com/ethereum/execution-specs/pull/3095) Merged :heavy_check_mark: - [PR-3337 - Multiple fixture variants and inclusion_test marker](https://github.com/ethereum/execution-specs/pull/3337) Merged :heavy_check_mark: - [PR-3370 - Fix FOCIL test generation on updated Amsterdam](https://github.com/ethereum/execution-specs/pull/3370) Merged :heavy_check_mark: - [PR-3373 - Refactor inclusion-list definitions and tests](https://github.com/ethereum/execution-specs/pull/3373) Merged :heavy_check_mark: - [PR-3401 - Bogota Engine API update, inclusion-list variants, and spec fixes](https://github.com/ethereum/execution-specs/pull/3401) Merged :heavy_check_mark: - [PR-3406 - Clear `rlp_modifier` when building inclusion-list variants](https://github.com/ethereum/execution-specs/pull/3406) Merged :heavy_check_mark: - [PR-3470 - Require null `inclusionListSatisfied` on non-VALID payloads](https://github.com/ethereum/execution-specs/pull/3470) Merged :heavy_check_mark: - [PR-3471 - Fix invalid inclusion-list engine fixture generation](https://github.com/ethereum/execution-specs/pull/3471) Merged :heavy_check_mark: - [PR-3594 - Fix FOCIL CI and enforce inclusion-list verdict checks](https://github.com/ethereum/execution-specs/pull/3594) Merged :heavy_check_mark: - [PR-3595 - Backport focil-devnet-0 fixes to the EIP-7805 branch](https://github.com/ethereum/execution-specs/pull/3595) Merged :heavy_check_mark: ## Local testing Kurtosis example (based on the Hegota interop config): ```yaml participants_matrix: el: - el_type: ethrex el_image: ethpandaops/ethrex:focil-devnet-0 - el_type: besu el_image: ethpandaops/besu:focil-devnet-0 - el_type: nethermind el_image: ethpandaops/nethermind:focil-devnet-0 - el_type: reth el_image: ethpandaops/reth:focil-devnet-0 cl: - cl_type: lodestar cl_image: ethpandaops/lodestar:focil-devnet-0 - cl_type: teku cl_image: ethpandaops/teku:focil-devnet-0 network_params: preset: minimal gloas_fork_epoch: 0 heze_fork_epoch: 1 additional_services: - spamoor - dora global_log_level: debug ``` --- Are you looking for frames? https://notes.ethereum.org/@ethpandaops/frames-devnet-0