Non IPFS NFT refresh whitelisting requests

Until now we were only automatically refreshing NFTs pointing to an IPFS url with a cooldown of 10 minutes.

We are now refreshing metadata for NFTs that don’t point to an IPFS url. Those NFTs will have tobe whitelisted and they will have a cooldown of 30 minutes.

It will be possible to request your collection to be added to this list.

In order to do so please write a post with:

  • The contract address of the collection

  • The name of the collection

  • The chain(s) of the collection

  • The number of NFTs on this collection

  • If the number of NFTs is fixed or not

If approved, we will add the collection to the whitelist and the NFTs requested from this collection will be updated automatically with a cooldown of 30 minutes.

1 Like

It’s been 19 days and no progress. When should this request be expected to be acted on?

The metadata changes frequently in this case?
Having only 29 token ids you could call resync metadata for each of them when needed.

No, the metadata doesn’t change.

So call reSyncMetadata on each token and then call getNFTMetadata to retrieve metadata?

How long should one wait for the metadata to be accessible?

Trying it on the API Reference site using sync parameter resulted in:

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

async resulted in:

{
  "status": "Request initiated"
}

there may be a different issue in this case, what is the token uri for that particular case where it didn’t work to resync metadata?

The URI:

https://api.opensea.io/api/v2/metadata/matic/0x2953399124F0cBB46d2CbACD8A89cF0599974963/0x8e1f10dd36b518a387eacaff6ce96ee67d636632000000000000080000000001

{
    "image": "https://lh3.googleusercontent.com/wpvwmP19Tpm8ATMUNQiak5z-zQjZGVcCzkPlXIqOOo1nDSwQ1L4dWCDd0Lf9hFlhu8ijGMbKoOKPGPNoKlU-0p2jl0cqJvTuUYm-Xw",
    "name": "#08 Mohamed Mahmoud Khalil Museum Heist",
    "description": "**The Corsair** is a collection of 30 unique NFTs introducing Heist Media to Web3. \nHand-drawn by Emmy Award-winning artist Jack Forbes, each distinct NFT references a different historical caper and unlocks special content. Holders will be the first to access exclusive Discord rooms to interact with the writers, artists, and editors shaping a new kind of journalism. \n\n\n[Discord](https://discord.gg/3PjQke8euc)\n\n[Twitter](https://twitter.com/heistmagnft)\n",
    "external_link": null,
    "animation_url": null,
    "traits": []
}

This is on polygon chain. That is the token uri on chain for this contract? What it shows now as token uri for that contract on our api?

That is the output from the URI above. For Moralis API:

curl --request GET \
     --url 'https://deep-index.moralis.io/api/v2/nft/0x2953399124F0cBB46d2CbACD8A89cF0599974963/0x8e1f10dd36b518a387eacaff6ce96ee67d636632000000000000080000000001?chain=polygon&format=hex' \
     --header 'X-API-Key: test' \
     --header 'accept: application/json'

Returns:

{
  "message": "No metadata found! Try again later"
}

I don’t see any transfers for that particular token id in polygonscan:

https://polygonscan.com/token/0x2953399124F0cBB46d2CbACD8A89cF0599974963?a=0x8e1f10dd36b518a387eacaff6ce96ee67d636632000000000000080000000001

Interesting enough, this token id (64283313149683081576875303351957245859152549831588882060198356581770049093633) works:

curl --request GET \
     --url 'https://deep-index.moralis.io/api/v2/nft/0x2953399124F0cBB46d2CbACD8A89cF0599974963/64283313149683081576875303351957245859152549831588882060198356581770049093633?chain=polygon&format=decimal' \
     --header 'X-API-Key: test' \
     --header 'accept: application/json'

responds with:

{
  "token_address": "0x2953399124f0cbb46d2cbacd8a89cf0599974963",
  "token_id": "64283313149683081576875303351957245859152549831588882060198356581770049093633",
  "amount": "1",
  "owner_of": "0xce0ce10bc6251dcde4cafaa189a4a9539731506a",
  "token_hash": "2cdd22ede09d4d412c3dfd047f9a8991",
  "block_number_minted": "32856352",
  "block_number": "32856352",
  "transfer_index": [
    32856352,
    35,
    156,
    0
  ],
  "contract_type": "ERC1155",
  "name": "OpenSea Collections",
  "symbol": "OPENSTORE",
  "token_uri": "https://api.opensea.io/api/v2/metadata/matic/0x2953399124F0cBB46d2CbACD8A89cF0599974963/0x8e1f10dd36b518a387eacaff6ce96ee67d636632000000000000020000000001",
  "metadata": "{\"image\":\"https://lh3.googleusercontent.com/2OZr7YJPCPGSowjmsI5lBUD_6GrOraXeLLrU0l95zPbbS9oYpjujKiYyqhhv5VK9oxC_jIy1wWgeN8F8kip_a2szttyjMxPslhdC\",\"name\":\"#02 Fortaleza Banco Central Heist\",\"description\":\"**The Corsair** is a collection of 30 unique NFTs introducing Heist Media to Web3. \\nHand-drawn by Emmy Award-winning artist Jack Forbes, each distinct NFT references a different historical caper and unlocks special content. Holders will be the first to access exclusive Discord rooms to interact with the writers, artists, and editors shaping a new kind of journalism. \\n\\n\\n[Discord](https://discord.gg/3PjQke8euc)\\n\\n[Twitter](https://twitter.com/heistmagnft)\\n\",\"external_link\":null,\"animation_url\":null,\"traits\":[]}",
  "last_token_uri_sync": "2022-09-08T18:33:11.489Z",
  "last_metadata_sync": "2022-09-08T18:37:36.777Z"
}

The hex equivalent (0x8e1f10dd36b518a387eacaff6ce96ee67d636632000000000000020000000001) doesn’t work though.

And I don’t see any for the one that works too:

https://polygonscan.com/token/0x2953399124F0cBB46d2CbACD8A89cF0599974963?a=0x8e1f10dd36b518a387eacaff6ce96ee67d636632000000000000020000000001

maybe it works only in decimal form now and not in hex form with our API

Yeah, but none of the others work regardless if in decimal form. I am seeing a difference that the ones that show have an owner and the ones that don’t have been minted but not transferred to anyone else. Could you explain why that might be?

yes, if they are lazy minted then they will not show because are not on chain yet

lazy minted means that they are not minted/transferred on chain and are only in a database on opensea

Ah, okay that makes sense now. Thank you for that insight.

1 Like