Sync NFT MetaData

@cryptokid any progress on this? :sunglasses:

For the question with the uri, you have to resync the uri separately. For now we don’t have a resync functionality per collection.

Understood, reason I was asking was: it seems your basis for the initial decision could be re-evaluated.

Surely it can’t be ideal to have a lot of cached metadata that is completely wrong? What is the point of having it cached?

We work mostly with OpenSea collections and most of them are updating the metadata 24 hours after the launch to avoid sniping of rares before everybody else.

We can not resync the metadata for all the nfts every day. We don’t know which nfts would change the metadata and which not. And sometimes we can not access the metadata urls to update the metadata.

You can propose or vote on roadmap.moralis.io for another way to do it.

1 Like

We are working on a way to resync whole collections - hope to get it done in march :slight_smile:

3 Likes

Wow thats great news!

Why resync all NFTs?

  1. User requests a resync via API
  2. Moralis checks to see if there is new metadata on chain
  3. If there is return the new and update cache
  4. If there is not use the old
1 Like

@ivan what is the status on ability to resync a whole collection?

1 Like

Any news on “We are working on a way to resync whole collections - hope to get it done in march”?

the team is still working on improving the backend for the API

Ok thanks! Any ETA for this?

I’ll ask tomorrow if there is any ETA, I don’t know of an ETA now

Curious what you learned about this? :sunglasses:

I found out that this is still in progress.

1 Like

Can we get an ETA on this?

1 Like

hi there - we have no eta right now - we will write when its done

2 Likes

Yaa, Outdated NFT Metadata is a huge problem, every collection I try to add, they have outdated metadata, which causes a huge issue, some NFTs have metadata but don’t have attributes inside metadata, and some don’t have metadata at all.

dApp based on current scenario is not possible. I tried making a workaround for it, by using the token_uri, but token_uri is also outdated, thus couldn’t use that to fetch new metadata.

Then I thought of using the Moralis API to resync that particular token, but like if a collection have 10-15 outdated NFTs metadata, then it would rate limit us. And I came to know that we can call the resync API only once at a while in free API, and only two times in Pro API. So that’s not a good solution either, so I am stuck as of now due to that.

I’d like to add my support for this feature. My use case:

10k with Reveal mechanics

Reveal day shows up so I want to update the metadata for all 10k otherwise my users see an old unexciting placeholder while on OpenSea, Rarible and the rest see a beautiful new PFP.

If my math is correct, I’ll need to use 5 (resync) + 5 (update metadata) x 10,000 or 100k requests so they see nice PFPs. Or, send them over to a competitive product. Repeat for each Reveal.

I’d much rather a single call that takes contract_address and updates all its token_id’s metadata for say, 10k requests total?

This is how we make sure that our users receive a great experience.

Thanks,

Pat

how did you compute this part? I would think that you only have to call resync 10k times with uri flag, once for every token id

image

My tests show that you have to call resync then call get nft requiring 10 requests per NFT to get its specific updated metadata.

Also noticed this – Note: /nft/{address}/{token_id}/metadata/resync has a billing cost of 5 and a rate limit cost of 25, meaning that you can call it only once per second with a free plan and twice a second with a Pro plan

I certainly am new to Moralis so if there is a better way, please let me know.