Developing for ETC
Ethereum Classic runs a fully EVM-compatible execution layer, so building on ETC is very close to building on Ethereum. The EVM on ETC tracks the Ethereum feature set up to the Shanghai upgrade — contracts and tooling that target Shanghai (or earlier) deploy to ETC without changes.
Languages & Tooling
Solidity and the EVM toolchain
The main language for ETC smart contracts is Solidity, the same language used across EVM chains. When compiling, set the target evmVersion to shanghai (or earlier), since ETC does not yet include later opcodes such as TSTORE/TLOAD (transient storage), MCOPY, or CLZ.
Modern Ethereum tooling works out of the box: Hardhat and Foundry for development and testing, and libraries like ethers.js or viem for client-side integration. Vyper is also supported for teams that prefer its Python-like syntax.
Block explorer
Inspect transactions, contracts, and accounts on ETC mainnet through Blockscout at etc.blockscout.com. The explorer supports verified contract source, ABI lookup, and read/write contract interactions directly from the browser.
Standards & Resources
ECIPs and clients
Protocol changes on ETC are proposed and tracked as ECIPs (Ethereum Classic Improvement Proposals) at ecips.ethereumclassic.org. For the execution clients, research projects, and infrastructure maintained by the Cooperative, see our Development page.
If you already build on Ethereum, deploying on ETC is mostly a matter of pointing your tooling at an ETC RPC endpoint — such as Rivet — and targeting the Shanghai EVM version. The same contracts, patterns, and libraries carry over.