Do you need to create an ERC721 token? In that case, pay shut consideration to the content material introduced on this tutorial, as we are going to present you the way to create and deploy an ERC721 token in three easy steps. In case you are keen to leap straight into the code, that is what the whole contract for our token seems like:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract MNFT is ERC721 { constructor() ERC721("Moralis NFT", "MNFT") { // mint an NFT to your self _mint(msg.sender, 1); } }
Along with exhibiting you the way to create and deploy a token following the ERC721 customary, the article additionally illustrates the way to get related token knowledge utilizing Moralis. As such, you’ll familiarize your self with Moralis’ NFT API and the ”getContractNFTs” endpoint. Take a look at the get NFTs by contract documentation web page for more information on this.
If you wish to entry these enterprise-grade blockchain improvement sources, bear in mind to enroll with Moralis. You’ll be able to create an account without cost and check out all Moralis options very quickly!

Overview
In as we speak’s tutorial, we are going to present you the way to create an ERC721 token within the following three steps:
- Set Up a Hardhat Mission
- Construct the ERC721 Contract
- Create the ERC721 Token
After finishing the aforementioned steps, you’ll know the elemental ideas for creating any ERC721 tokens sooner or later. So, if this sounds thrilling, be part of us as we cowl the complete course of from begin to end!
Now, except you’ve been dwelling beneath a rock for the previous couple of years, odds are you haven’t missed the non-fungible token (NFT) growth in 2021. Throughout this time, NFTs turned one of many Web3 {industry}’s most distinguished elements, and even with the decline in buying and selling quantity final yr, they continue to be an thrilling prospect. That mentioned, you is likely to be concerned with creating your individual ERC721 tokens (a.ok.a. NFTs). Because of this, we are going to take this text to show you the way to create an ERC721 token very quickly! Together with exhibiting you the way to create an ERC721 token, the article illustrates how one can get NFT token knowledge primarily based on a contract deal with utilizing Moralis. In doing so, you’ll discover ways to use Moralis’ NFT API and the ”getContractNFTs” endpoint.
The NFT API is one in every of many industry-leading APIs supplied by Moralis. So, in case you are critical about moving into Web3 improvement, we suggest you try the opposite APIs. For example, discover the Auth API, enabling you to authenticate customers simply with solely a single line of code!
In the event you join with Moralis, you achieve rapid entry to those enterprise-grade improvement instruments and might totally leverage the ability of Web3 know-how!

Tutorial: Learn how to Create an ERC721 Token
Within the following sections, we are going to present you the way to create an ERC721 token utilizing NodeJS, Hardhat, and Solidity. We may even illustrate how one can verify the transaction and get token knowledge utilizing Moralis!
If this sounds thrilling, be part of us as we cowl the ins and outs of making ERC721 tokens. In the event you want watching movies to be taught, you may as well try the clip beneath from the Moralis YouTube channel. On this video, one in every of our gifted software program engineers walks you thru the steps introduced on this tutorial in additional element:
In case you are unfamiliar with the ERC721 customary or simply have to refresh your reminiscence, one can find a bit answering the query, ”what’s an ERC721 token?” after the tutorial.
Now, with out additional ado, be part of us as we kickstart this tutorial on the way to create an ERC721 token by masking the required conditions!
Conditions
Earlier than shifting ahead to the central a part of this text – ERC721 token creation – you’ll want to have the next prepared:
Step 1: Set Up a Hardhat Mission
We are going to kickstart this tutorial on the way to create an ERC721 token by exhibiting you the way to arrange the elemental mission. As such, open a brand new terminal and create a brand new listing utilizing the command beneath:
mkdir PROJECT_NAME
From there, ”cd” into the mission folder:
cd PROJECT_NAME
Subsequent, initialize a brand new “npm” mission:
npm init -y
With the ”npm“ mission initialized, set up the “dotenv” dependencies:
npm i dotenv
From there, set up Hardhat and the related dependencies:
npm set up --save-dev hardhat @nomicfoundation/hardhat-toolbox
Subsequent, create a brand new Hardhat mission utilizing the next terminal enter:
npx hardhat
Working the command above prompts your terminal, and you may select to create a JavaScript mission:

If the whole lot labored, it’s best to now see a hit message in your terminal:

Lastly, on this tutorial on creating ERC721 tokens, we are going to use OpenZeppelin. As such, set up the dependencies with this command:
npm set up @openzeppelin/contracts
Step 2: Construct the ERC721 Contract
After organising the mission, open the listing in your most well-liked built-in improvement setting (IDE). We will likely be utilizing Visible Studio Code (VSC), and it’s best to end up with a file construction just like the one beneath:

From there, open the ”contracts” folder and take away the instance contract:
Subsequent, create a brand new ”.sol” file within the ”contracts” folder, which is the place you’ll add the contract code itself. In our case, we are going to identify the file ”MNFT.sol”.
First, specify what model of Solidity you need to use. To take action, add the next code snippet on the high of the file:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0;
Subsequent, import the OpenZeppelin ERC721 token customary:
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
Lastly, add the customized code for the contract itself:
contract MNFT is ERC721 { constructor() ERC721("Moralis NFT", "MNFT") { // mint an NFT to your self _mint(msg.sender, 1); } }
On the primary line, we offer a reputation and specify that the contract is an occasion of the ERC721 token customary. Subsequent, we outline a constructor, which is a perform that robotically executes when deploying the contract. Throughout the constructor, there may be one other constructor taking two parameters: the token identify and image.
Lastly, we add the ”_mint” perform, which takes two parameters. The primary ”msg.sender” parameter specifies that the one deploying the contract receives the token. The second parameter determines the variety of tokens that will likely be created.
All in all, your contract file ought to now look one thing like this:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract MNFT is ERC721 { constructor() ERC721("Moralis NFT", "MNFT") { // mint an NFT to your self _mint(msg.sender, 1); } }
Lastly, open a brand new terminal, ”cd” into the mission folder, and compile the contract by operating this command:
npx hardhat compile
Step 3: Create the ERC721 Token
Not solely will the final step of this tutorial illustrate the way to create the ERC721 token, however it’s going to additionally present you the way to deploy it. To take action, open the ”deploy.js” file and substitute its contents with the next snippet:
const { ethers } = require("hardhat"); async perform essential() { const nftContract = await ethers.getContractFactory("MNFT"); const deployedNFTContract = await nftContract.deploy(); await deployedNFTContract.deployed(); console.log("NFT Contract Tackle:", deployedNFTContract.deal with); } essential() .then(() => course of.exit(0)) .catch((error) => { console.error(error); course of.exit(1); });
On the preliminary line, we require ethers.js from Hardhat. Subsequent, we outline ”essential()”, the place we first name the ”getContractFactory()” perform utilizing the token image. From there, we name the ”deploy()” perform and await it to complete. Lastly, we log the contract deal with.
Subsequent, you have to create a brand new ”.env” file within the mission’s root folder. For this file, you’ll want to add two setting variables:
QUICKNODE_HTTP_URL=”REPLACE_ME” PRIVATE_KEY=”REPLACE_ME”
For the primary one, substitute ”REPLACE_ME” with a QuickNode URL, and for the second, add your MetaMask’s personal key.
As soon as accomplished configuring the setting variables, allow us to open the ”hardhat.config.js” file. From there, substitute the contents of this file with the code down beneath:
require("@nomicfoundation/hardhat-toolbox"); require("dotenv").config({ path: ".env" }); const QUICKNODE_HTTP_URL = course of.env.QUICKNODE_HTTP_URL; const PRIVATE_KEY = course of.env.PRIVATE_KEY; module.exports = { solidity: "0.8.9", networks: { goerli: { url: QUICKNODE_HTTP_URL, accounts: [PRIVATE_KEY], }, }, };
Right here, we begin by importing the libraries put in in the course of the second step and the setting variables. What’s extra, by means of ”module.exports”, we deploy the contract.
Lastly, all that continues to be from right here is operating the code to deploy the contract to the Goerli testnet by executing the command beneath within the terminal:
npx hardhat run scripts/deploy.js --network goerli
That’s it; congratulations! You’ve now created your very personal ERC721 token in simply three easy steps! From right here, you’ll be able to observe the identical course of for creating extra ERC721 tokens sooner or later.
In the event you skilled hassle throughout this walkthrough at any level, try the video on the high of the tutorial. You can even discover the code for this mission within the GitHub repository beneath:
Full Create an ERC721 Token Documentation – https://github.com/MoralisWeb3/youtube-tutorials/tree/essential/moralis-erc721-token
Past Creating ERC721 Tokens – Get Token Information Utilizing Moralis
Once you create the ERC721 token by means of the steps of this tutorial, you’ll obtain the contract deal with as a response. From there, you need to use the deal with to substantiate the transaction and get knowledge related to the token, and the best means to take action is with Moralis’ NFT API and the ”getContractNFTs” endpoint.
If this sounds fascinating, you’ll be able to strive it out instantly in your browser by visiting the get NFTs by contract documentation web page. It will take you to the next web page:

To the left, one can find a bunch of enter fields. On this case, you’ll be able to enter the contract deal with and choose the chain to which you deployed the contract:

Subsequent, press ”Strive It” on the high proper, which is able to execute the code beneath utilizing your parameters:
In return, you’ll obtain a response wanting one thing like this :
{ "whole": 1, "web page": 0, "page_size": 100, "cursor": null, "end result": [ { "token_hash": "aa9c01b4eda16cc12774e2c4256fee1f", "token_address": "0x900c08fd7ac99dd530558386886a67c756322c0b", "token_id": "1", "block_number_minted": "8298496", "amount": "1", "contract_type": "ERC721", "name": "Moralis NFT", "symbol": "MNFT", "token_uri": null, "metadata": null, "last_token_uri_sync": "2023-01-12T11:44:23.074Z", "last_metadata_sync": null, "minter_address": "0x449b02452b6d6af4d630bd69fa1f53be7bdff774" } ] }
As you’ll be able to see, you get loads of data, such because the token deal with, token ID, contract kind, and many others. Furthermore, you’ll be able to simply implement this endpoint into your initiatives in case you are planning to construct an NFT-related platform. If you wish to be taught extra about how this works, try our information on the way to get all NFTs from a contract.
As well as, in case you are critical about NFT improvement, we suggest our tutorial on the way to get all NFTs owned by a pockets. This tutorial explains how one can question all NFTs a pockets holds primarily based on its deal with!
What’s an ERC721 Token?
In brief, an ERC721 token is a token implementing the ERC721 customary. Accordingly, to adequately reply the query on this part’s title, we should begin by exploring the ERC721 customary. So, what’s the ERC721 customary?

ERC721 is an Ethereum customary for good contracts and non-fungible tokens (NFTs). The usual ensures that tokens originating from an ERC721 contract implement a minimal customary interface. Due to this fact, the ERC721 customary, for example, ensures the next:
- It’s potential to question a token’s steadiness
- A token is tradable between accounts
- Anybody can fetch the full provide of a token
Together with these options, a contract must implement sure strategies and occasions to be thought of an ERC721 contract. You’ll be able to learn extra about these occasions and strategies in our information explaining ERC721 good contacts additional.
Although the ERC721 customary was initially created for the Ethereum ecosystem, it’s not completely restricted to this community. ERC721 is usually a typical NFT customary on all Ethereum Digital Machine-compatible (EVM) blockchain networks.
When Was ERC721 Created?
ERC is an abbreviation for ”Ethereum Request for Feedback”. Moreover, numerous ERC proposals are used to counsel protocol updates or new requirements for the Ethereum community. The quantity ”721” merely signifies that this was remark quantity 721, which is a sign of when the usual was launched.
Nonetheless, to be extra particular, ERC721 was proposed by William Entriken, Jacob Evans, Dieter Shirley, and Nastassia Sachs in January 2018.
Different ERC Tokens
ERC721 shouldn’t be the one token customary on the market. Two different distinguished examples are ERC20 and ERC1155:
- The ERC20 Customary – In contrast to ERC721, ERC20 is a normal for fungible tokens. A terrific instance of a token implementing the ERC20 customary is ETH, which is the native forex of Ethereum. You’ll be able to learn extra about the usual within the following article: “What are ERC20 Contracts?”.
- The ERC1155 Customary – ERC1155 targets fungible, semi-fungible, and non-fungible tokens, making it considerably extra dynamic. If you wish to learn extra about this customary, try our information answering the query, ”what’s the ERC-1155 customary?”.
Moreover, if you wish to discover the variations between the ERC721 and ERC1155 requirements, try our article on ERC721 vs ERC1155!
Abstract – Learn how to Create an ERC721 Token
On this article, we taught you the way to create an ERC721 token in simply three steps:
- Set Up a Hardhat Mission
- Construct the ERC721 Contract
- Create the ERC721 Token
You probably have adopted alongside this far, you shouldn’t have any hassle creating ERC721 tokens sooner or later!
In the event you discovered this tutorial useful, take into account trying out extra content material right here on the Web3 weblog. For example, examine the very best Ethereum faucet, be taught what a Polygon Mumbai faucet is, or discover the intricacies of danksharding.
As well as, if you wish to turn out to be a Web3 developer your self, try Moralis Academy. The academy gives glorious programs for brand spanking new in addition to extra skilled builders. In case you are new to the house, you’ll be able to, for instance, try the next course: ”Ethereum 101”.
Lastly, if you wish to construct your individual Web3 initiatives, bear in mind to enroll with Moralis. By registering, you achieve rapid entry to the Web3 APIs, enabling you to totally leverage the ability of blockchain know-how. In doing so, you’ll be able to construct dapps and different Web3 initiatives smarter and extra effectively!