🏟️ BUIDL where legends play. Join our Hackathon at Parc des Princes, Paris – July 2025 •
Register Now
Chiliz Chain Developer Docs
Chiliz ChainBlock ExplorerCommunitySocios.com
English
English
  • Chiliz Chain developer docs
  • Quick Start
    • Chiliz Chain in a nutshell
    • Connect to Mainnet and Testnet
    • Deploy and verify a contract
      • Deploy with Remix IDE
      • Deploy with thirdweb
      • Verify with Chiliscan
      • Verify with Chiliz Block Explorer
    • Run a Chiliz Chain Node
    • Free online courses
    • Inflation Supply Allocation Addresses
    • Smart Contract Addresses
  • Learn
    • About Chiliz Chain
      • Tokenomics
      • Security Audits
      • Chiliz Labs
    • About Wallets
      • How to use MetaMask
        • Install MetaMask
        • Link Chiliz Chain to MetaMask
      • How to use a multisig wallet (Safe)
    • About Bridging
      • Using Dcentralab's Chainport
      • Using Chiliz Bridge
      • Bridging stablecoins
      • Making your project token bridgeable
    • About Staking
      • Stake your CHZ
      • Unstake your CHZ
      • Staking Rewards
      • Stake CHZ from your Ledger
      • Chiliz Staking FAQ
    • About Validators
      • Defining Validators and Delegators
      • Why Become a Validator
      • How to Become a Validator
      • Running a Validator node
      • How to Stop Being a Validator
      • About Validator slashing
    • About Fan Tokens
      • 2023 Migration of Fan Tokens to Chiliz Chain
    • About Stablecoins
      • Stablecoins on Chiliz Chain
    • Glossary
      • Blockchain
      • Consensus mechanisms
      • Governance
      • Validator
      • Staking
      • Wallet
      • CAP-20
      • Wrapped CHZ (wCHZ)
  • Develop
    • Basics
      • Connect to Chiliz Chain
        • Connect using RPC
        • Run a Chiliz Chain Node
        • Use a hardware wallet
      • Block Explorers
      • Testnet Faucet
        • Obtain testCHZs with Tatum Faucet
      • Use Wrapped CHZ
      • How-Tos
        • How to get the balance of a wallet
        • How to get the history of a wallet
        • How to get the metadata of a specific NFT
      • Tips & Tricks
    • Advanced
      • How to integrate Socios Wallet in your dApp
      • How to use Account Abstraction
      • How to get the USD price of Fan Tokens
      • How to generate random numbers
      • How to follow transfers of a Fan Token
      • How to create Telegram notifications for Fan Token transfers
      • How to estimate gas fees
    • Chiliz Chain API
    • Developers FAQ
  • Community
    • Chiliz Chain Ecosystem
      • Developer Tools
        • Ankr
        • Azuro
        • Biconomy
        • Blocknative
        • Hyperlane
        • Lumx
        • Moralis
        • Pyth
        • Reown
        • Rarible
        • Tatum
        • The Graph
        • Thirdweb
        • Web3Auth
      • Custody solutions
        • Cobo
        • Fireblocks
      • Wallets
        • Magic
        • Privy
    • Developers events
      • Chiliz Sports Hackathon - July 2024
        • Setting The Stage
        • Getting Started
        • Mission Brief & Key Dates
        • The Prize Money
        • Theme & Intro
        • Tracks, Requirements, Regulations & Scoring Criteria
        • The Process
        • Disclaimers
        • Useful information
      • ETHGlobal Bangkok Hackathon 2024
      • ETHGlobal Istanbul Hackathon 2023
      • ETHGlobal London Hackathon 2024
      • ETHGlobal Online Hackathon Summer 2024
      • Hacking Poland 2025
      • Lumx Hack powered by ETH Rio
  • Chiliz Chain Changelog
    • Governance Proposals & Decisions
      • February 2025: New validator proposals
      • December 2024: Governance Update Proposals
      • May 2024: Dragon 8 (Tokenomics 2.0) Proposal
      • 2024 Dragon8 hard fork announcement
    • Blockchain code changes
    • Outage reports
      • Details on the May 21st outage
  • Doc Updates
Powered by GitBook
On this page
  • What is NFT metadata?
  • How to do it with Moralis?
  • How to do it with Tatum?
  • How to do it with thirdweb

Was this helpful?

  1. Develop
  2. Basics
  3. How-Tos

How to get the metadata of a specific NFT

Last updated 1 year ago

Was this helpful?

What is NFT metadata?

NFT metadata is the set of descriptive information stored off-chain that details the attributes, properties, and additional content associated with an NFT. These details can be an image URL, its name, description, and attributes related to its uniqueness and ownership.

How to do it with Moralis?

As an extensive framework for web3 developers, Moralis provides several EVM-centric APIs, allowing you to deliver projects more quickly.

In our case, Moralis has an NFT API that you can make use of, and they even provide a code sample for the wallet history use-case:

To adapt their code sample, replace the reference to Ethereum with their ID for Chiliz Chain, 0x15b38:

import Moralis from 'moralis';

try {
  await Moralis.start({
    apiKey: "YOUR_API_KEY"
  });

  const response = await Moralis.EvmApi.nft.getNFTMetadata({
    "chain": "0x15b38", // This is for Chiliz Chain Mainnet.
                        // For Spicy Testnet, use "0x15b32".
    "format": "decimal",
    "normalizeMetadata": true,
    "mediaItems": false,
    "address": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB",
    "tokenId": "1"
  });

  console.log(response.raw);
} catch (e) {
  console.error(e);
}

How to do it with Tatum?

As a unified framework for building Web3 apps, Tatum provides several EVM-centric APIs, allowing you to deliver projects more quickly.

In our case, Tatum has an NFT submodule to its blockchain abstraction tool that we can make use of, and they even provide a code sample for the metadata-retrieval use-case:

To adapt their code sample, replace the reference to Ethereum with Chiliz Chain:

// yarn add @tatumio/tatum
import {TatumSDK, Network, Chiliz, ResponseDto, NftTokenDetail} from '@tatumio/tatum'

const tatum = await TatumSDK.init<Chiliz>({network: Network.CHILIZ})

const metadata: ResponseDto<NftTokenDetail|null> = await tatum.nft.getNftMetadata({
  tokenAddress: '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d', // replace with your collection
  tokenId: '1'
})

console.log(metadata.data)

How to do it with thirdweb

Thirdweb is a platform offering tools and infrastructure for building decentralized applications on multiple blockchain networks. It simplifies blockchain integration with SDKs, APIs, and pre-built components.

In our case, thirdweb we can take inspiration from source code hosted on their documentation site:

Here is how we could adapt that into code to retrieve metadata:

const { ThirdwebSDK } = require("@thirdweb-dev/sdk");

const sdk = new ThirdwebSDK("https://rpc.chiliz.com");
const nftContractAddress = "0xYourNFTContractAddress";
const tokenId = "YourTokenID";

async function getNFTMetadata() {
  try {
    const nftContract = await sdk.getNFTCollection(nftContractAddress);
    const nftMetadata = await nftContract.get(tokenId);
    console.log(`Metadata of NFT ${tokenId}:`, nftMetadata);
  } catch (error) {
    console.error("Error fetching NFT metadata:", error);
  }
}

getNFTMetadata();

Get NFT metadata
Get the metadata of a specific NFT
ThirdwebNftMedia