Build a Custom Marketplace

Governance Proposal / Technical Design Document

“We” in this document refers to MerkleRoot Inc, https://merkleroot.co. We are a decentralized team of developers working on fun decentralized projects. We currently contribute to the frontend web3 development of many Unicorn tools and contributed to the initial smart contract design and architecture.

Hi :raised_hand:,

Thanks for taking a minute to look over our proposal. We would like to request the funds to build, secure, and maintain a marketplace for all the assets you use in the game: unicorns, lands, RBW, UNIM, shadowcores, drops, etc. We want this all to be traded in a central location with low fees and high confidence in the security and accuracy of the marketplace and listings.

This document uses these documents as reference:

Motivation

Currently, the primary platform for buying and selling Crypto Unicorns (CU) and CU Land is OpenSea. This platform presents a number of problems and challenges that this proposal seeks to address:

  1. OpenSea allows the listing of Crypto Unicorns and Lands that are currently locked into the game.
  2. OpenSea updates meta-data infrequently, leading to the possibility of purchasing a Unicorn or Land that has material different from how it is described in the listing. An example of this would be buying a Unicorn thinking that it has 3 breeding points left, but it only has 2 and the meta-data has not been updated to reflect this.
  3. OpenSea currently requires that the Unicorns market and Land market be separate “marketplaces”.
  4. OpenSea takes 2.5% of all purchases, taking the value out of the CU meta-verse.

We believe that it is fair to say that Open Sea was designed for collectable NFTs but falls short on many of the needs of gaming NFTs. This proposal seeks to remedy all of the above factors and introduce useful new NFT marketplace features to enhance the Crypto Unicorns experience.

Proposal

We intend to deliver an all-inclusive Unicorns marketplace on a very aggressive timeline. To accomplish this, we have broken the project up into several deliverable phases.

Phase One Deliverables

During this phase, we will ship the most basic version of a marketplace. The following user stories will be fully functional:

  • As a Crypto Unicorns player, I would like
    • a dedicated marketplace for all Crypto Unicorns digital goods or an NFTs that looks and feels like the rest of the official apps,
    • to be able to list my Unicorn or Land for sale for a wETH price.
    • I would like to be able to unlist my Unicorn or Land at any time,
    • to be able to purchase a Unicorn or Land that is for sale with wETH,
    • to be able to browse all the Unicorns or Lands currently not locked into the game,
    • to be able to make an offer on any Unicorns or Lands currently not locked into the game.
    • I would like my offer to be automatically cancelled if the metadata of the asset changes,
    • to be able to view all the NFT metadata specified in the PRD,
    • to be able to search all the listings (basic frontend driven search),
    • to be able to view a security audit of the marketplace
    • to be able to see all the CU assets associated with my wallet.
  • As a Security Auditor, I would like
    • access to all Solidity code and other assets needed to complete a security audit.
  • As a Merkle Root Engineer, I would like
    • to be able to deploy the contracts and app via CI/CD to staging and production
    • to be notified of any failed test cases on any build,
    • to have the private keys injected at build time so I am not exposed to said private keys.

Phase one deliverable includes a full security audit of the contracts and code from a 3rd party auditing firm.

Phase One Architecture

This marketplace will run on a fully custodial architecture. When you list a unicorn or land, the marketplace contract takes custody of the asset NFT and issues you a listing NFT, which you can use to reclaim your NFT(s) at any time. Similarly, to place a bid on an asset, the marketplace contract will take custody of your wETH (or other supported ERC20 payment methods) token(s) and issue you a “purchase offer” NFT which you can redeem for your tokens back at any time before the offer is accepted. This has a number of advantages:

  • There is no oracle server to observe and complete transactions. This means we can have only the marketplace contracts’ security audited, speeding up the time to delivery.
  • All transactions are fully tracked on the chain.
  • When a user receives an offer on an asset, the user can be sure that the funds are available to accept the purchase offer. “No Spam Offers”
  • When a user bids on a Unicorn or Land, they can be sure the metadata is 100% accurate to what they will be receiving.
  • The assets will never leave the custody of the marketplace contract. No hidden wallets, just the open auditable contract.

This also has a few drawbacks:

  • The user will have to pay gas for every list and bid. On ETH, this would be a major issue, but on Polygon, the MATIC transaction fees are very low, and having to pay something to make an offer should reduce spam.

We will have a metadata server. This server will monitor all transactions on the CU suite of contracts for transactions. We will store all the metadata in an Elastic search cluster that is synced to the state of the blockchain down to the second. We will make use of this database in phase one to give fast and accurate results for complex queries like: “I would like to see all unicorns of type candy with only one breeding point remaining.” We have deep experience in building these types of real-time data ingestion > processing > storing > queering pipelines. Our tools have served projects that have scaled up to hundreds of thousands of transactions per minute.

Transaction(s) Cost (assuming sub 30 second gas price):

  • List a Unicorn
    • Authorization Transaction
      • No fee
    • List Transaction
      • 0.00312148 MATIC (0.0022 USDC) - As of Jul 14, 22
  • Un-list a Unicorn
    • Un-list transaction
      • 0.00312148 MATIC (0.0022 USDC) - As of Jul 14, 22
  • Buy a Unicorn
    • Purchase Transaction
      • 0.00312148 MATIC (0.0022 USDC) - As of Jul 14, 22
  • Place Offer on a Unicorn
    • Bidding transaction
      • 0.00312148 MATIC (0.0022 USDC) - As of Jul 14, 22
  • Withdraw an Offer on a Unicorn
    • Withdraw Transaction
      • 0.00312148 MATIC (0.0022 USDC) - As of Jul 14, 22

Example 1: A Unicorn seller lists and sells 100 Unicorns per month, the transaction fees would be 0.312148 MATIC ($0.22 USDC)

Example 2: A new player buys 5 Lands and 5 Unicorns to get started, the transaction fees would be 0.021214 MATIC ($0.02 USDC)

External Requirements

Phase One Timeline

  • Closed Beta - September 1, 2022
  • Open Beta - Second or third week of September, 2022 (allowing time for a security audit)

Phase Two Deliverables

  • As a Crypto Unicorns player, I would like to be able to
    • search for any asset, regardless of if it is stored on the blockchain or in game,
    • view land or unicorns listed on other trading platforms,
    • auction my land or unicorns.

Phase Three Deliverables

  • As a Crypto Unicorns player, I would like to be able to
    • buy/sell all CU assets,
    • highlight my land or unicorn that is for sale,
    • see the sell and price history of land and unicorns.
  • All functionality outlined in PRD would be finished

Payment Proposal

Initial Development: $500,000 USDC + 500,000 RBW

We will stake the RBW grant in sRBW for at least a year, maybe longer. We really believe in the future of Crypto Unicorns and we are planning to hold our RBW long term.

This pays for a team of five experienced developers to build out the initial product to be delivered through phase three.

Maintenance + Hosting: Fee structure in table below

This pays for the cost of hosting the platform: including storing all the data about the assets in Elasticsearch for super fast loading and searching the catalog. This also pays for a devops engineer and updates from a development engineer to keep the market running and secure long term.

Monthly Gross Volume USDC Percentage Fee
$0.00 → $5,000,000.00 0.5%
$5,000,000.01 → $25,000,000.00 0.25%
$25,000,000.01+ 0.125%

A minimum maintenance fee of $25,000 USDC/mo would apply if the fees collected are less than $25,000 USDC/mo.

Mock-ups

This mockup is just a first draft. We plan to work closely with the UI/UX team at Laguna Games to make the marketplace look and feel the same as the game and the tools you already use. The design we are aiming for will be simple to use and fun to look at while having all the tools you need to buy and sell unicorns, lands, and tokens in one place.

Conclusion

Thanks for reading our proposal! In summary: we are requesting the funding and integration to build for the community, what we hope to be, a really useful marketplace. Voting yes on this proposal will provide us with the resources we need to complete this project and to keep it secure and updated as this game we all love continues to evolve. :unicorn:!

1 Like

I’m curious about how you’ll be able to solve the long-standing issue of listed locked assets. Would this mean in your MP locked assets will not be able to be listed? Or is it the same on opensea that there is a filter?

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.