NFTs: Preserving Artists Rights & Royalties– Also Deterring Theft

A proof-of-concept to improve on the standard NFT spec

4 min readAug 20, 2022
Art is Royal — A proof-of-concept NFT

Own the Proof-of-Concept

For me, art is innovation. I like to explore the state-of-the-art technology along with my style of art that references the computer graphics displays of my youth. Some of my previous work has been listed at Sotheby’s as part of the Art Blocks collection.

I’d like someone else to own this piece of work, so I’ve listed it for auction on OpenSea starting at 0.1 ETH

The Problem

The Artist Royalties Debate

Recently people have been debating what rights artists have to assert their collection of royalties when there are marketplaces that don’t let artists collect their royalties. Equally when new marketplaces pop up, artists must chase after them to make sure their royalties are set up.

While the ideal solution would be to let artists set their royalties at the NFT smart contract level, and to have marketplaces read and adhere to those settings, this isn’t happening.

I had a simple idea to help put the control back into the hands of the artist…

That led Josh Kramer (@joshk66) to follow up with me on the solution:

Change the ‘approve’ functions (which allow marketplaces to list NFTs without taking them out of your wallet) so that they can only be used by an allowlist as set by the creator

Josh quickly whipped up the smart contract, I created the artwork, and then we tested it and launched it.

Theft Resistant NFTs

The idea actually originated when I was thinking about the recent spate in scams and hacks that would result in theft of people’s NFTs (the most recent and high profile one being when the Premint website was hacked)

The way these hacks typically work is by using that same set of ‘approve’ functions to get the user to ‘sign over’ their NFTs to an address that lets the hacker take those NFTs easily.

By making a list of potential addresses that can approve the transfer, you could prevent this from happening — the hack enabling transaction will fail.

The Solution

Marketplace Allowlist — Before

Only addresses of marketplaces which have been approved will be able to list the NFT.

Here’s an example of me trying to list the NFT on marketplaces before setting up any approved sites:

Error message on OpenSea
Error message on LooksRare
Error message on SudoSwap

Marketplace Allowlist — After

For this concept, I’ve approved OpenSea and LooksRare contracts, directly in the smart contract using this function.

Approval for OpenSea

You can see that after doing this, I can list the NFT as usual, the buyer/seller user experience is unchanged.


  • Is this a practical solution?
    No — it’s a proof-of-concept, meant to move the discussion around royalties and theft resistance forward.
  • What if new marketplaces launch?
    The way this piece has been designed, it would be difficult to maintain over time. New marketplaces may launch, which support royalties, and having the creator manually entering them one by one wouldn’t make sense.
  • What is the full solution?
    You could imagine a list of marketplaces that support royalties being maintained by a DAO, and the NFT smart contract referencing that list so that the creator could delegate this responsibility to a group that would maintain it over time in a decentralized way.
    However — I don’t think that’s the solution either. Really, the ideal would be for a high profile project to do something like this and ‘break’ the marketplaces that don’t support royalties so that they simply cannot ignore the issue, but rather have to engage with it.
    Royalties can be defined on-chain and that metadata should be a standard that all marketplaces follow — this project is only meant to highlight the issue and offer a technology solution to creators that feel helpless.
  • Is there a typo in the metadata?
    Yes — and it kills me.