# Specifications and tests for Ethereum \[EL\] + \[CL\]

We write the specifications of Ethereum's execution and consensus layers as executable code, and generate the reference tests from them. We help researchers turn [EIPs](<https://eips.ethereum.org/>) into precise specs, and provide client developers with test vectors and frameworks to verify their implementations.

Specs \[EL\]

**Execution layer.** The EVM and state transition in [ethereum/execution-specs](<https://github.com/ethereum/execution-specs>), its test fixtures, and the tools that run them against clients.

[Overview](<https://specs.ethereum.foundation/el/index.md>) [Specs](</docs/execution-specs/specs/reference/src/ethereum/index.html>) [Tests](</docs/execution-specs/tests/>)

Specs \[CL\]

**Consensus layer.** The beacon chain and fork choice in [ethereum/consensus-specs](<https://github.com/ethereum/consensus-specs>), its reference tests, and the c-kzg-4844 library.

[Overview](<https://specs.ethereum.foundation/cl/index.md>) [Specs](<https://ethereum.github.io/consensus-specs/>) [Tests](<https://github.com/ethereum/consensus-specs/releases>)
