Issue(r) with making your own Cardano NFTs

Alex | @ruttkowa
3 min readApr 15, 2021

--

With the surge of native assets and multiple NFT pre-sales more and more people are looking to get into the NFT game in Cardano.
And the community already came up with some solutions to lower the entry barrier significantly.

Many stake pools offer minting (the official term to create a native asset / token / NFT) services for their delegators or platforms like nft-maker.io which enable “not so tech savy” creators to mint their own NFT and publish it on the Cardano blockchain.

Graph of how many tokens got minted over time on the Cardano Blockchain. There’s a significant peak starting mid April.
Minted token over time (Source: https://nativetokens.da.iogservices.io/)

I get it, it’s tempting — low fees and seemingly easy creation.

But our current process also has some flaws.
As I highlighted in my last article the current state of how NFTs are made isn’t standardized and is more like a widely adopted workaround.
But this shouldn’t be as much of a concern to creators.
In contrary — using those self service platforms helps to cement the current “standard” even more.

So what’s the problem?

First let us take a look at the lifecycle of a token which can be found in the official documentation for Cardano Developers:

Source: https://developers.cardano.org/en/development-environments/native-tokens/multi-asset-tokens-explainer/

The lifecycle should be quite self explanatory, the different roles not so much. So let’s take a closer look at everyone involved when working with tokens — again, taken from the official documentation.

Asset Controller
They define the policy for the asset class, and authorise token issuers to mint/burn tokens. They may also retain co-signing rights for any tokens that are issued/burnt. More on the policy later.

Token Issuer
Issuers mint new tokens, maintain the reserve of tokens in circulation, issue them to token holders, and burn tokens when they are no longer of use.
The Issuers actually “mint” the tokens through a transaction which outputs new tokens under the policy defined by the Asset Controller.

Token Users
Hold tokens, send them to other users, use them for payment, and who may redeem them with the issuers when they have finished using them. Token users may include normal users, exchanges etc.

No policy — no control

A token policy defines how many tokens can be minted.
For how long they can be minted.
Which and how much signatures need to sign the transaction to actually mint them etc.
You can read more info about the policy here and here (more technical).

The problem — as of now I am not aware of any service (but will happily be proven wrong :) ) which implements some sort of control over the policy for the creator.
You need to trust the asset controller and issuer (which is likely to be the same person) about the policyID or your non-fungible-token might become not so fungible after all (if it can be minted again).

So if — for example — you ever want to revoke and burn your NFTs and even manage to get hold of it, you still need to have the issuer address and policyID to really burn them and remove them from the system completely.
Without those, the tokens will be around indefinitly.

Conclusion

I’m not saying you shouldn’t use those services, quite the contrary.
I even encourage you to try it out!
But please be aware that by minting NFTs through a pool operator or services like nft-maker.io you are most likely to be only a token user.

That’s why I also urge the providers of those services to keep a certain level of transparency of how they use the policy and what it means for the end user. Maybe some of you even can come up with clever ways to transfer full ownership to the initial creator?

This in turn can and should lead to more adoption, acceptance and set clear expectations for everyone involved (until smart contracts available).

Thank you for reading and maybe even sharing my article.
If you want to donate & support me please feel free to send some ADA to:

addr1qy7wws9sjy9zd5fmg34adg8djg5we9m6f0j29l8r2surgx93ec4e835klg78fhheyvzlnuxrjdrrw3j8p46r58j84j7qja6nw7

or delegate your stake to my stake pool — thanks!

Cheerio,
Alex

--

--

Alex | @ruttkowa

Munich Metal | Cardano Ambassador | I want to show how tech can help you | 🇩🇪 & 🇬🇧