> For the complete documentation index, see [llms.txt](https://getheminames.gitbook.io/getheminames/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://getheminames.gitbook.io/getheminames/listing-getheminames-on-nft-marketplaces.md).

# Listing getHemiNames on NFT Marketplaces

### How to integrate getHemiNames NFTs secondary market metadata? <a href="#how-to-integrate-beranames-nfts-secondary-market-metadata" id="how-to-integrate-beranames-nfts-secondary-market-metadata"></a>

You can integrate NFTs secondary market metadata following the steps below:

1. Fetch the URI endpoint to call from the `tokenURI(uint256 tokenId)` function of the [`BaseRegistrar`](https://explorer.hemi.xyz/address/0x06d3B1f2B242b1BF23C5CFBec14cFE901433DE4a) contract.
   * Where `tokenId` is the token ID of the NFT - `uint256(keccak256(bytes("label")))`.
   * The function returns the metadata endpoint to call for the NFT.
2. Fetch the metadata from the endpoint.

   * you can expect the metadata to be in the format of a JSON file:

   ```
   {
     "name": "hello.hemi",
     "description": "This NFT represents the domain name hello.hemi on the getHemiNames system.",
     "image": "",
     "external_url": "https://www.getheminames.me/domain/hello.hemi",
     "attributes": [
       {
         "trait_type": "Resolved Address",
         "value": "0xe0096004fFb5A6d03769e6b9b333C010742d32d5"
       },
       {
         "trait_type": "Expiration Date",
         "value": "Mon Mar 09 2026"
       }
     ]
   }
   ```

{% hint style="info" %}
You can always decide to save the base URI in your own storage and fetch it from there, thus avoiding the need to call the `tokenURI` function of the [`BaseRegistrar`](https://explorer.hemi.xyz/address/0x06d3B1f2B242b1BF23C5CFBec14cFE901433DE4a) contract.

* Keep in mind that you need to calculate the `tokenId` from the `label` to fetch the correct metadata, so depending on the library you use, you might need to implement the logic to calculate the `tokenId` from the `label`.
  {% endhint %}
