CIP - Royalties

The following parties have provided input on this CIP: Digital Syndicate (Cardano Budz) @Huth_Solo, Adam Dean (Buffy Bot), Artano @DeFi_Authority, & CNFT.io @Stale.

I believe there is a misunderstanding in the community on how royalties for NFT’s would work when smart contracts come out. I believe that Smart Contracts wont directly address royalties. Since this seems to be something highly desired, with many people “waiting for smart contracts” for this exact thing, its going to be necessary to create a community standard that is enforced through the CNFT markets, and any future dApps. My proposal is very simple. Use a single metadata tag of “royalties”, which points to an off chain json. This would work the same way stakepools register all their ticker information. Since it points offchain, the contents of this json can evolve, and be updated over time.

percentRoyalties: 10.0
paymentAddress: addr1122334455
version: 0.1

Allot more info can be added of course. And as the final iteration of this json’s content evolves, the version number would be advanced. Marketplaces would of course have to respect the tags. But right now, there is no standard. So this proposal can get that moving forward.

6 Likes

Thank you @Huth_S0lo for this post and the shout out!

As we spoke yesterday, Artano has proposed the following simple standard in JSON format:

royalty: {
            address: [...],
            percent: XX
     }

After talking to you yesterday we could also work with the following:


royalties: {
            address: [...],
            percent: XX
     }

JSON url or inline json work for us.

Happy to hear other proposals, let’s do this :muscle:

1 Like

This could be an option. The main consideration is backwards compatibility.

royalties: {
type: standard (or no type tag at all for backwards compatibility)
address: […],
percent: XX
}

royalties: {
type: multiple
primaryAddress: […],
primaryPercent: XX
secondaryAddress:
secondaryPercent:
tertiaryAddress:
tertiaryPercent:
quaternaryAddress:
quaternaryPercent:
}

1 Like

This seems like overkill for a structure that could just take a list like so: ?

royalties: [
   {
      "address": "asdfasdf",
      "percent": X
    },
    {
      "address": "asdfasfasdf",
      "percent": Y
    }
]
2 Likes

This is a very important topic for digital artists. The aftermarket has to be managed to support the original artist. There are many artist waiting on the sidelines because they dont trust the digital world will take care of them.

3 Likes

Just so everyone understands, Huth_S0lo is the snake who stole my multi-million dollar idea.

After months of discussions.
After countless assurances that I was on the team.
After countless hours of presentations.
After hours of teaching their team Haskell.

Once I helped them join the Plutus Pioneer Program, they realized they no longer needed me to create a much simpler version of my idea. I could release the screenshots, discussions of pay-to-win schemes and setting up the next shadow entity, but this should be enough.

CardanoBudz == CardanoCity == RetroNFTs == LovelaceMarketplace == NFTAtelier, and they never put their real names behind their work. Nuff said.

Every single claim made here by Seamoss is not just demonstrably false; but its even comically false. It looks like we’re approaching restraining order time.

1 Like

Hi, I am a video game developer and I am really interested in links between Tokens and Games. I’ve just discovered this CIP on royalties and it’s a good thing that royalties can be done without smart contract. I think several persons can be involved in the creation of a token, so that could be great if we could specify more than one address and percent. Wouldn’t it be possible to use an array of object instead of a single object for the 777 tag for example ? Is there a mean for me to enter the discussion ?

1 Like

No. Because that burdens the marketplace, and creates challenges with minimum utxo. You can use the address of a smart contract if you want to distribute it; or you can write a script.

I understand. Thank you for your answer.