> For the complete documentation index, see [llms.txt](https://cll-devrel.gitbook.io/bootcamp-2024/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cll-devrel.gitbook.io/bootcamp-2024/6.-nfts-and-chainlink-automation/nft-basics.md).

# NFT Basics

### What Are NFTs

NFTs (also known as Non-Fungible Tokens) are unique cryptographic assets. Unlike Fungible Tokens, NFTs are one-of-a-kind. This means they can’t be replicated or divided into smaller units.

These characteristics mean NFTs can be used to represent various digital assets such as:

* Identities/Memberships
* Tickets
* Real Estate
* Posts
* Badges
* Trading Cards

### Difference Between Fungible & Non-Fungible Tokens

**Fungible Tokens** characteristics:

* **Interchangeability**: Each token is identical to another in type and value, similar to fiat currencies (dollar, euro etc.) where each unit is worth the same.
* **Divisibility**: Fungible tokens can be divided into smaller units, allowing for transactions of varying sizes and values.

**Non-Fungible Tokens** characteristics:

* **Uniqueness**: Each NFT has distinct properties and cannot be exchanged 1-1 with another NFT.
* **Indivisibility**: NFTs can’t be divided into smaller units. They are bought, sold, and owned whole.

NFTS cannot be copied, substituted, or subdivided ([source](https://en.wikipedia.org/wiki/Non-fungible_token)). While fungible tokens are often used as a medium of exchange or value storage (similar to money), NFTs are used to prove ownership or authenticity of a unique item or piece of content.

#### NFT Metadata

Metadata provides extra information about an NFT stored in a [JSON](https://en.wikipedia.org/wiki/JSON) file. This metadata can be stored both on-chain & off-chain and it is used to provide extra relevant data about the NFT or enhance the asset it is representing. Metadata can include the following:

* Images
* Name
* Attributes
* Description
* External URLs

NFT Marketplaces such as [Opensea](https://opensea.io/) often have their own [Metadata Standard](https://docs.opensea.io/docs/metadata-standards), which specifies exactly how the Metadata JSON should be formatted.

<figure><img src="/files/OCWNXiYCTdkLHN5nQHh5" alt=""><figcaption><p>Opensea NFT, ERC721 Smart Contract, JSON Metadata</p></figcaption></figure>

NFT Metadata is commonly stored off-chain using decentralised file storage such as IPFS (InterPlanetary File System). Users can run their own IPFS node and store their images & metadata for their NFTs.

However, to make it more accessible for everyone here are a few alternatives that can make it easier to store metadata without running an IPFS node yourself:

* [Pinata](https://www.pinata.cloud/)
* [Infura](https://www.infura.io/)
* [Quicknode](https://www.quicknode.com/ipfs)
* [NFT.storage](https://nft.storage/)
* [Web3.storage](https://web3.storage/)
* [Thirdweb storage](https://thirdweb.com/storage)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cll-devrel.gitbook.io/bootcamp-2024/6.-nfts-and-chainlink-automation/nft-basics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
