import "@thirdweb-dev/contracts/base/ERC721Drop.sol";

The ERC721Drop base contract allows you to create an NFT Drop that other wallets can claim.

It implements the ERC721A standard with the Lazy Mint, Delayed Reveal and Drop extensions; allowing you to batch lazy-mint NFTs and allow other wallets to claim them under the criteria of claim conditions, with an optional delayed reveal.

View on GitHub


Import the contract and inherit from it.

// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/base/ERC721Drop.sol";
contract MyNFT is ERC721Drop {
address _defaultAdmin,
string memory _name,
string memory _symbol,
address _royaltyRecipient,
uint128 _royaltyBps,
address _primarySaleRecipient

Detected Extensions

Once deployed, you can use the features made available by these extensions on the SDK and dashboard:

Click on each feature to learn more about what functions are available.

Functions to Override

The following functions have been implemented on this contract & are available to be overridden to add custom logic: