Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Execution Client

An execution client is the software component of a blockchain node responsible for processing transactions, executing smart contracts, and managing the network's state.
Chainscore © 2026
definition
BLOCKCHAIN INFRASTRUCTURE

What is an Execution Client?

An execution client is the core software responsible for processing transactions and executing smart contracts on a blockchain network.

An execution client (historically called an Ethereum client) is the software component of a blockchain node that manages the state, processes transactions, and runs smart contract code. Following Ethereum's transition to proof-of-stake, the network's architecture was split into the execution layer and the consensus layer. The execution client is solely responsible for the former, handling the computational workload defined by the Ethereum Virtual Machine (EVM). It receives transactions from users, executes them in a deterministic environment, and updates the global state—comprising account balances and smart contract storage.

The primary function of an execution client is to compute the new state of the blockchain. It does this by taking a set of pending transactions, running them through the EVM, and producing an execution payload. This payload contains the resulting state changes and transaction receipts. Popular execution clients include Geth (Go-Ethereum), Nethermind, Besu, and Erigon. Each implements the same core specifications but with different programming languages and performance optimizations, promoting network resilience and client diversity to prevent a single point of failure.

For the network to finalize blocks, the execution client must work in tandem with a consensus client (like Prysm or Lighthouse). The two clients communicate via a local Engine API. The execution client validates and executes transactions, then passes the execution payload to the consensus client. The consensus client is responsible for block propagation, attestations, and the proof-of-stake consensus mechanism. This separation of concerns, known as the merge, allows each layer to specialize, improving overall network security and enabling future scalability upgrades like danksharding.

Node operators must run both an execution client and a consensus client together to participate in validating the Ethereum network. The execution client requires synchronized access to the full world state and historical data, which demands significant storage and bandwidth. For developers, interacting directly with an execution client via its JSON-RPC API (using methods like eth_sendTransaction or eth_call) is how decentralized applications (dApps) read blockchain state and broadcast new transactions to the network.

key-features
EXECUTION CLIENT

Key Features

An execution client is the software responsible for processing transactions, executing smart contracts, and managing the state of a blockchain. In Ethereum's post-Merge architecture, it works in tandem with a consensus client.

01

Transaction Execution Engine

The core function is to execute the computational logic of the blockchain. This includes:

  • Processing incoming transactions and smart contract calls.
  • Running the Ethereum Virtual Machine (EVM) to compute new state changes.
  • Validating transaction signatures and ensuring sufficient gas fees.
  • Updating the world state (account balances, contract storage) after each block.
02

Network & Peer Management

The client maintains the peer-to-peer network layer for the execution layer. Key responsibilities are:

  • Discovering and connecting to other execution clients (peers).
  • Propagating new transactions and blocks across the network using the devp2p protocol.
  • Syncing the chain's execution state with peers, using methods like snap sync for faster initialization.
03

JSON-RPC API Endpoint

It exposes the primary interface for users and applications to interact with the blockchain. The JSON-RPC API allows:

  • Wallets (like MetaMask) to send transactions and query balances.
  • DApps to read contract state and broadcast transactions.
  • Block explorers to fetch transaction details and block data. Common endpoints include eth_sendTransaction, eth_getBalance, and eth_call.
04

Post-Merge Consensus Partnership

Since Ethereum's Merge, the execution client does not produce blocks alone. It works in a consensus-execution split architecture:

  • Pairs with a separate consensus client (e.g., Lighthouse, Prysm).
  • Receives proposed blocks from the consensus client via the Engine API.
  • Executes the block's payload and returns the resulting state root for the consensus layer to finalize.
05

Major Client Implementations

Multiple independent software implementations exist, enhancing network resilience and decentralization. Prominent execution clients include:

  • Geth (Go-Ethereum): The original and most widely used client, written in Go.
  • Nethermind: A high-performance client built with .NET, known for advanced features.
  • Erigon (Turbo-Geth): Focuses on rapid sync times and efficient storage.
  • Besu: An enterprise-grade Java client with permissioning features.
06

State & Data Management

The client is responsible for storing and providing access to all execution-layer data. This involves:

  • Maintaining a local database of the entire world state (a Merkle Patricia Trie).
  • Storing the transaction history and receipts.
  • Pruning old state data to manage disk space while preserving chain history.
  • Serving historical data for APIs and for other clients during synchronization.
how-it-works
BLOCKCHAIN INFRASTRUCTURE

How an Execution Client Works

An execution client is the software component responsible for processing transactions and executing smart contracts on the Ethereum network, forming one half of the post-Merge consensus/execution architecture.

An execution client (historically called an Ethereum client) is a node software, such as Geth, Nethermind, or Erigon, that manages the state of the Ethereum Virtual Machine (EVM). Its primary functions are to validate incoming transactions, execute the computational logic defined in smart contracts, and maintain the entire world state—a database of all account balances, contract code, and storage. It processes transactions in the order they appear in a block, updating this global state with each operation. The client also generates an execution payload, which contains the list of transactions and the resulting state changes, ready to be proposed to the network.

The client operates by receiving raw, signed transactions from users via its peer-to-peer (P2P) network. It first performs a series of validity checks, verifying cryptographic signatures, ensuring the sender has sufficient ETH for gas, and checking the transaction nonce. Valid transactions enter the mempool (transaction pool) to await inclusion in a block. When it's time to construct a block, the client selects transactions from its mempool, executes them in sequence within the EVM, and calculates the resulting state root. This process consumes gas, with each computational step having a predefined cost to meter resource usage and prevent infinite loops.

Following Ethereum's transition to proof-of-stake (The Merge), the execution client works in tandem with a consensus client (like Prysm or Lighthouse). The two clients communicate via a local Engine API. The consensus client proposes or attests to the next block, but it requests the execution payload—the actual block body with transactions—from the execution client. This separation of concerns allows the consensus layer to focus on block validation and chain finality while the execution layer handles all state computation. The execution client returns the payload and a proof of its validity, which the consensus client then packages into a beacon block.

Key internal components of an execution client include the EVM interpreter, which runs smart contract bytecode; the state trie, a Merkle Patricia Trie that cryptographically commits to the world state; and the transaction pool logic for managing pending transactions. Execution clients also expose JSON-RPC endpoints (e.g., eth_sendTransaction, eth_getBalance) that allow external applications, wallets, and developers to interact with the blockchain. This interface is how decentralized applications (dApps) query data and submit transactions to the network.

Running an execution client is resource-intensive, as it must store the entire historical state and process all new transactions. To sync, a node can perform a full sync, downloading and executing every block from genesis, or a snap sync, which downloads a recent snapshot of the state and verifies it against block headers. Operators must ensure their client is consistently updated to handle network upgrades (hard forks) and changes to the EVM or transaction types, such as those introduced with EIP-1559 or EIP-4844.

examples
IMPLEMENTATIONS

Examples of Execution Clients

An execution client is the software that processes transactions and executes smart contracts on a blockchain. These are the primary implementations powering the Ethereum network.

ecosystem-usage
EXECUTION CLIENT

Ecosystem Usage

An execution client is the software that processes transactions and executes smart contracts on an Ethereum-like blockchain, forming one half of the post-Merge consensus/execution architecture.

01

Core Function: Transaction Execution

The execution client's primary role is to process and validate all transactions within a block. This involves:

  • Executing EVM bytecode for smart contract calls.
  • Maintaining the state trie, which holds all account balances, contract code, and storage.
  • Calculating gas usage and ensuring transactions do not exceed block gas limits.
  • Generating state changes (e.g., updating balances, emitting logs) that are passed to the consensus client for finalization.
02

Primary Examples

Several independent implementations of the execution client specification exist, promoting network resilience and decentralization.

  • Geth (Go-Ethereum): The original and most widely used client, written in Go.
  • Nethermind: A high-performance client written in C# and .NET, known for its detailed logging and analytics.
  • Erigon (formerly Turbo-Geth): Focuses on efficiency and rapid sync times, written in Go.
  • Besu: An Apache 2.0 licensed client written in Java, popular with enterprises and consortium chains.
  • Reth (Rust Ethereum): A newer, performant implementation built in Rust.
03

Interaction with Consensus Client

Post-Merge, the execution client works in tandem with a consensus client (e.g., Lighthouse, Prysm). This separation is known as the Engine API. The workflow is:

  1. The consensus client proposes a new block and sends a payload request via the Engine API.
  2. The execution client assembles the block by executing transactions and returns an execution payload.
  3. The consensus client finalizes the block, including the payload, into the beacon chain. This architecture isolates execution logic from Proof-of-Stake consensus rules.
04

Node Operator's Perspective

Running an execution client is a core responsibility for node operators, validators, and infrastructure providers.

  • Hardware Requirements: Requires significant storage (for the full state and chain history), a fast SSD, and sufficient RAM/CPU for EVM execution.
  • Syncing: Must sync the historical chain, with options like full sync, snap sync, or warp sync (Besu).
  • APIs: Exposes JSON-RPC endpoints (e.g., eth_sendTransaction, eth_getBalance) that serve as the primary interface for wallets, dApps, and developers to interact with the chain.
05

The Engine API

This is the standardized JSON-RPC interface that enables communication between the consensus and execution clients. Key endpoints include:

  • engine_newPayloadVX: The consensus layer delivers a block for validation and state change execution.
  • engine_forkchoiceUpdatedVX: Informs the execution layer of the new head of the chain and triggers block assembly.
  • engine_getPayloadVX: Retrieves a built execution payload. This API is critical for the security and liveness of the network, ensuring both client layers agree on the canonical chain state.
06

Client Diversity & Network Health

A healthy network requires no single execution client to dominate, mitigating systemic risk from a bug in one implementation. The goal is for the largest client to have less than 66% market share to prevent a potential chain split or finality failure. Operators are encouraged to run minority clients (e.g., Nethermind, Besu, Erigon) to improve overall network resilience. Monitoring client distribution is a key metric for ecosystem analysts.

ARCHITECTURE COMPARISON

Execution Client vs. Consensus Client

A breakdown of the distinct roles and responsibilities of the two primary software components in Ethereum's post-Merge architecture.

Feature / ResponsibilityExecution Client (e.g., Geth, Nethermind)Consensus Client (e.g., Prysm, Lighthouse)

Primary Role

Executes transactions and manages state

Proposes and attests to blocks, runs PoS consensus

Core Function

Transaction pool, EVM execution, state updates

Block production, fork choice, validator duties

Handles

Smart contracts, account balances, gas fees

Beacon Chain, attestations, sync committees

Post-Merge Communication

Receives blocks from consensus layer via Engine API

Instructs execution layer via Engine API

Historical Name

Eth1 Client

Eth2 Client

Data Focus

Block body (transactions, state)

Block header (consensus data, attestations)

Synchronization

Syncs transaction history and state

Syncs Beacon Chain finality and consensus

Validator Requirement

Not required for running a node

Required for staking and block proposal

evolution
EVOLUTION AND THE MERGE

Execution Client

Following The Merge, Ethereum's architecture split into a dual-client system, separating transaction execution from consensus duties. This section explains the role of the execution client, the software responsible for processing the state of the network.

An execution client (historically called an Eth1 client) is the software component in Ethereum's post-Merge architecture responsible for managing the state, processing transactions, and executing smart contracts. It handles the computational workload of the network by running the Ethereum Virtual Machine (EVM). Popular execution clients include Geth, Nethermind, Erigon, and Besu. This client works in tandem with a consensus client (Beacon Node), which is responsible for block proposal and attestation duties under Proof-of-Stake.

The execution client's primary functions are to maintain the world state—a database of all account balances and smart contract storage—and to execute new transactions to update this state. It receives transaction bundles from users, validates them against the current state and consensus rules, and computes the resulting state changes. This process involves executing EVM opcodes, deducting gas fees, and generating execution receipts. The finalized state updates and transaction receipts are then packaged into an execution payload, which is passed to the connected consensus client for inclusion in a new block.

This separation of concerns, formalized by The Merge, creates a more modular and resilient network architecture. The execution and consensus clients communicate via a standardized Engine API, allowing different client software to interoperate. This design mitigates the risk of a single client bug taking down the entire network, as issues are typically contained to one layer. Node operators must run both an execution client and a consensus client together to participate in validating the Ethereum network.

EXECUTION CLIENT

Common Misconceptions

Clarifying frequent misunderstandings about the software responsible for processing transactions and executing smart contracts on Ethereum and related networks.

No, an execution client is fundamentally different from a wallet application like MetaMask. An execution client (e.g., Geth, Nethermind) is a full node that downloads, validates, and executes every transaction on the blockchain, maintaining the complete state. A wallet is a lightweight interface that creates transactions and interacts with the network by querying an execution client (or a third-party provider) for data and broadcasting signed transactions. The wallet holds your keys; the client processes the network's rules.

EXECUTION CLIENT

Frequently Asked Questions

Common questions about the software responsible for processing transactions and executing smart contracts on the Ethereum network.

An execution client is a software implementation, such as Geth, Nethermind, or Erigon, that processes transactions and executes smart contracts on the Ethereum blockchain. It is responsible for running the Ethereum Virtual Machine (EVM), managing the state (account balances, contract code, and storage), and creating new blocks of transactions. After the Merge, it works in tandem with a consensus client (like Lighthouse or Prysm), which is responsible for block validation and proof-of-stake consensus. The execution client receives transactions from the mempool, executes them locally to compute state changes, and passes execution payloads to the consensus client for finalization and addition to the blockchain.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team
What is an Execution Client? | Blockchain Node Software | ChainScore Glossary