🎨
Non-Fungible Tokens (NFTs) on the Tezos blockchain

Introduction

On March 13, 2021, Christie’s auction house’s first sale of a digital piece of art emphasized the current traction for Non-Fungible Tokens (NFTs). That artwork was sold for 69 million USD, which was a record-breaking price for an NFT.
NFTs provide ownership management features for digital assets. That doesn’t eliminate the risk of copies, forgeries, or creation stealing, but it makes these things harder and thus helps to protect buyers, creators, and platforms.
A token is a representation of a physical or virtual asset.
There are two broad classes of assets: fungible and non-fungible.

Non-fungible tokens

An NFT consists of data stored on a digital ledger to certify a digital asset as unique, indivisible, and not interchangeable.
It can be stored on a blockchain and used to represent a digital artwork, an ownership certificate of a tangible asset, or any other property of a non-fungible asset - be it material, cultural, electronic, and so forth.
The value of an NFT depends on the value of the asset that it denotes: an NFT representing the Mona Lisa is likely to be worth more than one representing a copy of the Mona Lisa. That is not because the original is necessarily prettier than the copy; but because the copy is not the original.
As we’ll demonstrate in this document, NFTs can be issued and exchanged smoothly and quickly on the Tezos blockchain. Furthermore, buyers can prove swiftly and easily that they own an NFT, simply by making a query to the blockchain. So, for example, a process that traditionally might involve several hours looking up title deeds stored in a bank vault could be automated using blockchain to be done in microseconds with a few taps on a computer or mobile phone.

FA2 standard

On the Tezos blockchain, the token standard for creating NFTs is the FA2 standard. The FA2 standard allows the management of fungible tokens and NFTs within the same contract. However, its use is also adapted to interact only with NFTs. Each token is associated with a unique ID (identifier) and metadata.
Metadata is useful information related to a smart contract, for example, the symbol of a token, the name of a token, an external link to a website, etc.
This standard allows simple management of NFTs, and it’s the Tezos equivalent of the Ethereum ERC1155 standard. Most of the Tezos NFT contracts implement this standard.

NFT platform and tools on Tezos

Here is a list of NFT projects currently available on Tezos:
  • Hic et nunc: the most popular NFT marketplace on Tezos. There are more than 500,000 NFTs available on their platform by September 2021. Hic et Nunc is mostly oriented towards art-related NFTs.
  • Objkt.com: an auction market enabling to sell Hic et nunc artworks ad various pieces from artists.
  • Kalamint: curated marketplace for all sorts of NFTs (art, collectible cards, music, etc. ).
  • tzNFT: a toolbox for creating your own NFTs.
  • Openminter: a toolbox for creating your own NFT platform.
  • tzcolors: auction marketplace allowing you to buy rare colors as NFTs.

Hic et nunc

A fast and simple solution to create an NFT on the Tezos blockchain is to use an NFT marketplace.
To create an NFT on Hic et Nunc, you need to connect to your favorite wallet and load your digital art piece.
You can set a title, description, tags, and price for your NFT...
Once all the information have been filled in, we can create our NFT. Royalties are mandatory on Hic et Nunc, and can be set from 10 to 25 percent.
Metadata will store information regarding the current content of the NFT, where it’s stored, and the information you provided during the creation. Creating an NFT on Tezos costs around 0.08 tez, which would be around 0.23 EUR as of June 4, 2021.

Openminter

OpenMinter is a free and open-source DApp framework enabling the creation and collection of NFTs on Tezos. Its features include browsing and marketplace capabilities.
OpenMinter relies on Minter SDK for its smart contracts, but it only implements two of them: the NFT collection and the Sales smart contract. Minter SDK provides many more, but they’re not implemented in OpenMinter yet. You can find the rest of the smart contracts here.
When you create an NFT with OpenMinter, it creates a collection containing that NFT and sets you as the owner of both the collection and the NFT. If you decide to list it for sale, the NFT becomes the property of the Sales smart contract. At that point, you don’t own it anymore. To be able to get the ownership back, you need to cancel the sale listing with the dedicated entry point.
Here’s a list of useful documentation regarding OpenMinter:

tzNFT

Another option could be to install tzNFT, which is a command-line tool for creating NFTs. It provides the following features:
  • Mint an NFT
  • Inspect an NFT
  • Transfer an NFT
Every time you create a new NFT collection, it creates a new smart contract. Once created, it won’t be possible to add or remove tokens; only transfers will be available. With Hic et nunc, this tool relies on IPFS decentralized storage for storing NFT metadata. This is a very interesting option if you don’t want to pay any fees and have full control over your NFT.
Solutions comparison (non-exhaustive)
tzNFT
Openminter
Hic et nunc
Objkt.com
mint
buy/sell
collections
browsing
royalties
DAO token
edit NFT metadata
metadata search
auctions

Interactions

You can interact with an NFT through its original contract. Contract entry points define the possible actions, which are generally as follows:
  • creation/destruction: it’s usually possible in centralized or open contracts.
  • transfer: it allows token transfers between peers.
  • swap: atomic and decentralized swap. This can only be done for tokens inside the same contract (it can also include a transaction).
  • delegation: it allows a trusted external party to manage the tokens.

Tickets and NFTs

Since the integration of the Edo Amendment into the Tezos blockchain in early 2021, a new type of data has emerged: the ticket. A ticket has three intrinsic properties:
  • it contains the address of the contract that created it,
  • it cannot be modified,
  • it cannot be duplicated.
That allows the ticket to materialize and interact with a token within the blockchain outside its original contract. A token represented by a ticket can then be exchanged outside its original contract. Its authenticity is guaranteed by its address of origin, corresponding to the contract that created it. Tickets would be a great solution for managing the ownership of multisig NFTs or NFT collections. Instead of having a complex multi-signature process, you could just verify that the signer's address owns a specific ticket to grant access. It could also greatly facilitate the setup of a permissioned structure for an NFT or NFT collection.