Core-Geth: an Ethereum Classic execution client
Read from GitHub on .
an Ethereum Classic execution client
Run a full Ethereum Classic node on Linux, macOS or Windows. One binary serves Ethereum Classic, Mordor, MintMe and private chains.
About Core-Geth
Core-Geth is an execution client for Ethereum Classic: the software that holds the chain, validates every block and answers the JSON-RPC calls an application makes. It is a go-ethereum downstream that keeps chain configuration as data rather than hard-coded, so one binary serves Ethereum Classic, Mordor, MintMe and private chains.
Core-Geth is a reference client for Ethereum Classic, kept as a public good in the ethereumclassic GitHub organization, the same convention bitcoin/bitcoin follows for Bitcoin and ethereum/go-ethereum for Ethereum. It carries Ethereum Classic's consensus rules itself, every fork from Frontier through Spiral, because go-ethereum does not.
Running geth is running a complete Ethereum Classic node: it finds peers, syncs the chain, validates every block it receives, and serves the result to whatever you point at it.
geth --classic
geth --mordor
Run Ethereum Classic, the Mordor test network, MintMe or a private chain from the same binary. A flag picks the network.
chain 61 / chain 63 / chain 24734 / your own genesis
Command lineSnap sync to catch up quickly, full sync to replay every block yourself, archive when you need every historical state on hand.
--syncmode snap / --syncmode full / --gcmode archive
Sync modesServe wallets, explorers and indexers over HTTP, WebSocket and IPC, with the namespaces they expect and IPC on by default.
--http / --ws / IPC on by default
JSON-RPC APILinux, macOS and Windows, on x86-64 and Arm, plus a container image for a host that already runs one.
9 platforms per release, each with a checksum and an attestation
InstallationScrape metrics in the Prometheus format or push them to InfluxDB, and read logs that tell you whether a node is healthy.
--metrics / Prometheus / InfluxDB
MonitoringWhat a full node and an archive node need in disk, memory and time to sync, measured rather than estimated.
disk / memory / sync time, measured per network
Hardware requirementsThe Core-Geth repository
On December 21, 2024, Core-Geth maintenance moved to ethereumclassic/core-geth from etclabscore/core-geth, as the ETC Cooperative's published roadmap on July 30, 2024 had proposed. Archives still published under etclabscore/core-geth are built from the older code and do not carry the v1.13 fixes, so they are not a release to run: move to the latest v1.13 release instead.
Core-Geth: an Ethereum Classic execution client
Read from GitHub on .
The ETC Cooperative is winding down, and the services it maintained are moving to the ethereumclassic GitHub organization: the Core-Geth client, the peer discovery lists, the bootnodes and public JSON-RPC.
The peer discovery lists are how a node finds its first peers. v1.13 reads the ethereumclassic organization's lists by default, and a v1.12.x node switches to them with one flag. Before you move a node, a pool or an application to a new source of software or data, confirm which organization publishes it.
Core-Geth security and provenance
The dormancy
The last stable release from etclabscore/core-geth was v1.12.20, before 21 months of dormancy, through which contributors' issues and pull requests went unmerged. The emergency releases that eventually followed were still built on Go versions no longer supported. Go is compiled into the binary rather than loaded when it runs, so each of those releases carries 75 known Go security flaws for as long as the node is up, and nothing short of a new build removes them.
The attack
One of the flaws left unpatched through the gap was used against Core-Geth v1.12 bootnodes in March 2026, in an attack on that line. Ethereum Classic core developers had resumed maintenance in ethereumclassic/core-geth the month before and had disclosed the fixes privately to the etclabscore/core-geth maintainers, who copied them into emergency v1.12 releases while the v1.13 line was built and tested in ethereumclassic/core-geth for the network to move to.
The solution
v1.13.0, published from ethereumclassic/core-geth, fixes all six client CVEs the audits found in the v1.12 client code and returns the dependencies and the Go toolchain to supported versions. Every node still on a v1.12 release should move to the v1.13 line.
For node operators
If you run an Ethereum Classic node, a mining pool, an exchange or an RPC endpoint, these come first. Upgrading closes what the audits found, and the other three steps are the parts an upgrade cannot do for you.
Then read Questions and answers, the short version of the documentation.
v1.12 line: one of the flaws in that line leaks bits of that key across repeated handshakes, and no fix can take back what already leaked. A key that has only ever run v1.13 was never exposed, so a fresh install skips this step.ethereumclassic/core-gethReleases are published from ethereumclassic/core-geth. Anything still watching etclabscore/core-geth, a script or a mirror, will not see a new release.--mess turns it on and --mess=false turns it off; without either, a node uses the setting its release ships with. Every node you run should carry the same one.Find your guide
Support Core-Geth
No part of the network's fee or issuance revenue pays for this client. Whether it is maintained has always depended on an organization choosing to pay for it, and every organization that has done so eventually left, handing the work to the next one.
2,500,000 to 5,900,000
Maintained Ethereum Classic's first clients, Classic Geth among them, in the legacy ethereumproject GitHub organization, from the Gas Reprice upgrade in October 2016 to Defuse Difficulty Bomb in May 2018. Left the ecosystem in 2018.
8,772,000 to 13,189,133
Funded client development from the Atlantis upgrade in 2019 to Magneto in 2021, including the work that forked multi-geth into Core-Geth and led it through the rebrand. Left the ecosystem in 2021.
The fork and the rebrand14,525,000 to 19,250,000
Funded Core-Geth from January 2022, through the Mystique and Spiral upgrades, then entered maintenance mode at the end of 2024. Core development stalled from June 2024 to February 2026, and the Cooperative is scheduled to dissolve by the end of 2026.
Where each service continues19,250,000 to present
Funded the resumption of maintenance in February 2026. An attack on Core-Geth v1.12 bootnodes that March used one of the flaws the gap had left unpatched, and v1.13.0 shipped in September 2026 with every one of them closed. The work itself is done by the core developers and the community.
Activation blocks from ECIP-1066, the network's upgrade registry.
A funder of last resort keeps the work alive. It does not make the work sustainable, and it leaves the network one backer away from the gap it has just come out of. The developers who do the work are in place, and so is the standing entity that maintains and funds it, and what the work needs is steady funding from the operations that depend on it: mining pools, exchanges and custodians, issuers of Ethereum Classic products, mining hardware manufacturers, block explorers and RPC providers.
Sponsor this work