Skip to main content

ERC721 Signature Mint

The ERC721SignatureMint smart contract uses the ERC721Base base contract along with the SignatureMintERC721 contract extension.

The 'signature minting' mechanism in the SignatureMintERC721 extension uses EIP 712, and is a way for a contract admin to authorize an external party's request to mint tokens on the admin's contract.

At a high level, this means you can authorize some external party to mint tokens on your contract, and specify what exactly will be minted by that external party.

Import

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

Available functionality

FunctionalityDescription
ERC721BaseSee the portal page for ERC721Base, here.
Primary SaleAccept a price in the currency of your choice from wallets minting your collection’s NFTs.
Signature MintingAuthorize some external party to mint tokens on your contract, and specify what exactly will be minted by that external party.

Implementing the Contract

Import the contract extension and make your contract inherit it.

// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;

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

contract MyNFT is ERC721SignatureMint {
constructor(
string memory _name,
string memory _symbol,
address _royaltyRecipient,
uint128 _royaltyBps,
address _primarySaleRecipient
)
ERC721SignatureMint(
_name,
_symbol,
_royaltyRecipient,
_royaltyBps,
_primarySaleRecipient
)
{}
}

Unlocked Features

Once deployed, you'll be able to access the following contract extensions' features on the SDK and dashboard: