nav.brand
NFT

NFT Collection Template

Ship a complete NFT drop: a public mint page with a live supply meter and a gallery of every minted NFT loaded from IPFS, an ERC-721 with a Merkle allowlist phase, per-wallet limits and a delayed reveal — and a setup wizard that uploads your artwork + metadata to IPFS and reveals it on-chain, so you never touch a script.

Next.jsTypeScriptTailwindviemERC-721IPFS / Pinata

Features

  • ERC-721 with a Merkle allowlist phase, a public phase and per-wallet limits
  • In-browser artwork pipeline: upload a ZIP → auto-generate metadata → pin to IPFS (Pinata) → set base URI
  • Delayed reveal: ship a placeholder, then reveal on-chain in one click
  • Minted-NFT gallery on the mint page — loads each token's art from IPFS, with multi-gateway fallback
  • Live mint progress, quantity selector, price and your owned count
  • Cover-image upload and configurable name / price / supply via the wizard

What's included

  • Next.js app (App Router, TypeScript, Tailwind)
  • Collection.sol (ERC-721) + Hardhat
  • Merkle allowlist script (CSV → root + proofs)
  • Setup wizard: cover + artwork upload, IPFS pinning, in-browser deploy & reveal
  • Dockerfile + docker-compose, README

Smart contracts included

Audited-base Solidity (OpenZeppelin), verifiable on-chain after deploy. Full source in the repo.

Collection.sol

ERC-721 with a Merkle allowlist phase, a public mint, per-wallet limits, a configurable price and owner withdraw. tokenURI returns a hidden URI until you reveal, then serves baseURI/<id>.json — so you can launch before the art is final (OpenZeppelin ERC721 + Ownable + ReentrancyGuard + MerkleProof).

Upload artwork to IPFS, no scripts

In the setup wizard you upload a single ZIP of your images (plus an optional traits file — there's a downloadable example). It pins the images to IPFS via Pinata, generates the ERC-721 metadata (1.json…N.json) pointing at them, pins that too, sets the base URI and reveals it on-chain.

Allowlist, public mint, delayed reveal and a live gallery

The ERC-721 supports a Merkle allowlist phase and a public phase with per-wallet limits and a configurable price. Launch behind a hidden placeholder URI and reveal later with a single owner call. The mint page shows live minted/total supply, price and your owned count, plus a gallery of every minted token that pulls its art straight from IPFS (with automatic gateway fallback) — so buyers see the collection fill up in real time.

Gas-efficient and customizable

A clean ERC-721 with sequential mint, configurable price, supply and limits — all environment-driven and set in the wizard. Includes Hardhat, deploy scripts, the Merkle allowlist tool, in-browser deploy and a Dockerfile.

Frequently asked questions

+What is an NFT minting template?

It's a ready-made minting website plus an NFT smart contract that lets collectors mint your collection. This one includes allowlist + public phases, a delayed reveal, an in-browser IPFS artwork uploader and the ERC-721 contract.

+How do I get my artwork on IPFS?

The setup wizard does it for you. Upload one ZIP with an images/ folder and an optional metadata.json (an example is downloadable); it pins everything to IPFS through your Pinata account, builds the token metadata, sets the base URI and reveals on-chain. No command line needed.

+Does it support an allowlist (whitelist)?

Yes — a Merkle-proof allowlist. An included script turns a list of addresses into a Merkle root, and the contract verifies proofs on-chain so only eligible wallets can mint in the allowlist phase.

+Can I set the price, supply and per-wallet limit?

Yes, all are configurable at deploy time and surfaced in the setup wizard. You can also update the price and toggle phases as the owner.

Ready to ship NFT Collection?

Full source, lifetime license, instant download. Pay with crypto or card.

Get it for $149

Explore all web3 templates