Ethereum CryptoKitties: by the Numbers

Alex Galea
4 min readDec 6, 2017

These cute little bastards are clogging up the Ethereum blockchain. Why? Because people are trading them for thousands of dollars. Let’s take a look.

CryptoKitties

What are Crypto Kitties?

Last updated: December 5th, 2017

There are over 37,000 crypto kitties currently in existence at time of writing. Each Kitty has a unique ID and its own public page on the domain. For example: here’s a cat that sold for over $100,000 on December 2nd, 2017.

https://www.cryptokitties.co/kitty/1

There’s a game mechanic that allows you to breed Kitties, producing new ones which can then be sold. They are basically breedable Beanie Babies.

The Kitties, of course, are tracked on the Ethereum blockchain.

I read the white pa-purr and found out that they created the so called ERC-721 protocol to track the Kitties:

An excerpt from the white paper.

Here’s the github page where the protocol is defined:

The market cap is 6 million as of time of writing. Yes, this is real USD money that’s been used to buy these things. Well actually, the Kitties are purchased with ether. In this post, we quantify the cost of each Kitty by using the USD valuation of the transacted ether on the purchase date.

Kitty Sale Prices

Here’s the distribution of Kitty costs:

90% of them have sold for less than 100 bucks.

But on the other hand, some have sold for insane amounts of money. Here are the most expensive Crypto Kitties:

Those — the top 10 — total to over $800,000.

Shifting our attention to the majority of the distribution, we see they are predominantly sold for less than 50 bucks. Still a lot to pay for a useless digital asset.

Here’s the CDF:

We can eyeball that about 80% cost less than $50.

It turns out the most expensive Kitty so far is the first one ever created, labelled with ID = 1. It’s no surprise that this Kitty is the most sought after.

Let’s look at the price of the top 10 Kitties by ID.

How about the top 100 by ID?

There’s certainly a trend here. Possible trade strategy to acquire and re-sell low-priced Kitties. Good luck, I’m not messing around with that kinda cash 🤑.

So we would expect the price to be negatively correlated with ID? Right?

Wrong. Although, the trend is very week.

Even if we weight the linear model by Price, it still correlates positively with the Kitty ID.

In fact, we see an empty area in the bottom right, revealing a common minimum price that newly bred Kitties are sold for. Perhaps this is related to the cost of breeding them.

Conclusion

At first, when working on this, I was inspired to create similar platforms and explore the asset protocol pioneered with this project.

Then, after doing the cost analysis of this micro-economy, I started to imagine strategies for gaming the system.

Want a simple strategy? Notice the sparse population of dots in the bottom right of the plot above? Look for new Kitties less than $20, and try to re-sell them immediately at higher cost.

Get in touch with me on Twitter if you want to chat:

I’ll leave you with the data source I used and the code I wrote to scrape it.

Data source & JavaScript scrape

I found a list of the Crypto Kitty prices here. To scrape the JS table I used Python and Selenium. Here’s a simplified version of the code:

from selenium import webdriver
from bs4 import BeautifulSoup
import time
driver = webdriver.Chrome('/Users/alex/chromedriver')
driver.get('https://kittysales.herokuapp.com/')
data = []
while True:
soup = BeautifulSoup(driver.page_source, 'html.parser')
rows = soup.find_all('div', {'class', 'rt-tr-group'})
for row in rows:
data.append([d.text for d in row.find_all('div')[1:]])
time.sleep(2)
try:
# Click "next page" button
driver.find_elements_by_tag_name('button')[1].click()
except:
break

--

--