<p>On Cardano, an NFT doesn't require a Smart Contact, as it is minted as
a <a href="https://docs.cardano.org/en/latest/native-tokens/learn-about-native-tokens.html" rel="noreferrer">native asset</a>.</p>
<p>To make sure a NFT is a really non-fungible, the minter of the native asset is usually locking <a href="https://cardano-ledger.readthedocs.io/en/latest/explanations/policies.html" rel="noreferrer">its minting policy</a> in time. In other words, you mint just one native asset and lock any further minting/burning in time, so it is impossible to increase its supply starting from a specific slot time.</p>
<p>As an example, have a look at <a href="https://github.com/mmahut/nutcoin/blob/master/policy.script" rel="noreferrer">the minting script of <em>nutcoin</em></a>.</p>

CC BY-SA 4.0
2021-04-27T15:31:00.357Z
2021-06-23T09:59:37.820Z
2021-06-23T09:59:37.820Z
Marek Mahut - StakeNuts
<p><a href="https://www.youtube.com/watch?v=6VbhY162GQA&amp;t=3570s" rel="nofollow noreferrer">Lecture 5</a> in the Plutus Pioneer Program talks about different ways NFTs can be implemented.</p>
<p>A naive way to implement NFTs is by looking at the forge field of a transaction and check that the amount is set to 1. That in itself allows for the minting of just one token - per transaction. Now you can combine that with deadlines in the policy script by allowing the minting of the token until the deadline has passed. This is the way NFTs have been implemented since Mary on Cardano. With the policy in place, and the deadline passed, you can then check a blockchain explorer, that there is only one token minted for that policy.</p>
<p>With Plutus things are much more straightforward of course, but in terms of minting NFTs w/o smart contracts (Mary) that's essential how it's done.</p>

CC BY-SA 4.0
2021-11-15T15:26:46.173Z
Lars explains the naive approach here: https://youtu.be/SsaVjSsPPcg?t=2588
Sridhar Ratnakumar
CC BY-SA 4.0
2021-05-11T16:55:59.643Z
2021-05-11T16:55:59.643Z
Matthias Sieber
<p>NFTs are being minted in Cardano even without a smart contract in place. How does it ensure that no more token gets minted with the same ID?</p>

CC BY-SA 4.0
2022-01-14T07:26:49.930Z
Please mark one of the answers as accepted or give feedback as to why they are not.  Your fellow SE members have put in time and effort to supply answers to your question.
gRebel
CC BY-SA 4.0
2022-06-22T10:11:07.593Z
@GerM link broken: https://docs.cardano.org/native-tokens
Lee
CC BY-SA 4.0
2021-05-11T16:39:12.197Z
Useful document on the minting can be found here https://docs.cardano.org/en/latest/native-tokens/learn-about-native-tokens.html
GerM
<nft>
How are NFTs being minted without smart contract in Cardano?
# How are NFTs being minted without smart contract in Cardano?

(Asked by: username_0 on 2021-04-27)

NFTs are being minted in Cardano even without a smart contract in place. How does it ensure that no more token gets minted with the same ID?

**Tags:** nft
> **Comments:**
> **username_3**: Useful document on the minting can be found here https://docs.cardano.org/en/latest/native-tokens/learn-about-native-tokens.html  
> **username_1**: Please mark one of the answers as accepted or give feedback as to why they are not.  Your fellow SE members have put in time and effort to supply answers to your question.  
> **username_2**: @GerM link broken: https://docs.cardano.org/native-tokens  

---

## 2 answers

### Answer by username_4 on 2021-04-27. Score: 32 | Accepted answer

On Cardano, an NFT doesn't require a Smart Contact, as it is minted as
a [native asset](https://docs.cardano.org/en/latest/native-tokens/learn-about-native-tokens.html).

To make sure a NFT is a really non-fungible, the minter of the native asset is usually locking [its minting policy](https://cardano-ledger.readthedocs.io/en/latest/explanations/policies.html) in time. In other words, you mint just one native asset and lock any further minting/burning in time, so it is impossible to increase its supply starting from a specific slot time.

As an example, have a look at [the minting script of *nutcoin*](https://github.com/mmahut/nutcoin/blob/master/policy.script).


---

### Answer by username_5 on 2021-05-11. Score: 3

[Lecture 5](https://www.youtube.com/watch?v=6VbhY162GQA&t=3570s) in the Plutus Pioneer Program talks about different ways NFTs can be implemented.

A naive way to implement NFTs is by looking at the forge field of a transaction and check that the amount is set to 1. That in itself allows for the minting of just one token - per transaction. Now you can combine that with deadlines in the policy script by allowing the minting of the token until the deadline has passed. This is the way NFTs have been implemented since Mary on Cardano. With the policy in place, and the deadline passed, you can then check a blockchain explorer, that there is only one token minted for that policy.

With Plutus things are much more straightforward of course, but in terms of minting NFTs w/o smart contracts (Mary) that's essential how it's done.

> **Comments:**
> **username_6**: Lars explains the naive approach here: https://youtu.be/SsaVjSsPPcg?t=2588  

---

