I have the following contract deployed to the Rinkeby testnet: https://rinkeby.etherscan.io/token/0x2d29fc6c1b20c35669fb55fa3144cdd529302256

I deployed the metadata and images using IPFS. When I try to get the metadata for one of the tokens using truffle console, I get the seemingly correct result:

truffle(rinkeby)> instance.tokenURI(1);

I can pull up the metadata using an IPFS gateway: https://gateway.ipfs.io/ipfs/QmRNN5Pwd64h8MscEQScFkX9iLw4rVpdFTQRYUMmZGeXpU/1

However, this data is not displayed on neither the OpenSea testnet: https://testnets.opensea.io/assets/0x2d29fc6C1B20c35669fb55Fa3144cDD529302256/1/?force_update=true

Nor the Rarible testnet: https://rinkeby.rarible.com/token/0x2d29fc6c1b20c35669fb55fa3144cdd529302256:1

The OpenSea metadata validation is super unhelpful: https://rinkeby-api.opensea.io/assets/0x2d29fc6C1B20c35669fb55Fa3144cDD529302256/1/validate/

Does anybody have some idea what I can be doing wrong? My guess is that my metadata was formatted incorrectly. However, it seems like OpenSea at least is failing to open up the metadata at all.

2 Answers 2


I was looking for an answer but with no luck. So I came up with my own answer why is this happening. When I deployed smart contract with wrong URI had same responses and no image or info showed up on Rinkeby OpenSea testnet. When I updated smart contracts URI path to correct one I was still getting no image and info about NFT and even new minted ones had no info and image but after I refreshed metadata with OpenSea "Refresh Meta-data" button, it took from 1 minute to whole day to refresh data on all of them. Some were getting only image but no properties and some only properties without image but after keep refreshing meta-data they loaded everything. And it was still happening even to newly minted ones when the old ones had correct data.

I think it was happening because you deployed SmartContract with wrong URI and minted NFT with this wrong URI so OpenSea started having issue with every new minted NFT even if they were minted with new URI path. So if you want to avoid this problem in future deploy your contract with correct URI OR make a first mint with correct URI.


Wrong url for the validator.


Content-Type: application/json
Vary: Accept

    "valid": false,
    "token_uri": "https://ipfs.io/ipfs/QmRNN5Pwd64h8MscEQScFkX9iLw4rVpdFTQRYUMmZGeXpU/1",
    "errors": [
        "TokenUrlTimedOutException: "

As far as what's wrong with the contract, I don't know.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.