The goal of this document is to explain how royalties are currently configured and taken on Eniblock NFts Solution.

Introduction

Royalties are a specific amount paid to a specific address that happen on all exchange in the secondary market. The amount paid is a percentage based on the sale of an NFT in XTZ.

Configuration

Since version 2.8.0, NFts royalties can be managed directly by the Issuer when creating an Asset manually using the Admin panel. See how Manage Assets .

It is also be possible to configure as many royalty as possible per NFT.

e.g: Different royalties with different percentage and address on the same NFT

To do this, the CSV template needs to be modified and contain a column that includes royalties for each tokens using something like:

Royalties

“tz1xxxx:5, tz1xxxx:10,…”

Constraints

  • For security reason, Royalties percentage can not be higher than 30% for a specific NFT.
    For instance, if you have several royalties beneficiaries the total amount of royalties percentage cannot exceed more than 30% for a specific NFT.

Technical workflow

  • NFT Minting

Each NFT are minted with the royalty embeded in the NFT Metadata (taken from the current configuration on Create).

// 5% of the sale will be sent to the following address: tz1LLPWMyZ7gKsp3WnLfemyAYW6CoZoozku5

"royalties": {
        "decimals": 2,
        "shares": {
            "tz1LLPWMyZ7gKsp3WnLfemyAYW6CoZoozku5": 5,
        }
    },
JS

After an NFT is minted, it is NOT possible to change the royalty values.

  • NFT on sale (secondary market)

Upon creating a sale on the secondary market, the Eniblock NFTS secondary market contract configure the sale using the information send as parameter , normally it should be the same information as in the NFT royalty metadata.

This is the same behavior we find on Tezos secondary market contracts.

Selling those tokens on those marketplace should take the royalty rule of the NFT into account and pay the destination address upon NFT sale.

This information is not read on-chain by the Eniblock secondary market contract which means:

  • A custom Eniblock secondary market contract could totally ignore or use his own royalty rules

  • An admin could put the NFT on sale with a different royalties values to the NFTs metadata.

  • Royalty payment

Upon selling the NFT, a royalty payment is done by the Eniblock secondary market contract using the following workflow.

The payment of the royalty happens in the same transaction as the transfer of the NFT and the payment of the sale to the buyer. This enforce the payment of a royalty whenever an NFT is sold.