Nodes & Blockchain Clients

GethOfficial Ethereum Execution Client for Windows

Download the official Go Ethereum execution client for Windows. Free, GPLv3 open source, installable with winget. Hardware needs and setup guide.

Free Open source Windows: Yes v1.17.9 Updated 31 Oct 2026
11 min read Last update 31 Oct 2026 geth.ethereum.org

Geth is the official Go implementation of the Ethereum protocol, built for developers, node operators and anyone who wants to run their own Ethereum execution layer on a Windows PC. Instead of trusting a remote service to report balances and contract results, you run the software yourself and see the network from your own machine. It is free and open source under the GPLv3 license, so you can read the code and build your own tools around it.

Geth is maintained as part of the Ethereum project and runs on Windows, macOS, Linux and Docker. On Windows it can be installed through winget, which keeps installation and removal simple. Running a full node is demanding: it needs a fast multi-core CPU, a large SSD and a steady broadband connection, so check the hardware section before you start. This page covers what Geth does, how to install it, how to use it safely and how it compares with other Ethereum clients.

02

What an Execution Client Does in Ethereum

Ethereum runs on many computers that agree on the same ledger. Each node checks transactions, updates account balances and smart contract storage, and passes new blocks along to its peers. The execution layer is the part of the node that carries out those transactions and keeps the current state up to date.

Geth handles this execution role. When it runs on your machine, it verifies blocks rather than trusting a third party to report balances or contract results. This matters if you build decentralized applications, because answers from your own node reflect the rules of the network as you have checked them.

Since the network moved to proof of stake, a full Ethereum setup also includes a consensus client alongside the execution client. Geth covers the execution half, so many guides pair it with a separate consensus program. Understanding this split helps you read setup instructions and avoid misconfiguring a node.

03

Who Geth Is For

Geth suits people who want direct, verifiable access to Ethereum data. Smart contract developers often run it locally so their tests interact with a real node rather than a hosted service. Node operators who want to support the network keep a full copy of the chain on their own hardware. Researchers who study blockchain behavior use it to read historical block and state data.

It is less suited to someone who only wants to check a balance or send a small payment. A light wallet or a web-based interface is simpler for those tasks and asks far less of your disk and bandwidth. Geth rewards people who are comfortable working in a terminal and reading technical documentation.

Teams that run infrastructure can script the same binary, which makes it easier to standardize setups across machines. The key idea is that Geth is a building block for other software, not an end-user application with menus and buttons.

04

Typical Scenarios for Running a Geth Node on Windows

A common scenario is local development. A developer starts Geth on a Windows workstation and points a decentralized application at the local RPC interface during testing. This makes it possible to observe how contracts behave against real chain data without paying for a hosted API.

Another scenario is learning. Students and engineers can use the attach console to look at blocks, transactions and peer counts, which turns abstract protocol descriptions into something concrete. Watching sync progress over several hours also gives a realistic sense of how much work a node performs.

Privacy-minded users sometimes run their own node so that balance queries do not reveal their addresses to an outside provider. This benefit depends on how software connects to the node, so it is worth verifying your setup before relying on it. Each scenario benefits from patience, since a full node takes time and disk space to become useful.

05

How Geth Finds Peers and Stays in Sync

Geth connects to other Ethereum nodes over a peer-to-peer network. After startup, it looks for peers, exchanges information about the chain and downloads the data it needs to reach the current head. The number of peers a node maintains affects how quickly it hears about new blocks, so a stable internet connection matters more than raw speed alone.

Initial synchronization is the most demanding phase. A full replay of history takes far longer than a snapshot-based approach, which is why snap sync is an important option for new nodes. Once a node is in sync, its workload drops to following new blocks and answering requests from software that depends on it.

If your node falls behind or stops receiving blocks, the usual causes are a dropped connection, insufficient disk speed or a configuration mismatch. Checking peer counts and sync status in the attach console is the fastest way to see which problem you have.

06

Key features

Official Go Implementation

Geth is written in Go and serves as the reference implementation of the Ethereum execution layer. Its code lives in a public repository, so developers can read the implementation, follow its history and contribute fixes. For anyone who wants to understand how Ethereum nodes actually process blocks, the source is a practical place to start.

Snap Sync Mode

Geth can start in snap sync mode, which the documentation illustrates with a database memory allowance of 1GB. Instead of replaying the full history from the first block, the node fetches a recent state snapshot, which shortens the path to a usable node. Memory settings can be adjusted to match the hardware you have.

Multi-Platform Support

The same client runs on Windows, macOS, Linux and in Docker containers. That means a setup you test on a Windows desktop can move to a Linux server later without learning a different program. Docker is useful when you want to keep the node isolated from other software on the machine.

Terminal Control and Attach Console

Geth is driven from the command line. The geth attach command opens a console connected to a running node, where you can query blocks, check peer connections and inspect sync status. Depending on your configuration, attaching may require a custom endpoint, so review your setup before connecting.

Open Source Under GPLv3

Geth is released under the GNU General Public License v3, which allows you to use, study, modify and share the software under its terms. Because the code is public, security researchers and independent developers can review what runs on their machines. Free use combined with open code makes Geth a transparent choice for infrastructure.
07

Supported coins

Geth is an Ethereum client, and its documentation lists Ethereum (ETH) as the network it runs. It handles the Ethereum protocol rather than managing several unrelated blockchains. Software for other networks needs its own client, even when the networks share similar tooling.

08

How to install Geth on Windows

Quick install
PowerShell · winget
PS> winget install Ethereum.geth
  1. 1

    Check that winget is available

    Open PowerShell or Windows Terminal and type winget --version. If a version number appears, the Windows Package Manager is ready to use. If the command is not recognized, update App Installer from the Microsoft Store first.

  2. 2

    Install Geth with winget

    Run winget install Ethereum.geth. The package manager downloads the program from its official repository and installs it. Wait for the command to report that the installation completed successfully.

  3. 3

    Alternative: download the installer manually

    If you prefer a manual route, download only from the official website at geth.ethereum.org or from the GitHub Releases page for the go-ethereum project. Save the file to a folder you control and keep it separate from downloads you have not verified.

  4. 4

    Verify the file

    Compare the SHA-256 checksum of the downloaded file with the value published alongside the release. If a signature is provided, check it as well. Do not run a file whose hash does not match.

  5. Confirm the installation

    Open a new terminal window so the updated system path takes effect, then type geth version. The output shows the installed build, which you can compare with the latest release on the official website.

09

System requirements

  • Baseline for a full node: CPU with at least 4 cores
  • Storage: high-performance SSD with at least 2TB of free space
  • Internet connection: at least 8 Mbit/s download speed
  • Comfortable for long-term operation: fast CPU with 8 or more cores
  • Recommended storage: high-performance NVMe SSD with 2TB to 4TB of space for growth and maintenance headroom
  • Recommended connection: at least 25 Mbit/s download speed
10

How to use Geth

Geth runs in the background as a node and is controlled from the terminal. Once it is installed, a basic session has a clear rhythm: start the node, connect to it and watch it sync. The steps below show a simple first run on Windows.

  1. Open PowerShell and confirm the installation with geth version.
  2. Decide where chain data will be stored and start Geth with the --datadir flag pointing to a folder on your fast SSD.
  3. Choose a sync mode. The documentation describes snap sync, which is the faster route for most new nodes.
  4. Leave the node running in its own terminal window so it can keep receiving blocks.
  5. Open a second window and run geth attach to connect to the running node through its console.
  6. In the console, type eth.syncing to see whether the node is still catching up or has reached the current head.
  7. Type net.peerCount to check how many peers your node is connected to, then type exit to close the console without stopping the node.
  8. Use the help flag, geth --help, to explore further options once you are comfortable with the basics.
11

Pros & cons

Pros
  • Free and open source under the GPLv3 license
  • Official Go implementation of the Ethereum protocol
  • Installs on Windows with a single winget command
  • Runs on Windows, macOS, Linux and Docker
  • Console access through geth attach for querying a running node
  • Snap sync option for faster initial synchronization
Cons
  • Full-node hardware needs are demanding, including a fast CPU and a 2TB+ SSD
  • Command-line focus makes it less friendly for casual users
  • Documentation lists Ethereum (ETH) as the supported network only
  • Setup involves choices about endpoints, memory and sync mode that beginners must learn
12

Is Geth safe?

Download Geth only from the official website at geth.ethereum.org or from the official GitHub Releases page for the go-ethereum project. Check the SHA-256 checksum or signature of the file against the values published with the release before you run it. The winget package comes from the official repository, but it is still worth confirming the package source each time you install or update.

Windows SmartScreen or your antivirus may warn about an unfamiliar executable. Review the warning and confirm the file came from a trusted source rather than disabling protection altogether. Never enter a seed phrase on a third-party website, because no legitimate node setup asks for one. If you create accounts on your node, protect the keystore files and their passwords as carefully as you would any wallet. Before installing, check the latest version, currently 1.17.9, on the official website.

  • Official source only. Download from geth.ethereum.org. Ignore ads and lookalike domains.
  • Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
  • Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
13

Alternatives

Geth is the Go implementation of the Ethereum execution layer and a common choice for running an Ethereum node. Nethermind is also an Ethereum execution client, but it is written for .NET, so it suits teams already working in that stack. Erigon focuses on performance, which may appeal to operators who prioritize speed. Nimbus is a lightweight consensus client, so it pairs with an execution client rather than replacing one. OpenEthereum was a former Parity client and is discontinued, so it is not a practical choice for new setups. GoQuorum targets enterprise private networks and is no longer maintained. Ganache is a personal blockchain for development and testing rather than a public-network node.

14

Specifications

Price
Free
Type
Open source
License
GPLv3
Latest version
1.17.9
Last update
31 Oct 2026
Windows support
Yes (available via winget)
Official site
geth.ethereum.org
Source code
github.com/ethereum/go-ethereum
Install command
winget install Ethereum.geth
15

Frequently asked questions

Geth is safe to use when you get it from official sources. Download it from geth.ethereum.org or the GitHub Releases page, check the SHA-256 checksum or signature, and install it with winget if you prefer. Its source code is public under GPLv3, so independent developers can review it. Never enter a seed phrase on a website that claims to offer Geth.

Yes, Geth is free and open source under the GPLv3 license. You can download, use and modify it without paying a license fee. Running a node still has real costs, since you need a capable computer, a large SSD and a reliable internet connection.

The quickest route is winget. Open PowerShell, run winget install Ethereum.geth, then open a new terminal and type geth version to confirm the install. You can also download the Windows build manually and verify its checksum before running it.

A usable node needs a CPU with at least four cores, an SSD with at least 2TB of free space and an 8 Mbit/s download connection. For long-term operation, the guidance points to a CPU with eight or more cores, a 2TB to 4TB NVMe SSD and at least 25 Mbit/s download speed.

Geth is built for Ethereum, and its documentation lists Ethereum (ETH) as the network it runs. It does not connect to Bitcoin or other separate blockchains. Developers who need other networks typically use client software designed for those chains.

Geth is a node, not a wallet. It serves blockchain data through its RPC interface, which other software can query. Keep private keys on a secure machine and never paste a seed phrase into a node console or a website.

Ethereum is the network and its protocol, while Geth is one software implementation that runs a node on that network. Other clients, such as Nethermind or Erigon, also implement the protocol and can interoperate with Geth on the same network.

Alternatives in this catalog include Nethermind, Erigon and Nimbus. Nethermind is an execution client written for .NET, Erigon emphasizes performance and Nimbus is a consensus client that pairs with an execution client. The best fit depends on your development stack and hardware.

16

Verdict

Geth is the right pick for developers and operators who want an official, free and open source Ethereum execution client on Windows. It installs cleanly with winget, runs on several platforms and includes a console for inspecting a live node. It is not a casual wallet, and the hardware bar for a full node is real, so plan disk space and bandwidth before you start. If you want to compare implementations, Nethermind and Erigon are the logical next stops.

Download now