Selling land on Cryptovoxels with OpenSea

Ben Nolan
OpenSea
Published in
5 min readJul 16, 2018

Cryptovoxels is a web-based virtual world project, a city of streets and parcels, where anyone can purchase land in the city and build their shop, artwork or performance space. The parcels in Cryptovoxels are represented as ERC721 Tokens (NFTies or Cryptocollectibles), and owners are given a set of tools for building their parcel using minecraft-like voxels.

This article gives some of the reasons we’ve used OpenSea as a marketplace for selling Cryptovoxel parcels.

I started Cryptovoxels with the goal of building a Virtual Reality metaverse where anyone can purchase and build on their virtual land. Instead of storing this ownership record in a SQL database, I decided to use Ethereum to make the land ownership decentralized, permanently stored in a smart contract on the Ethereum blockchain.

A parcel of land in Cryptovoxels is represented by 6 numbers (x1, y1, z1, x2, y2, z2) — which give a bounding box of the parcel. Parcel sizes are randomly generated using a procedural city generator, that also creates streets. Every parcel has at least 2 streets adjoining it, so you can freely walk from one parcel to another.

The Origin City street layout

Exploring the city by walking around feels very natural. It’s part of the reason people travel, is to go somewhere new and explore it by foot. And this adjacency and locality (wanting to be near where the people are) that makes property valuable in Cryptovoxels.

You may go to Cryptovoxels to watch a presentation or see a show, but afterwards, you can wander out onto the street with your friends, and then explore what is nearby. Even though you can teleport anywhere in the world by sharing a link, most people start their exploration at the center of the world (0,0 — the center of Origin City).

Looking across at three neighbours

The sale of parcels in Cryptovoxels is important, it’s what funds the development of the engine, and by selling to enthusiastic contributors, we get a thriving city of developed land, instead of a big wasteland of investor-only land.

When I created Cryptovoxels, I baked a sales method into the contract. Parcels that are owned by the contract owner can have a price set and be purchased directly from the contract.

Blue Sky, Warm Interior

The first land sales went directly to some friends and advisors that have been following the project for a few months. And after much prompting from discord members Trislit and Dafky, I was convinced to start selling the first parcels directly.

I had been researching OpenSea and it’s competitor marketplaces while I was building cryptovoxels, but it wasn’t until I was put on the spot and needed a quick and easy way to start selling that I decided to log into their site and see what happened if I started an auction.

The reverse dutch Auction on OpenSea

The problem with selling land on Cryptovoxels, is setting the price. You don’t want to set it so high that no one buys, but if you set it too low, you’re reducing the amount of income we have to fund development of the city.

This is where the reverse dutch auction that OpenSea has comes in super-handy. This is where you start at a starting price, and the price decreases to the ending price over a set number of days. OpenSea also provides an average sale price over the past week, so at the moment I’m starting parcels in the region of 0.3 ETH down to 0.1 ETH. Average sale price over all time is about 1.6 ETH.

The process I go through to list land on OpenSea is like this:

  • Mint a parcel using the admin interface and transfer that parcel to my wallet
  • Go to OpenSea, select the newly minted parcel, three clicks and the auction is started

When a parcel sells, I get a nice email from OpenSea (a nice way to start the day for sure).

This is a nice thing to see in your inbox

Some of the other cool features of OpenSea:

  • Images for all your parcels / tokens (I use mapnik to generate a top down map preview of the parcel)
  • Parcel properties (I use size, height, distance from origin) listed alongside a parcel
  • Parcel description. I generate the description, detailing the size of the parcel, and which streets it adjoins. Over time I’ll probably add ‘neighbourhood’ and interesting properties nearby (if you’re starting a bank you probably want to be near the First Bank of Cryptovoxels) to the description.

I don’t want this to seem too much like an ad for OpenSea, and in fact, most of the ease-of-use that I’ve found with OpenSea is due to the well developed and documented ERC721 token standard. By using the token json, and basing my contract off the OpenZeppelin ERC721 implementation, it was super easy to go from new contract, to minted land, to selling on an online marketplace that has found Cryptovoxels it’s first dozen early adopters.

My only real qualm with how I’m growing the world at the moment, is that Dappradar doesn’t register sales through the secondary wallet I use with OpenSea — it only considers funds introduced to the contract, so we don’t show up anywhere on their leaderboards.

Anyway — that’s a rundown of how we use a cryptocollectible marketplace to sell parcels and bootstrap the development of our virtual world! Come join us on the discord, or come in world and explore the growing city. ☺️

--

--