# Work with NFTs

{% hint style="success" %}
**What is an NFT?**

As per Wikipedia, "A non-fungible token (NFT) is a unique digital identifier that is recorded on a blockchain and is used to certify ownership and authenticity. It cannot be copied, substituted, or subdivided. The ownership of an NFT is recorded in the blockchain and can be transferred by the owner, allowing NFTs to be sold and traded."

In effect, an NFT is made of:

* a media file (image, video) available online,
* its attached metadata file, which notably features the web address where the media file is stored,
* a blockchain's block, which stores the metadata file along with an NFT-centric smart contract that offers methods to interact with the NFT.

NFTs on Chiliz Chain follow the [EVM standards](https://ethereum.org/en/developers/docs/standards/) (for instance: [ERC721](https://ethereum.org/en/developers/docs/standards/tokens/erc-721/), [ERC-1155](https://ethereum.org/en/developers/docs/standards/tokens/erc-1155/), [etc.](https://ethereum.org/en/developers/docs/standards/#token-standards)), which ensure interoperability across tools and marketplaces.
{% endhint %}

{% hint style="success" %}
**What is NFT minting?**

NFT minting is the process of taking a digital file (such as an image, a video, or a piece of music) and turning it into an on-chain token: a verifiable digital asset that can be owned and transferred.
{% endhint %}

## Prerequisites

Three things are necessary for you to mint NFTs:

### 1. A Web3 wallet

To interact with Chiliz Chain (Chiliz Chain Mainnet or Spicy Testnet), you need a Web3 wallet address with some amount of CHZ on it. CHZ is the native Chiliz Chain token.

{% hint style="success" %}
A Web3 wallet serves as both storage for your CHZ tokens, and as your digital signature to approve on-chain actions.
{% endhint %}

You can use [MetaMask](https://metamask.io/) or any other Web3 wallet when working on Chiliz Chain:

{% content-ref url="../../learn/about-wallets/how-to-use-metamask" %}
[how-to-use-metamask](https://docs.chiliz.com/learn/about-wallets/how-to-use-metamask)
{% endcontent-ref %}

Once installed, set your wallet up to work with Chiliz Chain:

{% content-ref url="../../quick-start/developer-toolbox/connect-to-mainnet-and-testnet" %}
[connect-to-mainnet-and-testnet](https://docs.chiliz.com/quick-start/developer-toolbox/connect-to-mainnet-and-testnet)
{% endcontent-ref %}

Make sure to obtain CHZ tokens in order to pay for gas fees on Chiliz Chain Mainnet. You can buy CHZ on any exchange such as Binance, Coinbase, Bitpanda, etc.

To test your ability to mint NFTs on Chiliz Chain, you should use the Spicy Testnet with test CHZ tokens. You can obtain free tokens through testnet faucets:

{% content-ref url="../basics/obtain-free-testnet-tokens" %}
[obtain-free-testnet-tokens](https://docs.chiliz.com/develop/basics/obtain-free-testnet-tokens)
{% endcontent-ref %}

### 2. A deployed NFT smart contract

Before a file can be minted into an NFT, you must deploy and verify a corresponding NFT smart contract on Chiliz Chain. This is a crucial step to ensure transparency and enable interaction with your contract on-chain.

{% content-ref url="work-with-nfts/choosing-the-right-nft-contract" %}
[choosing-the-right-nft-contract](https://docs.chiliz.com/develop/advanced/work-with-nfts/choosing-the-right-nft-contract)
{% endcontent-ref %}

{% content-ref url="../basics/deploy-a-smart-contract" %}
[deploy-a-smart-contract](https://docs.chiliz.com/develop/basics/deploy-a-smart-contract)
{% endcontent-ref %}

{% content-ref url="../basics/verify-a-smart-contract" %}
[verify-a-smart-contract](https://docs.chiliz.com/develop/basics/verify-a-smart-contract)
{% endcontent-ref %}

### 3. An online location for your NFT files & metadata

One essential part of your NFT is to have it available online, for all to see. One way to do that it to have your media file (image/video/etc.) and its `metadata.json` file accessible via IPFS.&#x20;

{% content-ref url="work-with-nfts/preparing-the-nft-files" %}
[preparing-the-nft-files](https://docs.chiliz.com/develop/advanced/work-with-nfts/preparing-the-nft-files)
{% endcontent-ref %}

{% content-ref url="work-with-nfts/hosting-your-nft-on-ipfs" %}
[hosting-your-nft-on-ipfs](https://docs.chiliz.com/develop/advanced/work-with-nfts/hosting-your-nft-on-ipfs)
{% endcontent-ref %}

## Minting an NFT

There are several ways to mint NFTs on Chiliz Chain, depending on your needs. \
These pages aim to present the most recommended ways.

{% content-ref url="work-with-nfts/minting-with-viem" %}
[minting-with-viem](https://docs.chiliz.com/develop/advanced/work-with-nfts/minting-with-viem)
{% endcontent-ref %}

{% content-ref url="work-with-nfts/minting-with-thirdweb" %}
[minting-with-thirdweb](https://docs.chiliz.com/develop/advanced/work-with-nfts/minting-with-thirdweb)
{% endcontent-ref %}

{% content-ref url="work-with-nfts/minting-with-rarible" %}
[minting-with-rarible](https://docs.chiliz.com/develop/advanced/work-with-nfts/minting-with-rarible)
{% endcontent-ref %}

## Listing an NFT for sale

For developers and creators, "hosting" an NFT effectively means listing your assets on an online NFT marketplace so they are visible, tradable, and indexed for users.

{% content-ref url="work-with-nfts/listing-your-nft-on-okx" %}
[listing-your-nft-on-okx](https://docs.chiliz.com/develop/advanced/work-with-nfts/listing-your-nft-on-okx)
{% endcontent-ref %}
