Ethereum CryptoKitties: by the Numbers

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.

Image for post
Image for post
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.

Image for post
Image for post
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.

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

Image for post
Image for post
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:

Image for post
Image for post

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:

Image for post
Image for post

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.

Image for post
Image for post

Here’s the CDF:

Image for post
Image for post

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.

Image for post
Image for post

How about the top 100 by ID?

Image for post
Image for post

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?

Image for post
Image for post

Wrong. Although, the trend is very week.

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

Image for post
Image for post

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

Written by

Python Data Engineer, MSc. Physics

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store