When Vancouver-based venture studio Axiom Zen launched CryptoKitties in October of 2017, it was intended to be a playful experiment of early stage blockchain technology. CryptoKitties users breed and trade unique digital kittens, upvote and engage with the community, and revel in the still-novel joy of a fully-functional application built on a distributed network. Conceptually somewhere between Neopets and futures trading, the disarmingly simple CryptoKitties game captured imaginations with the emergent blockchain community and beyond. Before long, the CryptoKitties craze had spiraled beyond anyone’s expectations— for better and worse.

By early December, CryptoKitties had turned viral sensation, sending prices for some kittens well into the six figures, earning slightly bemused mentions from across mainstream news media, and clogging up the Ethereum network with so many transactions — a sixfold increase in total network requests in the first week of December alone — that many feared the entire Ethereum blockchain would grind to a halt before it ever even had a chance to achieve its promise.

In response to what was unfolding to be an industry-wide dilemma, an impromptu taskforce of Ethereum developers from projects like MetaMask, Infura, and Grid+ came together and joined the CryptoKitties team in formulating short-term optimizations and longer-term scaling solutions that not only alleviated the immediate danger, but laid out roadmaps towards a more functional future. Perhaps even more importantly, the saga highlights the remarkably collaborative and cooperative nature of the blockchain space and developer community.

In their own words, here is the inside story on the CryptoKitties Congestion Crisis of 2017…

Bryce Bladon, Co-Founder of CryptoKitties: “Although we wouldn’t have pursued the CryptoKitties project if we didn’t want it to be a success, we did not expect it to catch fire quite like it did. And I mean that in the metaphorical and, potentially, the literal sense. We soft launched an alpha at ETH Waterloo, the most basic version of the game possible on the Rinkeby Testnet. All signs were great. We thought we’d caught all the bugs and issues. We were expecting to have to deal with things like scaling at some point. We did not expect it to be in the first week…”

Dan Finlay, MetaMask: “When I went to ETH Waterloo, I met this scrappy team who gave me a business card printed on the back of a Pokemon card. I’ve always said about this space: it’s so young and immature that we should be trying small, stupid things first so we can learn how to do it well. Like when the DAO happened, for example. The stakes were so high that it made no sense. So I was into CryptoKitties, and tweeted about the project in exchange for naming a cat. They clearly had some social media savvy and were getting in touch with lots of people, pushing the idea.”

Bryce Bladon, CryptoKitties: “Less than a week later, we launched, and it was immediately clear that we were on an upward trajectory. By the end of the week, we knew that scaling was going to be our number one issue for the foreseeable future.”

Dan Finlay, MetaMask: “When CryptoKitties finally happened, they launched on a Friday, and we had scheduled a Consensys design thinking retreat for that week. We were all in New York, basically checked out, with no one on staff. While we were there, people kept talking about CryptoKitties, showing us their collections, and very quickly things escalated to the point that people we met were paying off chunks of their college debt by flipping cats. Myself, I was just trying to breed a funny looking cat! Right when that mania started happening, we began getting reports of major congestion, problems, nothing working.”

Michael Wuehler, Infura: “Initially, CryptoKitties made the decision to depend completely on MetaMask, and funnel everybody through the MetaMask browser to use the dApp, and all of that traffic goes through Infura nodes on the backend. As a result, we were supporting all of that traffic. The network started to become really clogged. All of the blockchain read activity caused our daily requests to explode from 2 Billion/day to over 4 Billion/day… overnight! In addition, the pending transaction queue kept rising, which means the network wasn’t processing fast enough to clear out new requests. When that happens, the miners reset the gas price to make transactions cost more, and then market forces will control the queue. So, all of a sudden, the fees to buy the kitty cost more than the asset itself. That was not good, and was the trigger that we had a problem. That threatened to kill CryptoKitties entirely, because when the fees are so inhibitive, it’s game over.”