
Image
/nft/economist.jpgCollection JSON
/api/public/nft/collection/economist.jsonToken JSON template
—Every tier image lives in this app at a stable origin URL and every token + collection JSON is generated on demand by edge endpoints. Use the URLs below as the metadata_uri arg when the on-chain mint_nft instruction is built, or paste the bundle into Arweave / Irys / IPFS if you prefer an immutable host.

/nft/economist.jpg/api/public/nft/collection/economist.json—
/nft/banker.jpg/api/public/nft/collection/banker.json—
/nft/tycoon.jpg/api/public/nft/collection/tycoon.json—
/nft/platinum.jpg/api/public/nft/collection/platinum.json—The URL the Anchor program should embed for a specific serial. Each tier accepts serial 1..supply. Replace{serial}with the per-tier mint number.
getMintQuote and reserveMintAttempt (rate-limit + sealed-cap gates).mint_nft instruction. For the assigned tier + next serial, it sets metadata_uri to the token URI shown above (e.g. /api/public/nft/metadata/economist/12.json).msg! emits the PANTHEON_MINT log line which confirmMint decodes, persisting the row.seller_fee_basis_points = 500).Going fully immutable (optional): download each tier image + the four collection JSONs, upload to Arweave / Irys / IPFS, then replace imagePath / tokenMetadataUri in src/lib/nft-assets.ts with the permanent URIs. Nothing else in the mint flow needs to change.