This is an incomplete list of things which keep coming up in discussions about what NFTs do, don’t do, and pain points. I’m posting them here largely just as a reference so I can send people here rather than repeating myself repeatedly, as well as in hopes that some time in the future when they are all addressed and resolved we can look back and remember the good old days. Warning, the following is nerdy as shit.

  1. Persistent Royalties – I’ve discussed artist royalties in secondary sales in previous essays because this is single thing is incredibly important and game changing, but right now this happens at the platform layer not within the token itself. There’s already an Ethereum Improvement Proposal (EIP) that begins to address this, EIP-2981. That said, it’s almost like a bate and switch right now that artists are being told they get a cut of secondary sales and then only later finding out if whoever buys their are moves it to a different platform then they lose that recurring royalty which sucks. This needs to be built in so that no mater where the token is moved to or sold, the creator royalty is respected.
  2. Unlimited Wallet Splits – Depending on the platform there’s 1, 2, or maybe 3 people who can potentially receive a % of the sale and on many platforms that split is predetermined. If it’s just one artist selling something they worked on themselves and they want to keep all the proceeds to themselves that’s fine, but if there’s any kind of collaboration going on, or a charity that the artist wants to give a donation from the sales to, or if it’s a band with several people, then this becomes really problematic. The beauty of these trustless systems is that you set it and then forget it and everyone involved knows it works, but if the trustless system relies on everyone involved trusting one person to divide up the money later on, then the system fails. Essentially every platform I’ve been talking to is already thinking about this so I suspect that solutions will start popping up soon but those will likely be at the platform layer which has the same problems I just mentioned relating to persistent royalties so it would be much better for this to be addressed within the contract. What I’d like to see is basically the exact way that Distrokid handles royalties for streaming: For each individual token (that is, not applied to an entire “collection” or “batch” but each NFT managed on its own.) the ability to add as many wallets and specify the % of the initial sale that each should receive. Ideally this would allow you to mint an NFT and designate 5 different wallets to each receive 20% of the sale, and then mint another NFT where one wallet gets 50% and two other wallets get 25% each.
  3. Sunset Clause for Royalties – Related to the issue above, it would be ideal to be able to specify terms or expiration dates for the royalties – for example, say this wallet should get 10% of secondary sales for the first year, but after that the royalty should revert to the creator. Or the ability to include some kind of dead man switch so that if the person or organization receiving the royalty dies or goes out of business or something, then the original creator could specify a new recipient or just have that royalty revert back to them. This is one of those things that seems pointless and excessive today, but 10, 20, 50 years from now everyone is going to be kicking themselves that it wasn’t built in from day one.
  4. Merging Wallets – I understand this is more of a Web3 issue than an NFT issue but it’s related and it’s another problem that needs to be solved fast before it gets insane. In theory tying your identity to a wallet is great for many reasons, but with different sites supporting different wallets and people not understanding how to import wallets from one thing to another, a lot of people are ending up with several, sometimes dozens of wallets. And if I’ve jumped through the hoops to get invited and verified as “seanbonner” on platform A and B, but I unknowingly used 2 different wallets for those accounts, then I end up with two unrelated accounts and half my listing & collection on one wallet and half on another, which is fine if I want to keep them separate but is a nightmare if I want them all together. This gets much worse if I’ve done something like, attached “seanbonner.eth” to one of them and “seanbonner.crypto” to another. We’re going to need some kind of smart protocol where I, as someone who has dozens of wallets, can say “all these wallets are mine, display the assets for all of them.” Again, there may be wallets and identities that I want to keep separate and that’s fine, but people need to be able to, at least in some visual way, display NFT collections that live in more than one wallet as part of their collections rather than be forced to send NFTs from one wallet to another which incurs gas fees and potentially breaks the contracts by moving the tokens off platforms.
    Update: It looks like TryShowtime is the first site to allow you to create an account and then connect several different wallets to it rather than use the wallet as the identifier, which is a great step here. With this one account you can see everything that I’ve created & collected across several wallets. (worth noting you can choose not to display certain items if you want)