project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

INO

INO revolutionizes NFT launches using multi-Vickrey auctions: More Fair pricing and true market valuations.

INO

Created At

ETHGlobal Bangkok

Winner of

Mina Protocol - Best Mina application or library built using Protokit 3rd place

Project Description

INO (Initial NFT Offerings)

INO is an innovative platform that addresses one of the most critical challenges in the NFT space: determining the optimal initial pricing for NFT collections. By implementing a sophisticated multi-Vickrey auction mechanism (aka Uniform Price auction), our solution creates a fair, efficient, and economically sound pricing discovery process for NFT launches.

The Challenge

The NFT market currently struggles with significant price volatility and inefficient pricing during collection launches. New collections often face the dilemma of either being undervalued, failing to reach their true market potential, or being overpriced, resulting in unsold NFTs. This leads to a poor experience for both creators and collectors

Solution

INO introduces a systematic auction-based approach for NFT collection launches. Creators can launch their NFT collection (e.g., 100 unique items) through our platform using a multi-Vickrey auction system. In this mechanism, all winners pay the same price: the highest non-winning bid. For example, in a collection of 100 NFTs, the top 100 bidders win, but all pay the 101st highest bid price. During minting the winners are randomly assigned an NFT from the collection. The bidding process takes place within a specified time window, ensuring transparent and fair participation through smart contract-based execution. This approach not only provides real-time bid tracking but also ensures that the final price is determined by genuine market demand. For creators, INO delivers optimal price discovery for their collections, enhancing new collections' launch credibility. While collectors benefit from fair pricing based on true market demand. The auction mechanism naturally incentivizes participants to bid their true valuations, creating a more authentic market environment.

How it's Made

Technical Implementation

Our project leverages the Proto-kit framework to create a zk Appchain-based auction platform with Mina as the Layer 1 chain

ZK Circuit Implementation

The most challenging and innovative aspect of our implementation was designing the auction settlement logic as ZK circuits. The key technical challenge was calculating the settlement price (the N+1th highest bid, where N is the number of NFTs) in a ZK-friendly way, especially since N is variable depending on the collection size.

To solve this, we developed a novel approach using a double-linked list data structure, implemented through Proto-kit's stateMap APIs. The linked list maintains bids in descending order, with each new bid being inserted at the correct position. This structure allows us to:

  • Efficiently prove the ordering (constant time for each new bid)
  • Quickly identify the settlement price (N+1th position)
  • Maintain proof generation efficiency
  • Handle dynamic collection sizes

For the NFT distribution, I implemented an efficient randomization mechanism. To maintain the element of surprise, users discover their specific NFT only at the moment of minting, rather than knowing in advance. The challenge wasn't just about using a random oracle for assignment - we also needed to prove that each NFT ID was being minted for the first time. I developed an O(1) solution for truly random NFT minting that addresses both requirements.

I developed the frontend using React. While the application is currently in an early development stage, I've incorporated mock data to demonstrate the intended final user interface and functionality.

background image mobile

Join the mailing list

Get the latest news and updates