A drop smart contract allows the owner of the contract to lazy mint NFTs (unless it is an ERC20 drop), and have other users mint them, typically under the conditions defined in the smart contract’s claim phases, although these are not required.

This is a common pattern for projects that want their community to be able to claim tokens:

  • The contract owner defines the metadata for the tokens:

    • For NFTs, this means they lazy mint the NFTs by providing the metadata for each NFT.
    • For ERC20 tokens, the token metadata is defined when the contract is deployed.
  • The contract owner defines how user’s can claim the tokens, optionally configuring claim phases.

  • Users can claim tokens by calling the claim function on the contract, which will mint the tokens to the user’s address.