NFT token_uri and metadata is null

I get this response when call NFT api:

curl --request GET \
     --url 'https://deep-index.moralis.io/api/v2/nft/0x8fd49db569b362541e1163dfd3cbef00cf899588/65?chain=cronos&format=decimal' \
     --header 'X-API-Key: test' \
     --header 'accept: application/json'
{
  "token_address": "0x8fd49db569b362541e1163dfd3cbef00cf899588",
  "token_id": "65",
  "amount": "1",
  "owner_of": "0x56820bc4dcc9ae3dc589267c7736efb45c2a2265",
  "token_hash": "db637cd6b61e02c1d94ba7bb276dd1e2",
  "block_number_minted": "4732903",
  "block_number": "4732903",
  "transfer_index": [
    4732903,
    2,
    7,
    0
  ],
  "contract_type": "ERC721",
  "name": "BabyCorgi",
  "symbol": "BabyCorgi",
  "token_uri": null,
  "metadata": null,
  "last_token_uri_sync": null,
  "last_metadata_sync": null
}

My token_uri is null, and when I try to reSyncMetadata, I got this error:

  "status": "The metadata could not be updated! Try again later"

This is my nft smart contract on Cronos: https://cronoscan.com/address/0x8fd49db569b362541e1163dfd3cbef00cf899588#readContract

NFT has token_id = 63, 64 work right, but when mint new token_id 65, I can’t get uri and metadata

what is the expected token_uri?

found it:
https://corgistudio.fra1.digitaloceanspaces.com/BabyCorgi_0919e04b-f10f-4bf8-b8f6-b973eae9ac2b/metadata/65.json
we will check

1 Like

I face this issue many time today,

  • address: 0x095E8Ff2b65111A5Cf1a0E65C734EFd6100de859, id: 2 -> 9
  • address: 0xddf4337479f0f19a36cfe69b89d059376e786969, id: 9

All of them on Cronos chain.

it should work now if you try to resync the metadata for those token ids
you can use directly https://docs.moralis.io/reference/resyncmetadata-2

1 Like

It work :slight_smile:
But what about new NFT ?

New NFTs are typically fine, but in case they’re out of sync which can happen e.g. if the token URI is updated later, reSyncMetadata can be used to update it.