There are a few secrets worth knowing when getting into the NFT world – this is one of them. Although perhaps no longer a HUGE secret, it is definitely a tactic that will give you a leg up. Learning how to do this will enable you to access a window of time where you will have a competitive advantage against others in sniping rare NFTs.
I have sniped many rare NFTs this way. Do I feel bad for the seller? NGL, maybe a little – it’s also one hell of a buzz when you find a rare one listed. Either way, if they had read this article, they wouldn’t have listed their NFT during the reveal…
Why Should You Read the NFT Contract?
Let me explain. When a NFT project is set live for minting and you buy, a random number generator will allocate a set of traits to your NFT. This is stored inside the metadata. That combination of traits can be the difference between a 0.1 eth value and a 100 eth value. If you knew which NFT had which properties before anyone else, wouldn’t that be fantastic?
Well, this can totally happen. There is usually a delay in the time the NFT is minted and the time that Opensea is able to pull that metadata through. That delay is the backdoor we are looking for.
How to read the Metadata?
Let’s get the process on the table. It can look complicated but it really isn’t. First things first, you are going to need to get the public contract. You can find this usually on the project website, on the project discord group or by searching directly on Etherscan.
If you are stuck and can’t find it, go click onto any NFT from the project on Opensea. You can test this out with a live project. If you scroll down and click on ‘Details’ you’ll see ‘contract address’ and to the right a blue clickable link containing the Ethereum address of the contract. Just like this below. Click that link and it will take you to the contract on Etherscan.
Navigating the Contract
Now you should be safely on Etherscan. You should have the contract up in front of you. You now want to click ‘contract‘ followed by ‘read contract‘. This should take you to a page similar to this:
Enter Your Token ID
We will now interact with the contract in order to access the metadata. Scroll down (usually right to the bottom) to the tab titled, tokenURI. Click on that and enter the token ID of the NFT you are attempting to look up. This token ID will be the mint number.
Time To Get That Metadata
Nearly there now. Next you are going to hit that ‘Query‘ button. This will pull a url string from the API.
Go to that url inside your main address bar inside whatever browser you use. You’ll be given all of the metadata in a string like this:
You can now read all of the traits. Go you, you evil metadata sniper!
How To View The Actual Image/Visuals
You may want to view the actual visual itself and you can do this too. You just need to take the url it gives you inside that string in the previous image. Sometimes there will be a link to a .png file. In that case you can just go to the URL and you will see the image of your NFT.
In other cases your image may be stored on IPFS. I am not going to go into detail on what that is but I will show you how to find the image in these situations.
In the example above you will see the URL looks like this: ipfs://QmbSGU514KfUcYLqUKT3536rmWm2GjFyQGzKGQmYW3BzDZ
You can’t go to that because it is not a real working URL. You need to edit this slightly by adding ‘ipfs.io/‘ at the start and removing the ‘:/‘ after the ‘ipfs‘.
It should look something like this:
Now if you search that in your address bar, bingo a beautiful Junkyard Dog.
When Is Reading The Metadata Useful?
Let’s run through a few instances in which you can utilise this new knowledge to gain some genuinely powerful competitive advantages.
1. In the event of delayed reveals
A large proportion of projects use a delayed reveal. That is, once their project has launched for minting – nothing is revealed for a certain number of days. In this case, buyers will have a placeholder image over their NFT inside their wallet or Opensea account. Unless the developers are idiots, you can’t read the metadata yet. However, many buyers will list their NFT and sell it even before the reveal.
After the delay is complete, the developers will push the metadata live. This will send all of those properties that were generated during minting, as well as the visuals over to Opensea. However, this is not instant. It can take a number of hours until everything is revealed on Opensea. Nonetheless, the second the developers push that button, you can read the metadata.
You now have a window of an hour or so to look at the metadata of unrevealed listings on Opensea. When you find an underpriced rare one – buy that. I would go for a decently high level of GWEI as it is likely that 5 or 10 other people are doing the exact same thing as you.
2. If the devs have fucked up
Okay if the developers are complete idiots (looking at you Super Yeti), they may push the metadata live before pushing it to Opensea. In this case, you can actually have several days to buy rare items and dump your trash during the build up to the reveal. After several major developer fuck ups, I have not seen this happen in a while. However, it does happen sometimes.
3. Sending early weth offers
Your other use case is to continue doing what you do in option 1. However, you can also look at items that are not listed. You can then drop a somewhat decent wrapped eth offer on that unrevealed NFT. The owner may think you are a fool because you are paying more for their NFT than the other unrevealed ones and rapidly accept your offer. Little do they know what they are parting with.
4. To Protect Yourself
Possibly the most important reason to learn about all of this stuff is to understand that others are doing this on every single project. Don’t be the one that sells your 100 eth NFT for 10 bucks. Protect yourself.
A lot of this sounds outright Machiavellian as I write it, I can’t deny that. However, knowing this enables you to be on a level playing field. It gives you the knowledge and it is up to you what you want to do with that. At the least, you can save yourself some heart ache by delisting before any kind of reveal. Otherwise, you may be on the wrong end of the deal next time.
Join the discussion 18 Comments
This is amazing. But how do you find projects that list on Opensea before they are actually minted? On1Force did it and I wish I knew this trick before that.
Hi Chester, so nothing will ever list on Opensea until it is minted. As soon as an NFT is minted, it will automatically go over to the buyers Ethereum wallet and connect to Opensea. In the case of 0n1Force, they had a delayed reveal of 24 hours or so. So they were all sat on Opensea with placeholder images until the metadata was pushed live.
See that section above called ‘1. In the event of delayed reveals’ and it will explain.
If you want to find out whether or not a new project is planning a delayed reveal, you can usually get an answer by jumping into their discord and reading the FAQ or asking in chat.
Hope this helps!
Some contracts show results like this instead of what you explained above. Do you know what is different here? tokenURI(uint256) method Response ]
string : data:application/json;base64
That is using a base64 code. If you go to google and search ‘base64 decoder’ you can put that string in and it will decode it for you.
I want to check traits of an nft that will be revealed tomorrow. I have copied your procedure and I just get the following text:
“name”: “The Tokyo Ten”,
“description”: “The Tokyo Ten are 10,000 randomly generated, hand-illustrated collectible NFTs living in Cyber Tokyo.”,
How to deal with this problem?
So you cannot check the metadata until the devs flip the switch. They typically do this shortly before they announce reveal. However, in some cases they accidentally do it days earlier.
Your main advantage is that it takes OpenSea time to synchronise, once the devs flip the switch. And so you can get an hour or so head start using this method above.
That message you showed above means the switch is not flipped yet, you want to keep that url ready and as soon as they go live, it will change. You’ll be able to see the information before anyone else who is looking on Opensea can.
What does it mean if it returns something like this?
string : ipfs://QmUQyQEix1dw4X2jJK3gFwpXoUxC2ZyKEJvBXYpj4NETaR/hidden.json
It means that they are going to be using ipfs to store the date, so you would go to ipfs.io/ipfs/QmUQyQEix1dw4X2jJK3gFwpXoUxC2ZyKEJvBXYpj4NETaR/hidden.json
However, that metadata looks to be not pushed live yet.
Is it also possible you don’t get to see any traits? That the string you filled in inside your browser results in something that looks similar to the string?
Hi how to see some a string like this string : https://gateway.pinata.cloud/ipfs/QmZPkzqPDSkHKSzX3eaFMD8iSsTEYfo1TuGwMG2GMJakLg
What does it mean if you get this Error message?
[ tokenURI(uint256) method Response ]
string : Error: Invalid JSON RPC response: “”
But even if we know the characteristics of our NFT or others, without knowing what their rarity is what good is it to know my NFT attributes in advance?
I am late but a quick question: How do you decide if they are rare? Even if you know the traits you dont know how rare they are or am I wrong?
that’s my question as well! If you don’t hold a list of traits with their rarity there no way to say if an NFT is rare or not just based on a list of traits.
This is where experience comes in. Usually there will be some identifiably rarer traits. A common one would be the skin or type e.g. Gold BAYCs, Spirit Azuki, Legendary etc.
1 of 1s are usually very easy to spot too and the metadata will generally tell you it’s a 1 of 1.
And finally, you can learn a lot from the sneak peeks that the project share before reveal. They’ll almost always share some rare ones so you can pick up a handful of traits you know are rare/desired and look out for those.
how to know startTokenID some smart contract? when i read smart contract code i can know startTokenID but its possible i get startTokenId without read smartcontract code?
how to know startTokenID some smart contract? its possible i get startTokenId without read smartcontract code?
Check in the details of your NFT on Opensea. It should include your Token ID there.