Skip to main content

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 UsageDescription
Signature-Based MintingGenerate 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

}
}