Part 6: Preparing metadata for your drop

Token metadata

While you can create your drop schedule and landing page using OpenSea, your token metadata must be uploaded and stored elsewhere.

To set your token metadata, call setBaseURI on your token contract. This should be set with your pre-reveal metadata before your first tokens mint, so they will display properly until you set your post-reveal metadata. When setting the URI, be sure there is an ending forward slash / so it’s properly formatted when the token ID is appended at the end. This can be an IPFS or Arweave URL with ipfs://{hash}/ or arweave:>//{hash}/, or a centralized metadata server such as It should return a valid JSON file following Metadata Standards when the token ID is appended, such as ipfs://{hash}/1 or


Your pre-reveal token metadata files should be no larger than 100MB.

When you call setBaseURI, your contract will emit an event BatchMetadataUpdate that OpenSea will listen to. We’ll automatically refresh all your tokens, so no manual refreshing is necessary.

Metadata for Instant Reveal

If you’d like to have an instant reveal, you’ll need to set up a metadata server that listens to mint events and only reveals the token metadata as each token is minted. This is so collectors can't view all the metadata at the beginning of the mint and selectively mint the rarer token IDs.

You can reference in-depth metadata standards in our developer docs.

What’s Next