0x and English Auctions on Emoon

0x Protocol (ZRX) is the way to safely exchange assets on the Ethereum blockchain. English auctions are a tried and true mechanism to create healthy markets where the fairest price is found.

At Emoon, we’ve brought the two together. Users can now bid for non fungible tokens with either ERC20 tokens or any ERC721 asset supported on the site. Sellers can then review the bids and choose the best offer. All this happens off-chain until a seller chooses to accept a bid.

The architecture behind the system minimizes gas costs and on chain transactions, such that bidders can bid without paying gas.

A seller can create an English auction (where bidders can see one anothers’ bids, allowing for a bidding war) or a sealed auction (where bidders can’t see one anothers’ bids). Unlike a Dutch auction, both formats allow the seller to take the highest offer.

This innovation is a vast improvement over the Dutch auctions that are common in the NFT space to date. English auctions are much more familiar to users and ultimately adhere to philosophical approaches to auctions that enable healthy markets. Additionally, by running the auctions off chain, users don’t have to spend gas on an auction they may not even win.

By building on top of the 0x protocol, we have enabled users to bid either ERC20 tokens or ERC721 assets. This enables the following kinds of scenarios:

  • Bid DAI for a CryptoKitty
  • Bid a CryptoKitty for another CryptoKitty
  • Bid a God’s Unchained Card for A CryptoKitty
  • Bid Decentraland MANA for an Etheremon

Ultimately, we hope that the English auction experience on Emoon serves to validate this important use case for the Ethereum ecosytem, demonstrating how auctions and smart contracts can come together efficiently. The number of use cases that potentially fall out of this functionality are vast, tying in to the vision of radical markets proposed by Posner and Weyl.

How It Works

Let’s say you have a CryptoKitty. If you sign in to Emoon and navigate to your CryptoKitties from the My Assets tab, you can select a cat and place it up for auction on Emoon, providing an end date to your auction. When placing the kitty up for auction, the user must approve the 0x protocol for handling an atomic swap, such that the transaction will work if/when the seller finds a suitable offer.

Approving 0x For CryptoKitty Auction.

When potential buyers navigate to the CryptoKitties category, they will see your kitty up for auction.

At this point, anyone can bid on the item, either with ERC20 tokens or another ERC721 asset. At this time, the site supports bidding with WETH, DAI, MANA or EMONT ERC20 tokens. The site also supports bidding an ERC721 asset. This could be another CryptoKitty, an Axie, an Etheremon, a God’s Unchained card, a Decentraland parcel or any of the other ERC721 assets that the site supports. Again, for whatever asset you choose to bid, you will have to approve the 0x protocol for handling the atomic swap. (This is a one time action except in the case of CryptoKitties, in which each CryptoKitty has to be separately approved.)

To bid an ERC721 asset, you need to navigate to it and enable it for bartering and it will then appear in the dropdown.

When you create a bid, you are creating a 0x signed order. You are signing an order that states your willingness to trade your asset for the given item. This costs no gas but requires that you sign the 0x order.

Switching back to the seller’s perspective, one can see all your listings and the bids that come in for the item.

At any time, you can fill the order by accepting a bid. This sends the order to the 0x smart contract, which brokers the transaction and performs the swap.

And walla! You’ve auctioned off your CryptoKitty to the highest bidder!

Already, we’ve seen CryptoKitties auctioned off for other CryptoKitties:

CryptoKitty Auctioned Off For Another CryptoKitty

And for an Etheremon or for EMONT (the token currency used in Etheremon):

CryptoKitty Auctioned Off For An Etheremon
CryptoKitty Auctioned Off For EMONT

We are very excited about this feature and look forward to the community’s feedback.

Other Features

In addition to allowing auctions, Emoon provides many other features of interest to those participating in the CryptoKitty ecosystem.

  • Airdrops. If you simply want to give your asset to another user, you can use the Emoon airdrop feature to transfer ownership to any other Ethereum address.
  • Address Asset Explorer. If you want to explore the assets (including kitties) that are owned by a given Ethereum address, you can browse their holdings by looking them up n the Address Asset Explorer.
  • Buy It Now. If you don’t want to auction your kitty, you can always list it for a “buy it now” price. Or you can provide a buy it now price and also put it up for auction.