Winter - Sell NFTs via credit card
  • Get started
    • Get Started
      • Project Testing
      • Push to Production
    • Marketplaces
    • How do I get paid?
    • Payment methods & locations
      • Foreign Currencies
      • Apple Pay
    • Whitelists/Allowlists
  • Marketplace integrations
    • Intro
    • Implementation strategy
      • Directly with smart contracts
      • Aggregation APIs
      • APIs to build a transaction
      • Build and submit a transaction
  • Primary Mint Smart Contracts
    • 🚨Requirements
    • ETH, Polygon, and EVM
      • Multi-contract
      • Drop types we support
    • Solana
    • Crypto pricing
  • Front End Integration
    • Customization
    • Pre-fill (email, wallet, etc)
    • React
    • React (Marketplace)
    • Plain HTML
    • Post-purchase
    • CSS customization
  • Platform API
    • Intro (read this first!)
    • testmode -> livemode
    • /createProject
    • /updateProject
    • /deleteProject
    • /updateWhitelist
    • /getProjects
  • Wallet API Docs
    • Intro
    • /getNFTs
    • /transferNFT
  • NFT Claim API
    • Intro
    • /mintNFT
    • /mintFreeNFT
    • /transferNFT
  • Cross-chain payments
    • Intro
    • Integration
Powered by GitBook
On this page
  1. Primary Mint Smart Contracts

ETH, Polygon, and EVM

Previous🚨RequirementsNextMulti-contract

Last updated 2 years ago

Have a multi-contract NFT sale?

This is for all EVM based blockchains (Ethereum, Polygon, Avalanche, etc)

We support ERC-721, ERC-721A, ERC-721R and ERC-1155 smart contracts!

Note we require all smart contracts to have a mint function with an address parameter! This is so that if a user wants to mint to their own wallet, we can do this in one transaction (save on gas fees and a faster mint)!

We also require that there is no limit of how many mints we can mint. You can do this by making sure the address that is passed in is checked for limits and not the msg.sender

For example:

function mint(uint256 _amount, address _recipient) external payable {
    require(totalNFTs(_recipient) <= MAX_WALLET_LIMIT,"Wallet has too many NFTs");
    ...
}
Check out these docs