Player: A Protocol for Continuous NFTs

A few weeks ago I introduced Verse, a protocol I’m working on to solve the problem of legitimacy-constrained social networks. At that time, I described Verse as a protocol for “multiplayer cryptomedia”. Some things have changed.

While Verse is still focused on building an exponentially better model for multiplayer networks, it won’t be implemented through creating a new cryptomedia standard. But more on that backstory in a future post.

While building Verse, one of the fundamental building block’s I’ve thought a lot about is the bonding curve. While primarily used in DeFi applications (like Uniswap) to enable automated market making, I started to think about how bonding curves could be used to solve some of the problems that have repeatedly been encountered with NFTs, especially over the last few months.

Artificial Scarcity & FOMO

Today, the opportunity cost of logging off of Twitter for even a few hours can literally be millions of dollars. For example, consider Loot. Those who minted one of the limited 7799 bags immediately saw their investment (simply a gas fee) exponentially increase in value as people started to build out experiences exclusively for bag-holders.

While those with Loot bags were deservedly excited for the ecosystem to develop so quickly, those without bags felt disappointment and anger at not being able to participate in a game without paying thousands of dollars as an entry fee.

Dom, opposed to the idea of having to pay-to-participate, developed a Synthetic Loot contract which enabled anyone with an Ethereum address to have ticket into the Loot universe.

The creation of Synthetic Loot (and subsequent mLoot) raised discussions about the fundamentals of scarcity which have been a defining trait of every major NFT project.

For certain applications, scarcity is a bedrock feature critical for success. Herein lies the social token paradox, which can be readily extended to NFT communities. For example, CryptoPunks wouldn’t be valuable if there was a continuous supply that anyone could mint. This is because the utility of CryptoPunks is primarily as an identity club. And I don’t mean that in a bad way at all. In fact, the opposite. The value of a club gets diluted when anyone and everyone can join, because different factions with opposing values inevitably emerge. Because there are only 10k CryptoPunks, the integrity of the club is maintained through imposing scarcity and aligning values among members. The CryptoPunks community is respected because many of the holders are active leaders in the broader Ethereum community and the relatively small size of their tribe allows them to more easily form a collective identity than if there were, say, 1 million punks.

On the other hand, Loot is its own universe - a collection of experiences that form an infinite meta-game. The utility of a Loot bag isn’t for identity signaling; each Loot bag primarily serves as a key to unlocking virtual worlds and bottom-up experiences made by passionate members of the community. As such, it’s easy to see that the long-term success of the Loot ecosystem is inversely correlated with high barriers-to-entry. Dom realized this early on.

As we think about the future of NFT-centric universes and bottom-up communities, relying on auction-based market systems for acquiring digital objects isn’t always ideal. Often, creators are forced to mint and sell NFTs through auctions because it’s the only way for them to earn via royalties and get compensated appropriately based on market demand (it’s important to note that Dom didn’t take any fees or royalties from secondary Loot sales). But for any NFT project focused on building digital worlds that can scale, it’s necessary to build a new system for NFT sales that incentivizes long-term asset appreciation while also eliminating the barrier-to-entry for new participants.

Liquidity (or lack thereof)

Another problem with many of today’s NFTs are that they’re pretty illiquid. On the seller side, unless you own an extremely valuable (~0.1%) NFT like a punk or ape, you have to list your NFT on a marketplace like Opensea and wait for someone to buy it or make a bid. Additionally, there’s the work of appropriately appraising your NFT’s value based on previous sales, the current market climate, and other factors.

On the buyer side, if you’re lucky, the NFT you’re after will be listed on a marketplace with a “buy now” option. However, in many cases if the NFT you want isn’t listed for sale, you have to track down the current owner(s), find out if they’re interested in selling, submit a bid, wait for an acceptance, negotiate, etc. Ack.

Surely there’s a way to make NFT markets more liquid. Surely…

Continuous NFTs

Introducing Player, a protocol for continuous NFTs. The Player protocol is focused on building a new economic system for NFTs to mitigate the pitfalls of artificial scarcity and illiquidity that aren’t suited for the next generation of NFT-based virtual worlds and bottom-up communities.

At a high-level, think of a Player contract as hybrid of ERC-20 and ERC-721 token standards.

For example, with ERC-20 tokens, if I want to buy 75 $FWB, I can go on my Rainbow wallet and pay the corresponding amount of ETH, and I receive 75 fungible $FWB tokens in return.

Now, imagine that instead of receiving the 75 fungible $FWB tokens, I’m instead minted an ERC-721 FWB NFT. This NFT looks and functions identically for everyone who buys $FWB, regardless of how much they bought. Under the hood, though, my specific NFT keeps note that its value is equal to 75 $FWB tokens. I can use this NFT for whatever. If and when I don’t want the NFT anymore, I can burn it and receive ETH according to the current exchange rate for the 75 $FWB tokens that my NFT is worth.

Specifically, when a creator deploys a new Player contract, the creator specifies a token URI, just like when minting any traditional ERC-721 NFT. Each contract is governed by a bonding curve, enabling an instantly-liquid market. To mint an NFT from the contract, a buyer specifies the amount of continuous tokens he wants to buy which represents the value of his specific NFT. The buyer purchases that number of continuous tokens, and is minted an NFT in return. If the buyer ever wants to sell the NFT, he can do so by sending the NFT back to the contract, which will burn the NFT and send the user the corresponding number of continuous tokens in return (which are then converted to ETH according to the current continuous token-ETH exchange rate). Additionally, creators can specify a transaction fee and receive royalties every time tokens are purchased.

While I believe this protocol has many potential applications, I’m most excited for uses involving items or skins for crypto-native games. Because the price of a continuous NFT is directly correlated with supply, holders of the NFT are directly incentivized to increase demand for the NFT by building experiences and features around it. I’m also excited for other people to extend the protocol and introduce extensions like tiers. For example, if someone buys 100 tokens for their NFT, maybe it has special cosmetics that distinguish it from someone who only buys 0.0001 tokens for their NFT. The core functionality of the NFT (like unlocking access to a community), however, would remain the same.

In this way, Player NFTs function more like multiplayer stocks than singular assets. Anyone can buy a piece of Tesla stock, whether it’s millions-of-dollars-worth or just a few-cents-worth. Either way, you own Tesla in your portfolio. Similarly, with Player NFTs, you can own an asset and join a community of holders no matter how much money you have to contribute. Of course, however, those with more shares will receive more upside if the NFT becomes highly demanded than those who own a small number of shares. Therefore, Player NFTs, through their limitless supply and free-market pricing system, enable a sort of native fractionalization and built-in economy for digital objects.

Today, I’m open-sourcing the V0 for the Player protocol to find other people who are interested in its capabilities, reviewing and testing the code, and making improvements. Important note: DO NOT USE THESE CONTRACTS ON MAINNET OR WITH REAL FUNDS. THEY HAVE NOT BEEN AUDITED OR ROBUSTLY TESTED YET AND YOU COULD LOSE FUNDS. YOU’VE BEEN WARNED. Seriously. I’m not kidding. Don’t use these contracts with real ETH or deploy them for others to use. The purpose of this post is to find other people interested in building a robust V1 and interface over the next few days. If that’s you, please please reach out to me on Twitter.

Because in the hyperverse, everyone should be a Player.

Subscribe to Kiran
Receive the latest updates directly to your inbox.
This entry has been permanently stored onchain and signed by its creator.