Tying Phyical to Digital

Challenges of Tying a Physical Item to an NFT

You’ll notice that the name of this blog is NFT x IRL, and that is because one of the things that I am most interested is in tying a digital token to physical items. But this is far more challenging than it seems, as I recently learned when minting 24 Say What Edition NiftyPins for the party bid winners of that Blitmap Blit House auction. This piece lays out many of the challenges, how I have overcome some of them and some potential thoughts on others I’m still struggling with. If you happen to be from the Blitmap community, and/or were part of the Party Bid for Say What Edition, I discuss the next steps on getting you the bonus nickel pin below beginning in Improvement #1—feel free to skip down to there.

The Difference Between 721 v 1155 NFT Tokens

This section is more for newcomers to the space, skip to the next heading if you have a grasp of this concept. In the NFT world, there are two kinds of tokens: 721 and 1155. In a nutshell, a 721 token can only represent a single NFT. So, this would be something like a one-of-one artwork, or a specific avatar with a serial number a la Bored Ape Yacht Club. But even if it is something that appears the same, it is still a single version. An ideal version of this is Punks Comic. All tokens have that same cover image, but each token is different based on a serial number.

An 1155 token, however, can have multiple quantities associated with that specific token. A great example of this is the Ghxsts Lunar Zxdiac project. Each Zxdiac is an 1155 token and was minted in multiples of 30. So theoretically, 30 different wallets can own this Lunar Zxdiac Monkey piece seen below.

Looking for a real-world example? Let’s examine going to see Broadway on Hamilton. The ticket to have a seat at the play is an example of a 721 token. While each ticket may look the same, it is unique based on the seat location: a seat down below is inherently different than a seat in the nosebleeds. This is a perfect example of how a 721 token can maybe share the same image, but unique based on serial number.

When you walk through the door of the theater, you are given a Playbill for that night’s performance; it doesn’t matter where you seat is, you’re given the same Playbill. This would be an example of an 1155 token—multiple Playbills are given out, but there are no discerning differences between them.

The Type of Token Can Matter in Physical Drops

OK, now that you understand this concept, choosing the type of token can matter in NFT drops. In my opinion, and what I have seen bear out in my limited time selling pins, consumers do not prefer 1155 tokens when it is tied to a physical product. Why? Most people buying NFTs have an inherent bias towards 721 tokens because (1) they represent a one-of-one item and (2) those tokens show up in Etherscan. Furthermore, the folks purchasing NFT x IRL items are more “crypto wonks” than the average person in NFTs, so that bias towards 721 carries over. Finally, a 721 token allows the brand to serialize physical items—you can tie serial number 01 / 50 to a 721 token; that is impossible to do in an 1155. So outside of some mass market play of tokenizing a physical good (which I don’t think we are there yet), there are just fundamental advantages to tying a 721 token to a physical product to create exclusivity.

But there is a workaround for the 721 token, you could mint an 1155 token but only have it as a quantity of 1. The reason this is important is for the “lazy loading” that OpenSea allows for creators to avoid gas fees, something I dive into below in Improvement 2.

The Challenges of a 721 Token

OK, we are now in agreement that the 721 token is the preferred way to connect an NFT to a physical item. For a moment, let’s pretend that you want to have your very *own* token name on the Ethereum blockchain. To do that, you have to deploy a contract and name that token—for me, I named my 721 Token NIFTYPIN. This is helpful to do for branding and to provide a bit of a higher-level experience for those purchasing your NFT. A bespoke token with your brand’s name looks way better than a generic Rarible or OpenSea token.

However, this presents a number of problems, especially for the non-technical person producing the physical good (like myself!).

The first issue is time. When each physical item has is tokenized by a 721 NFT, you literally have to create the same amount of tokens as physical items. Have 50 items, you have to create 50 tokens. And for someone who doesn’t code, you have the very manual process of copying/pasting information to minting platform. This takes a crap ton amount of time.

The second issue is gas. Not only do you have to take the time to mint those specific products, you also have to pay the gas to mint each of those items. The low end recently has been $30, but the other night when minting the 24 gold Say What Edition NiftyPins, I was routinely spending between $50 and $60 in gas!

This can get cost prohibitive, in terms of both time and money, pretty quickly. The other night I spent about 4 to 5 hours and roughly 0.6 ETH to mint those items (and transfer them since they were an airdrop). Those are the challenges with the 721 token, but it leads into a larger obstacle, which deserves its own subhead.

The Challenges of Implementing a Claiming Mechanism

Now that you have minted a token, you need to make sure that there is a way for the NFT buyer to actually claim it for the physical good. This is very challenging in a space that is both anonymous and where every transaction is public.

Furthermore, once that physical good is claimed, you need a good mechanism to communicate to the space that there is no longer a physical good to be claimed from you. In other words, if that NFT is resold, the buyer needs to know that you, the person who backed the NFT with a physical good, no longer possess the physical item. The assumption would be it is in the hands of the person who claimed it and holds that NFT. This is how a non-technical person, like myself, can approach this problem.

STEP ONE: Ask the person to burn the NFT and replace with a “Claimed” NFT. This is the mechanism to ensure that the secondary market understands that the physical item has been claimed. But you have to understand that NFT collectors want an NFT in addition to the physical item. This is why a pin that may normally sell for $10 in the real world can sell for $400 in NFT land—it is paramount that the consumer has an NFT. But this presents the problem that you (a) have to pay gas and invest time to mint the NFT and (b) you have to pay to transfer it—again, more money out the door.

Example of a “claimed” NFT when the person burns for a physical item.

STEP TWO: After the person burns the NFT, you need to gather their address to send the physical item. Most anon people in this space will not want to do this—in fact they may never choose to burn the NFT in the first place! To ensure you don’t have to hold on to physical items in perpetuity, put a “Claim by Date” in the meta data of the NFT.

For those folks who do want the physical item, you have to make sure you are talking to the actual person who burned the NFT. This can be challenging because the blockchain is a public ledger—anyone can sniff that transaction and try to impersonate the person. While code can solve this issue, the non-technical way to do so is to ask the NFT holder to message you on Twitter or Discord. In communicating with them, ask them to kindly update their Open Sea platform of the wallet that held their NFT to include their Discord/Twitter name so you can validate. This will ensure that you’re talking to the real owner and not a scam artist. NOTE: pay special attention to the letters/numbers and even do a copy/paste. Scammers like to pick similar looking letters, e.g. “0” for “O”.

STEP THREE: Now that you know the person, airdrop them the claimed NFT and get that physical item in the mail!

Sound time and money intensive? IT IS for a non-technical person. I learned this the hard way. My first 721 pin collection was just 10 items and was manageable. But 24 items took entirely too long. So, these are some ideas that I can improve on this process—Blitmap Say What Edition Party Bid members, you will most likely be part of the guinea pigs for which way I go. I wanted to deliver that gold pin on time, which I did, but there may be a delay on the nickel pin as I suss this out.

IMPROVEMENT 1: Implement a “Mint Pass” Mechanism

The first way to improve this process is a concept I am taking from the incredible Pixel Vault team, the group behind Punks Comic. They created something called a “Mint Pass” for comic holders to be able to redeem a Meta Heroes NFT—their reasoning was to alleviate gas wars at mint, but I think it can also help an individual making NFT x IRL items with gas as well.

The idea is that you mint an 1155 token that is CLAIMABLE with a quantity of the amount of physical items you have. You can then put that Claimable 1155 token on sale for people to purchase with instructions that upon burning a person will receive a 721 token with a serialized number corresponding to the physical item. This also gamifies the burning mechanism because the people who burn earlier get the lower serial number (something that is usually desired in this space).

This helps the creator in several major ways. First, they are only out the time and gas of minting the multiple collection just once. So rather than minting Say What Edition twenty-four times, I could have saved myself and minted once! Second, it facilitates the claiming mechanism and cleans out your warehouse of physical items before the “claim by date” because collectors will want to burn to get the lower serial number. Finally, it makes your collectors happy because upon burning the 1155 token, they are sent a 721 token. But this still means you have to mint all the 721 tokens manually and pay the gas/transfer fee upon doing so. This leads to the second possible way to improve the process.

QUASI IMPROVEMENT 2: Use OpenSea’s Lazy Minting to Avoid “Claimed” 721 Token Mint Fees

Recognizing that the high gas price to mint was onerous for creators, OpenSea introduced a “lazy minting” feature. Essentially it allows creators to mint an NFT on their platform “off-chain,” meaning that there are no gas fees upon creation. When the item sells, the buyer pays the gas to mint it and then the asset is suddenly put on-chain.

So how would this apply to our NFT x IRL example? When the collector burns their NFT, the creator could then “lazy mint” the claimed NFT as on OpenSea as a Private Sale reserved specifically for that wallet address at a nominal fee, such as 0.000001 ETH. The collector would then make the purchase and pay for the gas at that time. Most collectors understand the gas game and probably won’t give it a second thought—that is just part of the NFT space. This is a TREMENDOUS savings to creator in avoiding the gas fee to mint the claimed NFT and the transfer fee to the collector, but does have a couple of drawbacks:

  • The token that is minted this way is labeled as an OPENSTORE token, the default token of OpenSea. Additionally, OPENSTORE is an 1155 token, however, even though it is a token that allows for multiples to be minted, you could just set that multiple to “1” to make it akin to a 721. The problem, however, is that it doesn’t show up cleanly in places like the Etherscan token drop down. Obviously this solution is not ideal.
  • The OPENSTORE token ID is used EVEN in you “lazy mint” on a collection with a contract that you have created with a given token, such as my NIFTYPIN token. I just did a test, and while OpenSea does let me “lazy mint” to my collection, upon a sale it will publish as OPENSTORE token and not a NIFTYPIN token. Not having a token specific to your collection could impact your overall branding, but there plenty of popular and wildly successful projects, such as Ghxts, that mint with the generic OPENSTORE token.
  • While you may save on gas, there is still the issue of time—you will have to input the token manually every time someone claims an item. Not the end of the world, but it does take time.

IMPROVEMENT 3: Hire a Solidity Dev and Build Out a Mint Button and Automate Address Collection for the Physical Item

While the above improvements can help out the small-time, individual creator, the real solution here is to hire out a solidity developer to build out an Ethereum contract to handle the burning and minting “automagically.” A perfect example of this kind of execution is, once again, Pixel Vault and Punks Comic and how they allowed collectors to burn their comic for a DAO token or how their 1155 Mint Pass token can be used to redeem a 721 Meta Hero token.

The idea is that an NFT collector could go to your website and connect their wallet—at that point in time, the website would have a notion of the 1155 token in their possession. You could then identify the token number of the 1155 item and allow it to be “burned” for a 721 token that is the “claimed” version of the specific token.

So, in my pins example, let’s say I had a NIFTYPIN 1155 token that was token [0] and there were 35 multiple tokens minted there for a claimable Rainbow and Lollipops gold pin. The user would go to the website, connect their wallet and then the site would know how many NIFTYPIN 1155 token [0] they had. The site would allow the user to burn that token and then mint the commiserate amount of NIFTYPINCLAIMED 721 tokens of Rainbow and Lollipops gold pin with the relevant metadata, including the serial number. That NIFTYPINCLAIMED 721 token would then be transferred to the person’s wallet automatically and the user would also have the ability to provide their address for the physical pin. For those users wanting to remain anon, they could click a box saying that “I do not want the physical pin, please destroy it.”

This is ultimately the best option for all involved in an NFT x IRL business because:

  1. It reduces the time and gas load on the individual creator.
  2. It provides an “automagical” way to swap out the claimable NFT for a claimed NFT for a collector, on their schedule.
  3. It provides a more automated way to get addresses for physical items and reduces the scammability of someone impersonating the owner of the NFT.  
  4. It allows for the user wanting to remain anon to opt out of the physical item but still get the 721 token.

NFT x IRL Redemption is Complicated

Needless to say, the NFT crossing over to physical world items is complicated for the lay user. This is still very early, so it’s akin to 20 years ago in having to write your own Ecomm store versus the plug-and-play Shopify option of today. But there is an incredible amount of opportunity. For the Say What Edition Party Bid holders, I am going to see if I can find a solidity developer to help create a contract like this. I want to be in this space long term, and I think that this may make sense. However, it also may not be in the cards. In that case, I think I am unfortunately going to move away from my own token and into the “lazy mint” of Open Sea. I know that this is probably upsetting, but I just can’t afford the crazy amount of gas to be able to make this work. At any rate, I wanted to provide an update to each of you on where your nickel pin stands in addition to helping the community at large who are interested in bridging the digital to the physical.






Leave a Reply

Your email address will not be published. Required fields are marked *