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.
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.
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.
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.
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.
Key features
Official Go Implementation
Snap Sync Mode
Multi-Platform Support
Terminal Control and Attach Console
Open Source Under GPLv3
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.
How to install Geth on Windows
PS> winget install Ethereum.geth - 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
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
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
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.
-
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.
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
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.
- Open PowerShell and confirm the installation with geth version.
- Decide where chain data will be stored and start Geth with the --datadir flag pointing to a folder on your fast SSD.
- Choose a sync mode. The documentation describes snap sync, which is the faster route for most new nodes.
- Leave the node running in its own terminal window so it can keep receiving blocks.
- Open a second window and run geth attach to connect to the running node through its console.
- In the console, type eth.syncing to see whether the node is still catching up or has reached the current head.
- Type net.peerCount to check how many peers your node is connected to, then type exit to close the console without stopping the node.
- Use the help flag, geth --help, to explore further options once you are comfortable with the basics.
Pros & cons
- 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
- 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
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.
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.
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
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.
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.