# MIP-721: Non-Fungible Token Standard (Discussion)

**URL:** <https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102>\
**Category:** MIPs (Mina Improvement Proposals)\
**Created:** [July 12, 2023, 8:50am UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102 "2023-07-12T08:50:02Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![etherleif](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/etherleif/32/1940_2.png) [@etherleif](https://forums.minaprotocol.com/u/etherleif)\
**Post date:** [July 12, 2023, 8:50am UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/1 "2023-07-12T08:50:02Z")

</div>

Hey everyone, this is the discussion topic about a MIP for NFTs on Mina I started working on with my colleague Sebastian.

Still wip (actually just working on improvements based on the first feedback; new commit likely this evening), but always more than happy about feedback if you wanna take a first look.

> **[GitHub - etherleif/mip-nft-standard](https://github.com/etherleif/mip-nft-standard)**
>
> Contribute to etherleif/mip-nft-standard development by creating an account on GitHub.

Best,  
Leif

---

<div class="post-metadata">

**Author:** ![prajwolrg](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/prajwolrg/32/1946_2.png) [@prajwolrg](https://forums.minaprotocol.com/u/prajwolrg)\
**Post date:** [July 31, 2023, 2:08pm UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/2 "2023-07-31T14:08:43Z")

</div>

We wholeheartedly resonate with the need for the NFT Standard as well as the challenges presented regarding the NFT standard on MINA. Custom token for NFTs might be a way to go forward.

As we’re developing [NFTStudio](https://zkignite.minaprotocol.com/zkignite/zkapp/refineproposals/suggestion/581), we understand the importance of a well-defined standard to ensure interoperability and ease of use for NFT creators and collectors alike. We would love to work together to turn this into a reality.

---

<div class="post-metadata">

**Author:** ![Pfedprog](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/pfedprog/32/1980_2.png) [@Pfedprog](https://forums.minaprotocol.com/u/Pfedprog)\
**Post date:** [December 26, 2023, 8:57pm UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/3 "2023-12-26T20:57:18Z")

</div>

Really great to know there is a lot of work on 721 standard

So, please correct me if I am wrong. But from my understanding that the mapping in the sense of evm is not possible in the context of mina.

The closest similar pattern in Mina Ecosystem is merkle map where the root is stored on-chain.

Which I am currently attempting to implement with Pin Save

> **[GitHub - PinSaveDAO/PinSave-EVM: Decentralized Pinterest on EVM](https://github.com/PinSaveDAO/PinSave-EVM)**
>
> Decentralized Pinterest on EVM. Contribute to PinSaveDAO/PinSave-EVM development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![Pfedprog](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/pfedprog/32/1980_2.png) [@Pfedprog](https://forums.minaprotocol.com/u/Pfedprog)\
**Post date:** [December 26, 2023, 9:53pm UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/4 "2023-12-26T21:53:01Z")

</div>

I am currently experimenting with the following struct which is extended into class `NFT`

```auto
export class NFT extends Struct({
  name: Field,
  description: Field,
  id: Field,
  cid: Field,
  owner: PublicKey,
}) {
  newOwner(address: PublicKey) {
    this.owner = address;
  }
....
}

```

But I am delving into ERC 721 metadata standard [ERC-721: Non-Fungible Token Standard](https://eips.ethereum.org/EIPS/eip-721)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/minaprotocol/original/2X/d/dc60da765e6f51be33f2e551cbdec0f028c7d2f7.png)

---

<div class="post-metadata">

**Author:** ![Yasharsaljoughi](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/yasharsaljoughi/32/1834_2.png) [@Yasharsaljoughi](https://forums.minaprotocol.com/u/Yasharsaljoughi)\
**Post date:** [December 26, 2023, 10:00pm UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/5 "2023-12-26T22:00:16Z")

</div>

Good idea , i think its a first time that we will get NFT on ZK!  
We should works also on nft marketplace.  
Other problem is : EVM!  
I am not a dev person but i know its hard to maching mina to EVM!

---

<div class="post-metadata">

**Author:** ![DegenGemz](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/degengemz/32/1990_2.png) [@DegenGemz](https://forums.minaprotocol.com/u/DegenGemz)\
**Post date:** [December 27, 2023, 6:27am UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/6 "2023-12-27T06:27:55Z")

</div>

Great idea! If I can be of any help, specifically on the UI/UX and/or art side of things I would love to contribute at the appropriate time.

---

<div class="post-metadata">

**Author:** ![StakeU](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/stakeu/32/1993_2.png) [@StakeU](https://forums.minaprotocol.com/u/StakeU)\
**Post date:** [January 2, 2024, 2:35am UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/7 "2024-01-02T02:35:36Z")

</div>

I have a PFP project not yet minted. I can mint it in Mina if there is that feature soon.

---

<div class="post-metadata">

**Author:** ![Pfedprog](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/pfedprog/32/1980_2.png) [@Pfedprog](https://forums.minaprotocol.com/u/Pfedprog)\
**Post date:** [January 2, 2024, 9:29am UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/8 "2024-01-02T09:29:09Z")

</div>

> [@StakeU](#):
>
> I have a PFP project not yet minted. I can mint it in Mina if there is that feature soon.

I have figured out how to mint NFTs on Mina. Could you tell me the if you need a full front end and back end? Or just a simple contract would be enough for you.

---

<div class="post-metadata">

**Author:** ![gtt](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/gtt/32/2000_2.png) [@gtt](https://forums.minaprotocol.com/u/gtt)\
**Post date:** [January 22, 2024, 3:36am UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/9 "2024-01-22T03:36:43Z")

</div>

would you mine to share with me… im working in NFT and interestingly to put it in MINA.  
thank for any advance

---

<div class="post-metadata">

**Author:** ![Pfedprog](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.minaprotocol.com/pfedprog/32/1980_2.png) [@Pfedprog](https://forums.minaprotocol.com/u/Pfedprog)\
**Post date:** [February 21, 2024, 11:16pm UTC](https://forums.minaprotocol.com/t/mip-721-non-fungible-token-standard-discussion/6102/10 "2024-02-21T23:16:57Z")

</div>

Absolutely, please follow updates on [https://twitter.com/PinSav3](https://twitter.com/PinSav3)

We got npm sdk at [pin-mina - npm](https://www.npmjs.com/package/pin-mina)

With more links in the npm package readme.

Hopefully, I will be able to enable upload section and deploy the contract to mainnet shortly.
