EIP-2981

  • NFT standards (ERC-721/ERC-1155) only deal with ownership state tracking, approvals, and direct transfers.

  • They contain no functionality for acquiring and splitting royalties.

Royalties

  • royalties are not a concept that’s enforceable by a collection itself.

  • There have been attempts to build collection contracts that come with their own marketplace logic and prohibit transfers outside of their controlled environment, but they never gained much attention since markets are made on the dominating platforms.

  • When NFT contracts are just dealing as registries and marketplaces manage royalty payments individually, how can a collection owner define their royalty scheme so that every marketplace supports it?

EIP-2981

  • This EIP enables all marketplaces to retrieve royalty payment information for a given NFT. This enables accurate royalty payments regardless of which marketplace the NFT is sold or re-sold at.

  • Marketplaces and individuals implement this standard by retrieving the royalty payment information with royaltyInfo()

  • royalty payment must be voluntary, as transfer mechanisms such as transferFrom() include NFT transfers between wallets, and executing them does not always imply a sale occurred.

Implementations

Royalty Registry

  • The need for this registry is due to the enormous number of NFTs that have already been minted without any royalty information on-chain (aka pre-EIP2981).

  • Deploying a royalty registry means that royalty information from NFTs that were created both pre and post-EIP2981, can be stored and retrieved from a single, data store, using well-defined interfaces.

  • Typical usage of the Royalty Registry would be via a new message call to the registry's smart contracts

  • the message call requests the royalty information of a given NFT, identified through the usage of its token ID and contract address

  • getRoyaltyView //view function

New NFTs - embed royalty info

Last updated