Testnets do not catch everything
Greg Markou has a simple warning for Ethereum developers: passing a testnet does not mean an upgrade will go smoothly on mainnet. The Sprinter co-founder and CEO said protocol changes are hard to test, and they can break many apps without much warning. He was speaking in a public developer discussion about shipping changes on Ethereum. His point was not that testnets are useless. It was that they miss edge cases.
On mainnet, apps talk to wallets, libraries, and other contracts in combinations that a test environment rarely copies exactly. A change that looks harmless in isolation can still cause problems once real users and real money are involved. That gap is where trouble tends to hide.
The London hard fork lesson
Markou’s view comes from direct experience. He was maintainer of web3.js during the EIP-1559 upgrade, which shipped with the London hard fork in August 2021. web3.js is a JavaScript library that lets applications communicate with Ethereum. If it breaks, a lot of apps feel it.
According to Markou, an update tied to that upgrade affected nearly every application that relied on web3.js. The issue involved an invariant with MetaMask that went undetected. An invariant is a condition developers assume will always be true. When that assumption fails, software built on top of it can start to wobble.
He described Ethereum as an absolute monolithic beast. It is not a warm compliment. The network is large and connected enough that predicting how one change ripples outward is genuinely difficult. Perhaps that is why upgrade testing remains such a messy problem.
Why mainnet is different
Testnets are practice chains. Developers can try changes there without risking real funds. Markou agreed they are useful. His argument is narrower: they cannot cover every live-app edge case. The MetaMask invariant that caused problems for web3.js users in 2021 is a clear example of a blind spot.
That does not mean every Ethereum upgrade will cause damage. It does mean teams should not treat a clean testnet run as a guarantee. Applications often depend on assumptions that are not written down, and those assumptions are exactly what a hard fork can expose.
No new protocol change announced
Markou previously co-founded ChainSafe Systems, which maintained web3.js. Sprinter launched out of ChainSafe, and he now leads it as CEO. The company raised $5.2 million in a seed round in November 2025. It focuses on cross-chain credit and infrastructure. Sprinter also plans a native governance token called SPRINT.
The discussion did not introduce a new upgrade or protocol change. It was a conversation about lessons learned, not an announcement. For developers, the takeaway is straightforward: test thoroughly, but expect mainnet to find the gaps.
![]()

