ERC-721 Core

Supported Callback Functions

FunctionMode
beforeMintERC721REQUIRED
beforeTransferERC721OPTIONAL
beforeBurnERC721OPTIONAL
beforeApproveERC721OPTIONAL
beforeApproveForAllOPTIONAL
onTokenURIREQUIRED

Supported Interfaces

InterfaceID
ERC1650x01ffc9a7
ERC7210x80ac58cd
ERC721Metadata0x5b5e139f
ERC-75720xe8a3d485
ERC-1730x7f5828d0

Functions Supported

FunctionDescription
constructorInitializes the contract with parameters for name, symbol, metadata URI, owner, extensions, and their data.
contractURIReturns the contract metadata URI.
startTokenIdReturns the starting token ID for sequential mints.
totalMintedReturns the total number of tokens minted ever.
tokenURIReturns the token metadata of an NFT.
supportsInterfaceChecks if the contract implements an interface with the given interface ID.
getSupportedCallbackFunctionsReturns the supported callback functions.
setContractURISets the contract metadata URI. Callable only by the contract admin.
mintMints tokens to a specified address, calling the beforeMint hook.
burnBurns a specified token, calling the beforeBurn hook if it exists.
transferFromTransfers ownership of an NFT, calling the beforeTransfer hook if it exists.
approveApproves an address to transfer a specific NFT, calling the beforeApprove hook if it exists.
setApprovalForAllApproves or revokes approval from an operator to transfer or approve for all of the caller's NFTs.