Core-GethThe pages of this site follow this link

Core-Geth downloads

Get the Core-Geth client.

Download a release for Linux, macOS or Windows, run it as a container, or build it from source. Every archive and image is published with a checksum and a build attestation, so you can confirm what you downloaded before you run it.

Latest release v1.13.0, published September 14, 2026. Release notes · All releases

Install Core-Geth

How to download, install, and run the Core-Geth client

Each block takes the build most machines need: the x86-64 archive on Linux, Apple Silicon on macOS, the published image for containers. The note under each block says what to change for another architecture. For the full version of any step, and the cases these blocks leave out, read the installation guide on docs.coregeth.com. Check an archive against its checksum and its build attestation before you run it: both commands are at the foot of this page.

Every download here is the latest v1.13 release. If you are replacing a v1.12 node, the upgrade is a security action rather than housekeeping, and that node needs a new P2P key afterwards: what the audits found says which flaws each v1.12 release still carries.

Choose your platform

Linux

From nothing to a running node

# 1. Download the release and its checksum
curl -LO https://github.com/ethereumclassic/core-geth/releases/download/v1.13.0/core-geth-linux-v1.13.0.zip
curl -LO https://github.com/ethereumclassic/core-geth/releases/download/v1.13.0/core-geth-linux-v1.13.0.zip.sha256

# 2. Check it, then unpack and install
sha256sum -c core-geth-linux-v1.13.0.zip.sha256   # core-geth-linux-v1.13.0.zip: OK
unzip core-geth-linux-v1.13.0.zip
sudo install -m 0755 geth /usr/local/bin/geth
geth version

# 3. Start a node on Ethereum Classic
geth --classic

For the Mordor test network, run geth --mordor instead. On an Arm board, put arm64, arm7, arm6 or arm5 where the file name says linux, matching what uname -m prints. sha256sum -c must print OK: if it prints FAILED, delete the file and download it again rather than running it.

Linux users guide

Every file in this release

uname -m decides which archive you need, whatever distribution you run: a 64-bit capable board can still be running a 32-bit system. The x86-64 and Arm64 archives need glibc 2.17 or newer, which is RHEL 7, CentOS 7 and anything more recent; the 32-bit Arm archives need 2.28.

FileYour machineSizeChecksum
core-geth-linux-v1.13.0.zipx86_64: most servers and desktops33 MBsha256
core-geth-arm64-v1.13.0.zipaarch64 or arm64: Raspberry Pi on a 64-bit OS, AWS Graviton, Ampere30 MBsha256
core-geth-arm7-v1.13.0.ziparmv7l: Raspberry Pi on a 32-bit OS, and other 32-bit boards31 MBsha256
core-geth-arm6-v1.13.0.ziparmv6l: older Raspberry Pi31 MBsha256
core-geth-arm5-v1.13.0.ziparmv5tel and other armv5: embedded boards31 MBsha256
core-geth-arm-v1.13.0.zipOther 32-bit Arm boards31 MBsha256
core-geth-alltools-linux-v1.13.0.zipx86_64: most servers and desktops213 MBsha256
core-geth-alltools-arm64-v1.13.0.zipaarch64 or arm64: Raspberry Pi on a 64-bit OS, AWS Graviton, Ampere194 MBsha256
core-geth-alltools-arm7-v1.13.0.ziparmv7l: Raspberry Pi on a 32-bit OS, and other 32-bit boards205 MBsha256
core-geth-alltools-arm6-v1.13.0.ziparmv6l: older Raspberry Pi205 MBsha256
core-geth-alltools-arm5-v1.13.0.ziparmv5tel and other armv5: embedded boards207 MBsha256
core-geth-alltools-arm-v1.13.0.zipOther 32-bit Arm boards207 MBsha256

macOS

From nothing to a running node

# 1. Download the release and its checksum
curl -LO https://github.com/ethereumclassic/core-geth/releases/download/v1.13.0/core-geth-osx-arm64-v1.13.0.zip
curl -LO https://github.com/ethereumclassic/core-geth/releases/download/v1.13.0/core-geth-osx-arm64-v1.13.0.zip.sha256

# 2. Check it, then unpack and install
shasum -a 256 -c core-geth-osx-arm64-v1.13.0.zip.sha256   # core-geth-osx-arm64-v1.13.0.zip: OK
unzip core-geth-osx-arm64-v1.13.0.zip
sudo install -m 0755 geth /usr/local/bin/geth
geth version

# 3. Start a node on Ethereum Classic
geth --classic

For the Mordor test network, run geth --mordor instead. On an Intel Mac, use core-geth-osx-v1.13.0.zip. macOS has no sha256sum, so shasum -a 256 -c reads the same file. macOS also blocks a binary carrying the quarantine attribute: browsers set it and curl does not, so the commands above avoid it, and xattr -d com.apple.quarantine geth clears it from a browser download.

macOS users guide

Every file in this release

Built for macOS 12 and newer. macOS blocks a downloaded binary until it is allowed.

FileYour machineSizeChecksum
core-geth-osx-arm64-v1.13.0.zipApple Silicon, M1 and later17 MBsha256
core-geth-osx-v1.13.0.zipIntel Macs19 MBsha256
core-geth-alltools-osx-arm64-v1.13.0.zipApple Silicon, M1 and later110 MBsha256
core-geth-alltools-osx-v1.13.0.zipIntel Macs120 MBsha256

Windows

From nothing to a running node

# 1. Download the release and its checksum, in PowerShell
Invoke-WebRequest "https://github.com/ethereumclassic/core-geth/releases/download/v1.13.0/core-geth-win64-v1.13.0.zip" -OutFile "core-geth-win64-v1.13.0.zip"
Invoke-WebRequest "https://github.com/ethereumclassic/core-geth/releases/download/v1.13.0/core-geth-win64-v1.13.0.zip.sha256" -OutFile "core-geth-win64-v1.13.0.zip.sha256"

# 2. Compare these two lines, then unpack
(Get-FileHash "core-geth-win64-v1.13.0.zip" -Algorithm SHA256).Hash
Get-Content "core-geth-win64-v1.13.0.zip.sha256"
Expand-Archive "core-geth-win64-v1.13.0.zip" -DestinationPath C:\core-geth

# 3. Start a node on Ethereum Classic
cd C:\core-geth
.\geth.exe version
.\geth.exe --classic

For the Mordor test network, run .\geth.exe --mordor instead. PowerShell has no equivalent of sha256sum -c, so compare those two lines yourself: Get-FileHash prints uppercase hex and the .sha256 file holds lowercase followed by the file name, and the letters must match; the case does not.

Windows users guide

Every file in this release

Windows names the publisher as unknown on a first run.

FileYour machineSizeChecksum
core-geth-win64-v1.13.0.zip64-bit Windows33 MBsha256
core-geth-alltools-win64-v1.13.0.zip64-bit Windows216 MBsha256

Containers

From nothing to a running node

# 1. Pull the published image and check that it runs
docker pull ghcr.io/ethereumclassic/core-geth:latest
docker run --rm ghcr.io/ethereumclassic/core-geth:latest version

# 2. Start a node, keeping the chain in a named volume
docker run -d --name core-geth-classic \
    --restart unless-stopped --stop-timeout 300 \
    -v core-geth-classic:/root \
    -p 30303:30303 -p 30303:30303/udp \
    ghcr.io/ethereumclassic/core-geth:latest --classic

The volume is mounted at /root, so the chain survives the container being replaced. For Mordor, run the same command with core-geth-mordor as the container and volume name and --mordor as the flag.

Docker users guide

Every file in this release

A tarball to load into a local daemon. Pulling the published image is the usual route.

FileYour machineSizeChecksum
core-geth-docker-amd64-v1.13.0.tar.gzlinux/amd64 hosts37 MBsha256
core-geth-docker-arm64-v1.13.0.tar.gzlinux/arm64 hosts35 MBsha256
core-geth-alltools-docker-amd64-v1.13.0.tar.gzlinux/amd64 hosts226 MBsha256
core-geth-alltools-docker-arm64-v1.13.0.tar.gzlinux/arm64 hosts207 MBsha256

Source

Building needs Go 1.26 or later and a C compiler. Checking out the release tag builds the same source the published archives were built from; a binary built from main prints unstable as its release stage until a release is prepared. To build with the exact Go toolchain the releases use, run go run build/ci.go install -dlgo in place of make geth.

github.com/ethereumclassic/core-geth

Build the latest release

# 1. Clone the repository and check out the release
git clone https://github.com/ethereumclassic/core-geth.git
cd core-geth
git checkout v1.13.0

# 2. Build the node, then confirm it
make geth
./build/bin/geth --help

Build what is in development

# The same, from main: clone, build, confirm
git clone https://github.com/ethereumclassic/core-geth.git
cd core-geth
make geth
./build/bin/geth --help
Build from source

An alltools archive is the same client with the rest of the tools beside it: abigen, clef, evm, rlpdump and the others. To run a node, take the plain archive.

Verify a Core-Geth download

Verify what you downloaded

Two checks, and they answer different questions. The checksum says the file arrived intact. The attestation says which workflow built it, from which commit, which is the question a checksum cannot answer.

# Check a downloaded archive, and where it came from
sha256sum -c core-geth-linux-v1.13.0.zip.sha256   # macOS: shasum -a 256 -c
# core-geth-linux-v1.13.0.zip: OK

gh attestation verify core-geth-linux-v1.13.0.zip --repo ethereumclassic/core-geth
# Loaded digest sha256:... for file://core-geth-linux-v1.13.0.zip
# Loaded 1 attestation from GitHub API
# ✓ Verification succeeded!
#
# - Attestation #1
#   - Build repo:..... ethereumclassic/core-geth
#   - Build workflow:. .github/workflows/release-packages.yml@refs/tags/v1.13.0

sha256sum -c must print OK. If it prints FAILED, delete the file and download it again rather than running it. Between the lines above, the attestation check also prints the policy it enforced: the repository, the workflow identity and the OIDC issuer it requires before it will succeed.

What every release carries

  • A checksum beside every file. A .sha256 is published with each archive and each image tarball.
  • A build attestation on every archive and image. It is minted against a short-lived certificate issued to the workflow run itself, and records which workflow, at which commit, produced the file, so each one traces to the run that built it rather than resting on anyone's word.
  • Provenance for the container images. Recorded for the published image index and for each image tarball.

On a first run Windows names the publisher as unknown, and macOS blocks a downloaded binary until it is allowed. The installation guide says how to check an archive and proceed.

How the release artifacts are built and checked