ERC721SignatureMint
Enable signature-based minting of NFTs in your smart contract by implementing ERC721SignatureMint.
Base Contracts Implementing This Feature
Unlocked Features
By implementing the ERC721SignatureMint contract, you unlock the following features in the SDK and dashboard:
| SDK Usage | Description |
|---|---|
| Signature-Based Minting | Generate signatures that allow other wallets can use to mint NFTs into your collection. |
Implementing It Yourself
This section is meant for advanced users who want to write the functionality from scratch.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/eip/ERC721A.sol";
import "@thirdweb-dev/contracts/extension/SignatureMintERC721.sol";
contract Contract is ERC721A, SignatureMintERC721 {
constructor(
string memory _name,
string memory _symbol
)
ERC721A(
_name,
_symbol
)
{}
function _canSignMintRequest(address _signer) internal view virtual override returns (bool) {
// Your custom implementation here
}
function mintWithSignature(MintRequest calldata req, bytes calldata signature)
external
payable
override
returns (address signer) {
// Your custom implementation here
}
}