Contract Comparison
Use the table below to decide which type of contract is right for you. For a more detailed explanation, see the Collection contracts section below the table.
Collection contracts | Contracts for NFT products | |
---|---|---|
Used for | NFT collection drops | Building NFT-enabled apps |
Minting done by | First buyer | Developer |
Minting transaction fee paid by | First buyer | Developer |
Cost to launch a 5,000 NFT collection | FREE | $0.075 per minted NFT (see Pricing) |
Number of NFTs | Max # of NFTs fixed when contract created | NFTs can be added any time |
Tradable on marketplaces (e.g. OpenSea) | ✅ After first user has paid & minted the NFT | ✅ Immediately after minting |
Whitelist/Pre-sale | ✅ | Possible with custom code |
Royalties | ✅ | ✅ |
Implementation | ||
Deploying a contract | REST API call: Deploy an NFT collection contract | REST API call: Deploy a contract for NFT products |
Minting an NFT | Web3 call to on-chain contract | REST API call: Customizable minting |
Minting method usually called from | Collection website | Any app or script |
Collection contracts
In contrast to contracts for NFT products, collection contracts have the following important features and limitations.
Number of NFTs
- The total number of NFTs is fixed upon contract deployment (see
max_supply
argument).
Minting
- Once a collection contract is deployed, before NFTs can be traded on marketplaces like OpenSea, they must be minted.
- NFTs in the collection are minted at time of first purchase, for a cost of
mint_price
. - The minting call must be made directly against the contract; this cannot be done through NFTPort. The developer typically creates a minting website for buyers where they can mint by signing transactions and paying with their Metamask wallet.
Minting price and transaction fee
- The minting transaction fee (gas fee) is paid by the first buyer of the NFT, not the developer.
- The balance of prices paid for NFTs is available for the owner of
treasury_address
to withdraw. - Both the minting price and transaction fee are paid in the chain's native token (MATIC for contracts deployed to Polygon).
Updated almost 2 years ago