Why did breeding a new CryptoKitty cost more last week?

Newborns are never free, but they were particularly costly last week. Here’s why.

With CryptoKitties, we want to showcase the value of blockchain while being transparent about the technology’s challenges. We try to overcome these challenges for players whenever possible, providing as seamless and delightful an experience as possible — but that’s not always possible (yet).

A newborn baby costs about US$12,000; a newborn Kitten costs about USD$4

It typically costs 0.008 ETH to breed a new Kitty. We call that the “birthing fee”, and it covers the cost of the giveBirth function, which literally lets your preggers Kitties give birth. The birthing fee goes to the miners and people who birth your Kitties on the Ethereum network.

Birthing fees are not a source of revenue for CryptoKitties. In fact, birthing new CryptoKitties usually costs us money.

The cost to call giveBirth is determined by the Ethereum network, not by us. And this past week the network has been incredibly congested. Here’s a twitter thread explaining why: https://twitter.com/MyCrypto/status/1014270468046479360

How we dealt with a congested blockchain network: a timeline

Ideally, a player wouldn’t even have to know about these fees, let alone have to deal with them. That’s not possible — at least, not yet.

For now, we try to keep the birthing fee as constant as possible to keep the user experience as consistent as possible. That why we tried just eating the extra cost associated with birthing, but while it helped our players financially, it still lead to incredibly slow transactions.

It’s frustrating when your expectations aren’t met, and while keeping the birthing fee at 0.008 ETH does lead to a better overall user experience, it also leads some misunderstandings about how this fee works — a misunderstanding that typically arises when the birthing fee needs to increase for birthing to be technically possible.

Every time the cost of gas spiked, we ended up with a large queue of underpriced transactions. We tried adjusting our own gas price to accommodate and stop the transactions from getting stuck, but the spikes are sudden and hard to predict, and a human has to go in and manually make those adjustments, which means… Well, it means that last week we had about 80 pending giveBirths and Gen 0 auction creations that were completely stuck until the gas price dropped again. And that’s worse than a full litter box.

We tested temporarily raising the cost of the birthing fee to 0.015 over the weekend. As soon as the network congestion cleared and the cost of gas went down, we dropped our birthing fee back to 0.008.

It worked! No stuck transactions, and a steadier flow of births.

We’ve been here before.

This isn’t the first time we’ve had to increase the birthing fee.

Last time this came up, we tried to fill the gap between the birthing fee and giveBirth cost by paying the high gas prices to birth players’ Kitties, but that made the birthing process dangerously centralized. The only sure way to protect the fairness of the breeding process was to increase the breeding fee to a point where community members were incentivized to run their auto-birth daemons again.

It worked, and that’s why we’ve clarified that this will be our strategy going forward; but also, that we’ll be sure to lower prices back down to 0.008 when congestion decreases. Having a stable floor provides internal stability, and we’ll keep that as our yardstick unless network circumstances change pretty drastically.

The current birthing fee will always be listed in our FAQ.

If you ever want to review our contract code to learn how CryptoKitties works (and why we often operate birthing at a loss), it’s transparent and publically available.