Mainnet and testnet
A blockchain’s main network, or mainnet, is where transactions carry real value. ethereum.org describes Ethereum Mainnet as the primary public production blockchain, where actual-value transactions occur, and the network people mean when they talk about the price of ETH.
A testnet is a separate public network for trying things out first. ethereum.org describes public testnets as networks that protocol and smart contract developers use to test protocol upgrades and contracts in a production-like environment before deploying to Mainnet, and compares the relationship to production and staging servers. It recommends testing any contract code on a testnet before deploying it to Mainnet.
The two networks do not share state. An Ethereum account works on both, but its balance and transaction history do not carry over from Mainnet, and ethereum.org advises against reusing Mainnet accounts on testnets for security reasons.
Where test coins come from
Every transaction on Ethereum needs ETH to pay for gas, testnets included. Testnet ETH is supposed to have no real value, and developers get it free from faucets, web apps that send coins to an address you enter. ethereum.org notes one complication: markets have appeared for some kinds of testnet ETH that became scarce or hard to obtain.
Bitcoin works the same way. Its developer documentation describes testnet as safer and cheaper for development because the coins spent there have no real-world value, and as a public resource provided free by members of the community.
Ethereum’s testnets
ethereum.org lists two public testnets that client developers currently maintain:
- Sepolia, the recommended default testnet for application development. It uses a permissioned validator set controlled by client and testing teams.
- Hoodi, for testing validation and staking. It is open to anyone who wants to run a testnet validator.
Testnets come and go. ethereum.org describes Holesky as deprecated as of September 2025, with staking operators moved to Hoodi. Ephemery, another testnet, resets to its starting state every 28 days, so nothing on it lasts. Bitcoin’s BIP 94 introduced testnet4 after testnet3 had run for 13 years and developed problems, including a quirk that regularly reset mining difficulty and caused bursts of blocks.
Testnets also differ in who runs them. ethereum.org says most testnets started with a permissioned proof-of-authority mechanism, where a small number of chosen nodes validate transactions and create blocks, while some run open proof-of-stake like Mainnet.
Testnets and local development networks
A testnet is not the only place to test. ethereum.org describes development networks as Ethereum clients built for local development, which create a blockchain instance on your own computer and allow faster iteration than a public testnet, without fetching coins from a faucet. Bitcoin Core’s regtest mode does the same for Bitcoin: a private chain with testnet’s rules where you choose when blocks are created.
The two fit together: a local network for fast iteration, then a public testnet where other people and services can interact with the deployment, then mainnet.
What testnet status means for a service
When a service says it runs on a testnet, read it as a statement about its stage, not its quality. In practice it means:
- The tokens are not money. Fees are paid in testnet coins that are meant to have no real value.
- The network may change. Testnets can be deprecated, reset or replaced, and the validator set may be permissioned.
- The data is still public. A testnet is a public blockchain. Anything written to it can be read by anyone, and the writer cannot take it back.
Projects that build on Ethereum publish testnet deployments alongside mainnet ones; EigenLayer’s contracts repository, for example, lists separate deployment addresses for mainnet and for Sepolia. Offline Protocol’s Proof of Location is a documented case: it runs on the Ethereum Sepolia testnet, the geohash and each task’s time remain public there, and its documentation states that a plan allowance or charge does not make it a mainnet service.