Skip to main content

Where your files go

Both are permanent by design, and neither can be edited in place. Updating artwork means uploading again and pointing at the new copy — not changing the old one.

Solana metadata

We normalise your metadata on the way in and check it before anything reaches the chain, so a malformed file is caught before you’ve paid to deploy it.
What it should look like
Three things account for most rejections:
Wallets and indexers read the real image location from here, not from image on its own. It has to be there.
It belongs at the top of properties, and leaving it out is the single most common failure.
A flat list of { trait_type, value } objects. Not a nested object, not a map keyed by trait name.
Run npm run check:launch against a draft to validate everything before you spend gas.

EVM metadata

Your metadata is pinned as a directory and the contract stores the address of that directory. Token 5 resolves to item 5 inside it. Because of that, you can’t change one item’s artwork on its own. Updating artwork re-pins the whole directory and points the contract at the new one — which is also exactly how a delayed reveal works.

When images don’t show up

Images are served through our own proxy rather than hot-linked from a storage gateway, which is generally more reliable. If your images resolve in the metadata JSON but not in the app, look at the actual src of the broken image in your browser’s inspector. A URL that has been passed through the proxy twice looks perfectly fine in the metadata and broken on the page.
Never paste a signed storage URL into a field that gets saved — a collection logo, a banner. Those links expire, often after a week, and when they do the image simply vanishes with nothing to explain it. Upload the file properly.

Refreshing metadata

Both chains can refresh metadata from /mint/manage after launch. That re-reads your metadata and updates what we show — it doesn’t change what’s on-chain. For that you need an artwork update.