Mint an NFT
Minting is the act of writing a new token into an NFT contract's storage — you are not buying an existing item from someone, you are causing one to be created. This guide covers choosing a chain, deciding between a marketplace launchpad and deploying your own contract, how mint fees and gas are actually charged, how to time a transaction, and the scam patterns that cluster around mint links.
What minting actually is
A "mint" is a call to a function on a smart contract — commonly named mint, claim, or purchase — that assigns a brand-new token ID to your address and emits a Transfer event from the zero address. That last detail is the technical definition of minting: on a secondary purchase the token moves from a previous owner, while on a mint it comes from 0x000…000, because it did not exist a block earlier.
Two consequences follow. First, minting is a write to the chain, so it always costs gas even when the mint price is zero — a "free mint" is only free of the creator's price, never of the network's fee. Second, because the token is created rather than transferred, there is no prior owner and no marketplace escrow standing behind it. The contract you call is the entire counterparty. If that contract is malicious, misconfigured, or simply not the one you thought you were calling, nothing later in the process will catch it for you.
You will encounter minting in two very different roles, and they need different guides:
- Collector minting. A creator has already deployed a contract and opened a mint window. You pay a price plus gas and receive a token. This is the common case and most of this page addresses it.
- Creator minting. You are the one issuing the tokens — either through a marketplace or creator-tool launchpad, or by deploying your own contract. Covered in "Marketplace versus self-deploy" below.
Choosing a chain before anything else
Chain choice is the single decision that most affects what minting costs you, and it is made before you open any mint page — usually by the creator, occasionally by you when a collection is deployed on several networks.
On Ethereum mainnet, a mint is a full state-writing transaction competing for blockspace with everything else on the network. Per Ethereum's own gas documentation, a plain ETH transfer costs exactly 21,000 units of gas; an NFT mint writes considerably more storage than that and so consumes a multiple of it. Mainnet is where the deepest liquidity and the most-watched collections live, and also where a badly timed mint can cost more in fees than the item is worth.
Ethereum layer 2s — Base, Arbitrum, Optimism, Polygon and others — run the same contract standards with the same wallet flow, at a small fraction of the fee, because they post compressed data back to mainnet rather than executing everything there. If a collection offers a choice, the L2 deployment is nearly always the cheaper mint. You do need the L2's native gas token in that wallet first; see how to bridge to Base or how to bridge to Arbitrum.
Solana uses a different NFT stack entirely. Most launches there are built on Metaplex, whose documentation describes Token Metadata for on-chain metadata, Core as a "next-gen NFT standard with a composable plugin system", Candy Machine as an NFT launchpad, and Bubblegum for compressed NFTs — advertised as "compressed NFTs at a fraction of regular costs". Compression matters: it is the mechanism behind very large, very cheap Solana collections, and a compressed NFT is stored differently from a standard one, which affects which wallets and marketplaces display it properly.
The practical rule: match the chain to the size of the bet. Mainnet fees only make sense when the item's value comfortably exceeds them.
Marketplace versus self-deploy
If you are the creator, you are choosing between issuing on someone else's contract and issuing on your own.
Marketplace and launchpad route. OpenSea, Magic Eden and similar platforms let you upload artwork, set a supply and price, and open a mint through their interface without touching Solidity. This is fast and it puts your collection in front of that platform's audience immediately. The trade-off is that the platform sets the fee terms and, in some configurations, your items live in a shared contract you do not control.
Self-deploy route. You deploy your own contract, so the collection address is yours, the metadata is yours, and no platform can change the terms afterwards. Creator tooling has made this far less technical than it sounds. Manifold, for example, deploys ERC-721 and ERC-1155 contracts through its Creator Core architecture, and its documentation notes the contracts use a delegate-proxy implementation (EIP-897) specifically "in order to keep deployment costs low for all creators" — you still pay the network's gas to deploy, but the design minimises it.
Choose self-deploy if the collection is meant to last, if you want royalties and metadata under your own control, or if you may list across several marketplaces. Choose the launchpad route for one-off drops, experiments, and anything where distribution matters more than contract ownership. Either way, read how to verify a smart contract before you publish an address other people are expected to trust.
What you'll need (prerequisites)
- A self-custodial wallet — MetaMask, Rabby, or a hardware wallet such as Ledger for anything valuable.
- The correct chain's native gas token in that wallet: ETH on Ethereum and most L2s, SOL on Solana, POL on Polygon. See how to buy Ethereum or how to buy Solana.
- The mint price itself, in whatever currency the contract accepts — usually the native token, occasionally an ERC-20.
- The collection's contract address from a source you trust, obtained before you click any link.
- A working understanding of what you are signing. If wallet signature prompts are still opaque to you, read how to revoke token approvals first — it is the fastest way to learn what an approval actually grants.
Recommended for this tutorial
Tools and accounts referenced in the steps below:
Step-by-step
-
Step 1: Confirm the contract address first, not the link
Before you open anything, get the collection's contract address from a source that is hard to spoof — the project's long-established social account, the marketplace's own collection page reached by searching within the marketplace, or a block explorer. Then navigate to the mint page and check that the address the page is asking you to interact with matches. Doing it in this order is the single most effective defence in this guide, because every mint scam depends on you arriving at the contract via a link the attacker supplied.
-
Step 2: Connect a self-custodial wallet
Click "Connect Wallet" and choose MetaMask, Rabby, WalletConnect, or your hardware wallet. Connecting typically involves a plain message signature that proves address ownership and moves no funds. Be aware that a signature request is not automatically harmless — see the security section on off-chain signatures below.
-
Step 3: Select the correct network
Confirm your wallet is on the chain the collection is actually deployed on. Popular collections are frequently cloned onto cheaper chains by imitators precisely because a wallet on the wrong network will happily interact with a same-named contract that has nothing to do with the original.
-
Step 4: Fund the wallet with mint price plus a gas buffer
You need the mint price and enough native token left over for fees, with headroom. Gas is estimated at submission but charged at execution, so a wallet funded to the exact cent will fail on a busy block. If the mint is priced in an ERC-20 rather than the native token, this is also where a one-time
approvetransaction is required — grant the exact amount rather than an unlimited allowance. -
Step 5: Set quantity and read the transaction before signing
Enter the quantity and review what the wallet is actually presenting: the destination address, the function being called, the value being sent, and the estimated fee. Expand the data field if your wallet allows it. A legitimate mint sends value to the collection contract and calls a mint-like function; anything that instead asks to approve, transfer, or set an operator over assets you already own is not a mint.
-
Step 6: Confirm and wait — do not resubmit
Approve in the wallet and let it settle. During a contested mint the transaction may sit pending for a while. Resist the urge to click mint again in the interface, which can queue a second, separately-charged transaction. If it is genuinely stuck, use your wallet's speed-up (replace-by-fee) rather than a fresh submission.
-
Step 7: Verify on-chain and record it
Open the transaction on Etherscan, Basescan, Arbiscan or Solscan. Confirm a
Transferevent from the zero address to your address, and that the token ID and contract are what you expected. Save the transaction hash — it is your cost basis record, and the mint price plus the gas you paid are both part of it.
Fees, and how each one is charged
Four separate charges can appear in a single mint, and they are levied by different parties at different moments. Confusing them is how people end up surprised by the total.
1. The mint price. Set by the creator in the contract, paid to whatever address the contract routes it to. This is the only component the creator controls directly.
2. Network gas. Paid to the chain's validators, never to the marketplace. OpenSea's help centre is explicit that gas goes to blockchain validators and not to OpenSea, that sellers pay gas when listing for the first time or accepting offers, and that buyers pay gas on purchases. Gas is charged whether or not the transaction succeeds — a reverted mint still burns the gas consumed before the revert.
3. Platform fees. These vary by platform, chain and action, and they change. As of the current version of OpenSea's fee article, OpenSea lists a 1% fee for selling NFTs (included in the price shown to buyers), a 10% fee for minting an NFT in a primary drop, 0% on swaps, and 0% on private listings; the same article notes fees are set at the time a listing or offer is created and that "prices are subject to change at any time". Magic Eden's help centre states listing fees are 0% and that Magic Eden takes 2% on all transactions, in an article scoped to its Solana marketplace. Treat both figures as a snapshot: check the current number in the interface before you confirm, because the fee that binds you is the one displayed at signing time.
4. Creator earnings (royalties). These apply on secondary sales rather than the mint itself, but they determine what your item costs to resell later, so they belong in the arithmetic. Both platforms treat them as collection-dependent. OpenSea describes creator earnings as either enforced or optional depending on the collection, with sellers able to adjust the percentage where they are optional. Magic Eden's documentation describes optional royalties on its Solana marketplace applying on the buy side, and separately describes enforced royalties for ERC-721C collections on its EVM platform. The number is a property of the collection, not the marketplace — read it on the collection page.
Gas timing: when to press the button
Timing is worth real money on mainnet and almost nothing on an L2, so calibrate the effort accordingly.
Since EIP-1559, an Ethereum fee has two parts. The base fee is set by the protocol and burned — removed from circulation rather than paid to a validator. The priority fee, or tip, is what you add on top to persuade a validator to include you sooner. You also set a maxFeePerGas: a ceiling on what you will pay in total, with any overage refunded. Ethereum's documentation states that the base fee "will increase or decrease by a maximum of 12.5% per block" depending on whether the previous block was above or below target size.
That 12.5% cap is the useful number. It means the base fee cannot spike arbitrarily in one block, but it also means sustained demand compounds quickly — roughly a doubling over six consecutive full blocks. Three consequences for minting:
- Set a max fee, not a tip war. Because overage is refunded, a generous
maxFeePerGaswith a modest tip is usually better than repeatedly bumping the price. You are protected from paying more than the market clears at. - The first minutes of a hyped mint are the worst moment to transact. Everyone is bidding for the same blocks. If the collection is not supply-constrained, waiting even ten minutes is often a materially cheaper mint.
- A failed mint is not a refund. If the supply sells out while your transaction is in the mempool, it reverts and you keep nothing but the fee bill. This is the standard outcome of a contested mint, not a malfunction.
For anything not time-critical, mint during quiet hours, or mint on an L2 where the entire calculation becomes irrelevant.
Security: the scam patterns that cluster around mint links
Mints attract fraud because they legitimise urgency. A drop is time-limited by design, which gives an attacker a ready-made reason for you to skip your checks. These are the recurring patterns.
Lookalike sites. OpenSea's guide to common web3 scams lists fake OpenSea websites — impersonation sites using URLs that are not opensea.io — alongside scam emails and scam social-media messages as the three places users most often encounter fraud. The countermeasure is not visual inspection of the domain, which fails against homograph tricks; it is navigating from your own bookmark and confirming the contract address independently.
Compromised official channels. The most damaging mint scams do not use a fake account at all — they use the real project's Discord or social account after it has been taken over, and post a real-looking mint link at a plausible moment. This defeats "check that it's the official account", which is why step 1 of this guide anchors on the contract address rather than the source of the link. OpenSea maintains separate guidance on staying safe on Discord, including the warning not to approve a wallet signature without double-checking that a verification bot is legitimate.
Signature drainers. The dangerous request at a fake mint is frequently not a transaction but an off-chain signature — an order or permit that, once signed, lets the attacker take assets you already hold without any further prompt. Nothing leaves your wallet at signing time, which is exactly why it works: there is no pending transaction to cancel, and the theft happens later. Treat any signature request during a mint that is not a plain connect message, and any prompt asking you to grant an operator control of an existing collection, as hostile. If you have already signed something you regret, go to how to revoke token approvals immediately, then how to respond to wallet compromise.
Airdropped bait NFTs. Unsolicited items appear in your wallet with a name inviting you to visit a site to claim or mint something. The item itself is inert; the link is the payload. Do not interact — hide it.
Structural defences that actually work. Mint from a dedicated wallet holding only the mint price plus gas — see how to use a burner wallet — and keep long-term holdings on a separate hardware-secured address. A drainer that reaches a burner takes what is in the burner. Combine this with cold storage for anything you intend to keep, and simulate unfamiliar transactions before signing.
Troubleshooting
- Transaction reverted. Common causes at a mint: the sale is not open yet, the supply is exhausted, you exceeded the per-wallet cap, your address is not on the allowlist, or the value sent does not match the price the contract expects. Read the revert reason on the block explorer or in a simulator before retrying — retrying blindly costs another fee for the same failure.
- "Insufficient funds for gas" despite having the mint price. You need the price and the fee in native token. Top up and retry.
- Stuck pending transaction. Use replace-by-fee: resubmit the same nonce with a higher fee to speed it up, or send a zero-value transaction to yourself at that nonce with a higher fee to cancel it. Do not submit a second mint from the interface, which creates a new nonce and can leave you holding two.
- Minted successfully but the NFT is not visible. Metadata indexing lags, particularly for delayed-reveal collections and for Solana compressed NFTs, which some wallets display differently. Confirm the
Transferfrom the zero address on the explorer — that is authoritative. Then refresh metadata from the marketplace's collection page. - Wrong network. Switch chains in the wallet. If you sent native token to a contract address that does not exist on the destination chain, those funds are generally unrecoverable — no support desk can reverse it.
- Charged twice. Check the explorer for two successful transactions from your address. If both succeeded you own two tokens; if one reverted you paid its gas and received nothing, which is not recoverable.
When not to mint
Minting is often the wrong route even when it is available.
- When the floor is below the mint price. If the collection is already trading and the cheapest listing is under what the contract charges, buying on the secondary market is strictly cheaper and you can see the exact item first. Minting only makes sense at a discount to the floor or before one exists.
- When you cannot independently confirm the contract. No potential upside justifies signing against an address you found only in the link that brought you there. Skip it.
- When gas exceeds the item's value. A $12 mint costing $40 in mainnet fees is a $52 purchase. Either wait for quieter blocks or take the L2 deployment if one exists.
- When the drop is engineered around urgency. Countdown timers, an unannounced link, and pressure to connect immediately are the exact conditions under which people skip verification — which is why fraudulent drops manufacture them.
- When you are minting to flip a supply-constrained drop. You are competing with automated bidders in the same block. Expect either a reverted transaction with a fee attached, or a successful mint at a fee that erodes the margin you were chasing.
- When you are a creator who needs contract ownership. If long-term control of the collection address, metadata, or royalty configuration matters, do not issue on a shared platform contract you cannot govern. Deploy your own.
FAQ
Is a "free mint" actually free?
Only the creator's price is zero. Minting writes to the blockchain, so you always pay network gas, and that gas is charged even if the transaction reverts. On Ethereum mainnet during a busy drop the gas alone can exceed what the item is worth.
What does minting cost on OpenSea or Magic Eden?
Platform fees vary by action, chain and collection, and both platforms change them. OpenSea's fee article currently lists 1% for selling, 10% for minting in a primary drop, and 0% on swaps and private listings; Magic Eden's help centre states 0% listing fees and a 2% take on transactions for its Solana marketplace. Both note terms can change — read the fee shown in the interface at the moment you confirm, because that is the one that binds.
My mint transaction failed. Do I get my money back?
You get the mint price back — it never left, because the contract call reverted — but not the gas. Gas pays for the computation the network performed, including the computation that discovered the transaction should fail. Sold-out supply and per-wallet caps are the usual causes.
Can I reverse a mint or get a refund?
No. A confirmed on-chain transaction cannot be undone by any marketplace, wallet, or support desk. This is why verifying the contract address before you sign, and simulating unfamiliar transactions, matter more than any step taken afterwards.
Should I use a separate wallet for minting?
Yes. Fund a dedicated wallet with the mint price plus gas and nothing else. The most common serious loss at a mint is a signature drainer taking assets you already held — an attacker who reaches a burner takes only what is in the burner.
Which chain should I mint on?
Whichever the collection is genuinely deployed on — and if it offers a choice, generally the layer 2, which runs identical contract standards at a fraction of the fee. Reserve Ethereum mainnet for items whose value comfortably exceeds mainnet gas. Beware same-named collections on cheap chains: cloning a popular collection onto another network is a standard imitation tactic.
I minted but the NFT isn't showing in my wallet. Is it lost?
Almost certainly not. Check the block explorer for a Transfer event from the zero address to your address — that is the authoritative record. Wallet and marketplace displays depend on metadata indexing, which lags for delayed-reveal collections and can differ for Solana compressed NFTs.