docs.h.overview
The simplest way to sell one piece of art as an NFT: a focused mint page where every mint is the same image (an open edition). Upload one image, the wizard pins it to IPFS, and your ERC-721 goes live — capped supply, fixed price, per-wallet limit, all set in the browser. No ZIPs, no per-token metadata, no reveal.
NFT Mint shows your artwork big, with a live minted/total meter, the price, a quantity selector and the connected wallet's owned count. Every token shares the same image and metadata — an open edition of one piece.
The setup wizard uploads your single image to IPFS via Pinata, builds the metadata for you, and bakes the token URI into the contract at deploy — revealed from the very first mint, no placeholder step.
Price, supply cap and per-wallet limit are env-driven and set in the wizard. Need a full multi-image PFP collection with allowlist, per-token traits and a delayed reveal? See the NFT Collection template.
docs.h.included
- Next.js app (App Router, TypeScript, Tailwind)
- OpenEdition.sol (ERC-721) + Hardhat
- Setup wizard: single-image IPFS upload + in-browser deploy
- Dockerfile + docker-compose, README
docs.h.contracts
- OpenEdition.sol — a minimal ERC-721 open edition: public mint with a fixed price, a supply cap and an optional per-wallet limit; tokenURI returns the same metadata (your single artwork) for every token. Owner can set the price, toggle minting and withdraw proceeds (OpenZeppelin ERC721 + Ownable + ReentrancyGuard).
docs.h.stack
docs.stackLine
docs.chainsLine
docs.h.quickstart
docs.quickstartP
unzip nft-mint.zip && cd nft-mint
npm install
npm run devdocs.quickstartUrl
docs.h.configure
docs.configureP
- docs.wizard.1
- docs.wizard.2
- docs.wizard.3
- docs.wizard.4
- docs.wizard.5
docs.configureP2
docs.h.customize
docs.h.branding
docs.brandingP
docs.brandingP2
docs.h.languages
docs.languagesP
docs.h.editing
docs.editingP
docs.h.configRef
docs.configRefP
- docs.configRef.1
- docs.configRef.2
docs.h.deployContracts
docs.deployContractsP
# compile + copy artifacts the app/wizard use
npm run compile
# deploy to the network in your .env (RPC_URL + DEPLOYER_PRIVATE_KEY)
npm run deploydocs.deployContractsP2
docs.h.deployApp
docs.h.vercel
- docs.vercel.1
- docs.vercel.2
- docs.vercel.3
docs.h.docker
docs.dockerP
# build + run; with no .env it opens the setup wizard
docker compose up --build
# once you have a .env, pass it in:
docker run --env-file .env -p 3007:3000 nft-mintdocs.dockerP2
docs.h.vps
docs.vpsP
npm install
npm run build
npm run start # serves the production builddocs.h.checklist
- docs.checklist.1
- docs.checklist.2
- docs.checklist.3
- docs.checklist.4
- docs.checklist.5
docs.h.support
docs.supportP