Creation of NFT

Are there any tutorials or examples that teach how to mint an NFT from scratch using the cardano-cli? I have already created a native token by following the example in the developer documentation, but not sure how to create an NFT. Thanks for your help!


also interested in creating a simple NFT, not a developer, but willing to learn, example in the documentation would be enough to start


Start with this: Working with Multi-Asset Tokens (

At the section " Example: Minting A New Native Asset" will start a step by step guide.


The OP just said they went through that

Was hoping some experts would chime in. But the most basic way that is apparent from the docs is that tokens minted with different policies are non-fungible. So one way is that a token is never fungible by different policies; meaning a token per policy is one way. A time locked or one-time use policy per token.

1 Like

just leaving a comment to find this article as well…

More than willing to learn how to create nft art (the technical aspect not the art :D)

Any pointers to where to stat would be amazing!


I was thinking the same thing i.e minting a single token with the policy that denies the creation of more, then by definition that is an NFT right? What I’m missing reading the docs is if that is intended to be the right way of doing it or is there some deeper mechanism I’m missing (policy level) that can turn off fungibility. I too would like some clarification on what the Cardano equivalent of an erc-721looks like or if it’s really as simple as minting a token type that has a policy that there will only be one

So after playing with creating some on the testnet; I realized that while yes we could do it the way we just mentioned, the fungibility is also based on the Asset ID which is the Policy Address and the Unique asset name. E.g. eed00c9cdba804763e8bc542cf938c6a283ab1e9ed2554f25c230e29.MyNFT_01

We can create as many as we want of those in a single policy. Which you can do everything ERC-721 does (maybe there are some random technical differences) but you can do all the transferring and looking up without a smart contract.

With the simple scripts available in the Mary mainnet, Scripts - cardano-node - Cardano Updates, the way to create an NFT is to limit the creation time using script type “before” and then create just one token before that slot number. After that slot number has passed, it will be impossible to mint any additional tokens of that asset. The tokens can still be sent in transactions, but new ones cannot be created, nor old ones destroyed–the “before”-type monetary script forbids that.

1 Like

In an update Charles gave last week, just after the Mary Hard Fork, he mentioned that they are working on an NFT platform. He didn’t give any other details on this. Smart contracts are a big part of this and we’re not quite there yet. I am ready for NFTs as well but I’m going to wait to see if over the next couple months they do come out with something and will make it a lot easier and simplify the process.

Here’s a vid I made to walk through the process of creating a token with the cli; once you get the hang it’s super simple, even though it may not look like it from the start.


example, Please send 1 NFT to wallet: addr1q9vy2cq7mr4zgpe306jueu2dkjf402jq4p5twnmgjetxy8jdxkeupv8s9fu8g6cdc9gj5jh84dkx8m8pn2dq626qahmqxftg53


yenNSTH; I’d recommend remove / edit your post to have a testnet address

1 Like

Good approach! I’ll try it. But, I’m confused about what should I put in slot? For example: before slot 1000 means slot 1000 from current epoch or what?

The slot number is relative to the beginning of the chain, not the slot within an epoch. The command cardano-cli query tip --mainnet will tell you what the current slot number is, which is approximately 24275826 right now.

Worked, thanks!

1 Like

Great video. I have been struggling on how to add metadata into the token…I was also reading about cardano metadata submitters but I don’t see the connection

Metadata is saved whenever the json or cbor option is used when creating a transaction. Meaning it can be done independent of the token creation process. Metadata isn’t added to the ‘token’ it’s simply added to the chain which provides a means to lookup the information by token id or whatever construct you come up with.

There are those who want to have a ‘standardized’ way to denote NFT metadata but I don’t believe anything exists at this time. Because there isn’t an ‘official’ way it leaves it up to everyone to implement as they see fit. I may post a HowTo if no one else get’s to it in the next couple weeks.

@failfection quick question are you already installed cardano-metadata-submitter? I followed the instructions on github by using pre-compiled linux executable but I’m struggling to run the script…

1 Like