Yobot: The Lifecycle of an NFT + MEV Experiment
NFT minting has historically been extremely exclusive and prohibitive, the antithesis of what crypto aims to be. Gas wars & failed transactions are unfortunately common experiences for users during NFT drops, while front-running bots lurk in the dark forest to exploit such opportunities.
Yobot’s vision, born last fall as Nascent’s first incubated project, was to provide infrastructure for a fairer NFT playing field. This initial approach aimed to make minting via Flashbots accessible to all. With Yobot, users could set & forget a mint order trustlessly before minting began, and Yobot’s Flashbot marketplace would compete to fill the order.
So far, the feedback we’ve received about this initial version of Yobot has been invaluable. In order to get back in the lab to continue exploring better approaches to NFT tooling, we’ll be winding down this current version of Yobot.
Key learnings
One key learning was that things have changed for the better in the NFT space since we first began: projects have adopted whitelists and other distribution mechanisms to ensure ‘fair-launch’ mints. (Flashmint.ooo, for example, captures this trend; it offers a marketplace for spots on NFT whitelists.) In any case, this ultimately means we’re exploring more lasting solutions that don’t just amount to a cat-and-mouse game between mercenary market participants and creators attempting community-centric launches.
On a technical level, building Yobot has been an incredible learning experience in building production-level Flashbots tooling and devops infrastructure. We learned that in order for Yobot to truly be useful, its functionality needed to be more robust. Yobot in its current form relied on knowing NFT contract specs prior to the mint, which was an obstacle to its true permissionless-ness at scale. Yobot’s mechanics also needed to prevent exploitation from Flashbot operators; for example, we didn’t yet support setting rarity or property parameters, which would have allowed bots to fill Yobot orders with less-desired NFTs and instead keep desired items for themselves.
Along the way, we also built out a couple experiments while investigating other approaches to fairer mints. Cloaks is an extensible ERC721 enabling creators to realize better upside and minters to experience cheaper gas prices. Ditching fixed-price, first-come-first-serve mints, Cloaks ERC721s instead run a three-phased appraisal to seal in mint price bids. Spades aims to improve on top of Cloaks, adding a phase to also allow non-appraising participants to mint. Our underlying philosophy is to develop mechanisms that in-aggregate compose ‘hyperstructures’ — incentive-aligned, ultra-scalable, unstoppable public-goods crypto infrastructure to be used for generations to come.
Looking forward
We owe a debt of gratitude to the Yobot community, many of whom hold the Yobot Pioneers collectible, who supported us by testing Yobot & providing early feedback. We’ll maintain the Discord server for two more weeks until April 18, 2022 and would love to hear any additional ideas you might have.
While we’ve stopped running our bot to fill orders, Yobot’s smart contracts, website code, and Flashbot searcher code all remain public on GitHub. We’d be thrilled to see someone carry this project forward, and adapt it to support a broader feature set such as allowing multiple EOAs, rarity or property parameters, whitelists, or generalized minting signatures.
In the meantime, we’re delving back into research and exploration. This is what we do: Nascent was designed to prioritize our commitment to engage as builders, not just investors. We build to learn and explore concepts that we think will be relevant to pushing forward both our portfolio and the broader ecosystem. If you’re similarly driven to build interesting and impactful projects in crypto, reach out to discuss ways we might work together.
Keep up to date with our next experiments at github.com/nascentxyz, follow us on Twitter @nascentxyz, and don’t hesitate to get in touch at hello@nascent.xyz.