As of late, creator fees have been a hot topic in the NFT space. Industry giant OpenSea has taken a staunch stance that it will enforce royalties on all NFT sales to the delight of artists and creators. Smaller marketplaces like LooksRare and X2Y2 have seen traders flock to their platforms to avoid paying royalties after announcing they will not enforce them.
While creator fees for large NFT projects like Azuki and RTFKT are only a supplement to existing streams of revenue, they provide a crucial lifeline for independent artists to continue creating original pieces and make a name for themselves. The decision to not enforce creator fees by certain platforms to appease the hungry crowd of NFT creates an interesting dilemma in the space. Neither marketplaces or creators can guarantee royalties outside of their platforms as traders can easily circumvent enforcement by moving to another marketplace.
Traders can escape paying royalties in 2 different ways:
- Move to a platform that uses a wrapper contract to bypass fee enforcement (Blur, SudoSwap, etc.)
- Complete a P2P transfer in which a user transfers their token to another user and that user sends an agreed upon amount back. (A number of issues with this method)
OpenSea tries to mitigate the first method using their Operator Filter Registry, but it requires significant overhead for creators to register and still does not provide an end all, be all solution. ERC-2981 makes an attempt at universally determining and enforcing royalties for every NFT sale, but fails to serve its purpose if the token is wrapped with another ERC721 contract. Takeaway from this that on Ethereum (or any other chain), creator fees cannot be universally enforced without removing the ability to wrap NFTs and prohibiting P2P transfers with null sale value.
Our team has proposed a potential solution to the issues of royalty enforcement. The proposed solution entails a variation on the ERC721 token standard that modifies the transferFrom
function as well as an accompanying Escrow contract.
To do this, we need to address both of the aforementioned ways that traders can easily circumvent paying creator fees. In the first method, users can utilize wrapper contracts that pass ownership of their NFT to another ERC721 contract. Ownership of this derivative contract can then be transferred to the buyer using a ERC721 sale contract and pass through without paying royalties to the creator.
This process of wrapping or deriving a synthetic NFT can be prevented using a specific type of escrow contract. The escrow contract primarily serves the function of preventing the transfer of ownership of any ERC721 to another smart contract. The escrow contract requires a signed message from the potential buyer to complete the sale/transfer of ownership. Because it is impossible for a smart contract to sign a message on-chain, it cannot fulfill the requirements of the escrow contract for a sale, and thus cannot own an ERC721 transferred using the escrow contract. This architecture prevents any user, marketplace, or contract from making an ERC721 derivative.
In the second method, the user conducts an ERC721 trusted sale outside of a marketplace. This is largely made possible through the use of the transferFrom
method of the ERC721 contract. To prevent circumvention of sales through the escrow contract, the transferFrom
method must be modified. The variation ERC721 contract would be modified such that the marketplace escrow contract is the only entity with permissions to call transferFrom
. This would negate P2P sales that bypass royalty payments and dictate that the only way to sell/move the NFT is through the escrow contract.
This proposed variation of the ERC721 standard and accompanying whitelisted escrow contract provide a way for marketplaces and independent artists to globally enforce royalties on every secondary sale. While the naming of this modified is arbitrary, it could live alongside the traditional ERC721 similar to the upgraded ERC721A.
A few sidenotes:
- Modification of the
transferFrom
removes the ability to simply transfer your NFT between wallets. This may cause some friction among NFT traders, but as long as the user has the same value of the NFT in whatever token the sale is denominated in, they can simply move it through the contract. - This token standard is will likely apply best to smaller independent artists