Ethereum upgrades are hard to test, says Sprinter CEO Greg Markou

Ethereum upgrades can look safe after a testnet run and still break live applications. That is the warning from Greg Markou, co-founder and CEO of Sprinter. He says testing protocol changes on the world’s busiest smart contract platform is harder than many people assume. His point is narrow, not a rejection of testnets. They help. They just cannot copy every combination of wallets, libraries, and contracts that apps use on mainnet.

A London hard fork lesson

Markou has seen the problem up close. He was a maintainer of web3.js during the EIP-1559 upgrade, which shipped with the London hard fork in August 2021. web3.js is the JavaScript library many apps use to talk to Ethereum. If it stumbles, the apps above it can stumble too.

According to Markou, an update tied to that fork had effects nobody fully expected. Nearly every application relying on web3.js was affected. The root cause was an invariant involving MetaMask that went undetected. An invariant is a condition developers treat as always true. When it stops being true, software built on that assumption can fail.

He described Ethereum as an absolute monolithic beast. The phrase is not warm, but it captures the scale of the problem. The network is large and tightly connected. A small change can travel in ways that are hard to predict before it reaches users.

Why testnets miss some failures

Testnets let developers try changes without risking real funds. They are useful, and Markou says as much. But they are not a full safety net. Live apps meet wallets, libraries, and other contracts in patterns that a single test environment may never reproduce. The 2021 MetaMask-related issue is a clear example of that blind spot.

Markou previously co-founded ChainSafe Systems, which maintained web3.js. Sprinter came out of ChainSafe, and he now leads it as CEO. The company raised $5.2 million in a seed round in November 2025. It works on cross-chain credit and infrastructure, with a pitch it calls solving-as-a-service. Sprinter also plans a native governance token called SPRINT.

No new upgrade or protocol change came from the discussion. It was a conversation about shipping lessons, not a launch. For developers, the takeaway is simple. A clean testnet result is useful, but it is not proof that mainnet is ready.

Share this article