# ERC-721

### DESCRIPTION

The ERC-721 NFT contract allows users to mint new ERC-721 non-fungible tokens. It inherits from ERC721URIStorage, which provides functionality for managing token ownership and metadata. The mintNFT() function is used to create a new token by assigning it to a specific user and setting its unique token URI. Each token has a unique token ID, which is generated using the \_tokenIds counter and incremented after each minting operation.

### FUNCTIONS

1. **Approve**
2. **mintNft :** This function is used to mint a new ERC721 non-fungible token (NFT). It takes the address of the user to whom the NFT will be assigned and the tokenURI, which is a unique identifier for the token's metadata. The function generates a new token ID using the \_tokenIds counter, mints the token to the user's address, sets the token's URI, increments the token ID counter, and returns the newly created token ID.
3. **safeTransferFrom**
4. **setApprovalForAll**
5. **transferFrom**
6. **balanceOf**
7. **getApproved**
8. **isApprovedForAll**
9. **Name**
10. **ownerOf**
11. **Symbol**
12. **tokenUri**

### EXTRA PARAMETERS

**Contract Level :** Easy

**Utility Tags :** ERC-721, NFT Minting, NFT

* **name (string):** The name of the ERC-721 token contract.
* **symbol (string):** The symbol or ticker of the ERC-721 token contract.

### USES

1. **Digital Art Marketplaces:** Artists can use the contract to mint their digital artworks as ERC-721 NFTs. Each artwork can have a unique token ID and associated metadata, allowing for ownership tracking and provenance verification on the blockchain.
2. **Collectibles and Trading Card Games:** The contract can be used to create and manage unique collectible items or trading cards as ERC-721 NFTs. Each item or card can have distinct properties, artwork, and metadata, enabling players to collect, trade, and interact with them in games.
3. **Virtual Real Estate:** The contract can be employed to tokenize virtual land or real estate properties in virtual worlds or decentralized applications. Each token represents a unique piece of virtual land, allowing users to buy, sell, and trade virtual properties on the blockchain.
4. **Tokenized Assets:** The contract can be utilized to tokenize real-world assets, such as real estate properties, artwork, or luxury goods. Each asset can be represented as an ERC-721 NFT, providing fractional ownership, provenance, and transparent transferability on the blockchain.
5. **Identity and Certification:** The contract can be used to issue unique digital identities or certificates as ERC-721 NFTs. Each NFT can represent an individual's identity or a specific certification, enabling secure verification and tamper-proof record-keeping.


---

# Agent Instructions: 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:

```
GET https://sinqlarity.gitbook.io/sinqlarity-docs/contract-details/erc-721.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
