# nftRecord

The nftRecord in the AssetTree is an essential component to allow for the traceability of NFT tokens minted for the asset. One should follow [the definition of NFTs](../non-fungible-tokens) to issue tokens in order to build robust ownership systems. This is particularly important in the creator economy, as creators need to have a way to prove ownership and provenance of their creations.

nftRecord is a file on IPFS decentralized web containing _a list of NFT records_. As discussed in the [Key Difference From NFT](../../../faq/whats-the-difference-between-numbers-and-nft) page, it is common that one asset is minted as multiple NFTs. In order to make sure the records can be found, a commit can be created after minting and put the NFT/NFTs info "of that mint" to be included in the nftRecord. The nftRecord is structured as an array, allowing multiple NFTs to be included in a single commit. This setup supports cases where multiple NFTs are minted in one action. The NFT records are stored as JSON files on IPFS to make them accessible.

The use of IPFS to store the nftRecord adds an additional layer of decentralization, as the information is stored on a distributed network rather than a single centralized server. This ensures that the records are tamper-proof and can be easily accessed by anyone.

If you want to view the full NFT history of an asset, you can use the [Read Asset History](../../../../developers/read-asset-history) feature, which retrieves the on-chain data directly.

## Specification

Every nft record in the nftRecord file is a JSON object containing the following information:

* `network`: chain ID of the NFT blockchain
* `contractAddress`: NFT contract address
* `tokenID`: token ID of the NFT

Here is an [example of the nftRecord](https://ipfs-pin.numbersprotocol.io/ipfs/bafkreih3uxaubc6q7dghn2xxfluygn6bw4rx47rfuypdzc53oeqpyoqicy) file:

```json
[
  {
    "network": 108,
    "contractAddress": "0x59d6fe14e7bfaf7c89c297be301195b96335df0e",
    "tokenId": "37262"
  }
]
```
