> For the complete documentation index, see [llms.txt](https://docs.infrablockchain.net/infrablockchain-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain/deploy-erc721-contract.md).

# Deploy ERC721 Contract

### Before you begin

Before you begin, make sure to do the following:

* [\*\*\*\**InfraEVM* Parachain](/infrablockchain-docs/infrablockchain/service-chains/infra-evm-parachain.md)
* [Moving Assets with EVM](/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain/deposit-and-withdraw-token.md)

### Deploying an ERC721 Token Contract Using Remix

1. Visit [Remix](https://remix.ethereum.org).

   ![remix-main](/files/CnnxP3THhkUqn85wOoXQ)
2. Create a workspace. Choose the ERC721 token contract template.

   ![erc721-create-workspace](/files/A8K0ujJABTkVHFX1sxBV)
3. Confirm the created workspace.

   ![erc721-check-code](/files/Bg0Ez3Ol88y27w7650Ju)
4. Compile the generated code.

   ![erc721-compile](/files/iIeMlVlRDGV4QO8oWsZb)
5. Select the network to deploy as `Injected Provider - MetaMask` and connect MetaMask to Remix.

   ![erc721-change-network](/files/bf4DJBOn0n9Bw9WmCnfD)
6. Before deployment, set variable values such as the owner, and deploy the contract.

   ![erc721-set-owner-and-deploy](/files/asabYwAUtzkS1Zj0bvbZ)
7. If a confirmation window appears in MetaMask, double-check and proceed with contract deployment.

   ![erc721-deploy-check](/files/2jRTzzw6Sgmt5f9mtbmi)
8. Once deployment is complete, you can verify it in MetaMask as shown below.

   ![erc721-deploy-complete](/files/JgqAliCPZYXLqEXEXgiq)

### Minting NFTs with the Deployed ERC721 Token Contract

This continues from the previous tutorial.

1. As shown below in "Deployed Contracts," you can see the `safeMint` function. You can use this function to mint NFTs by filling in appropriate values for 'to' and 'tokenId'.

   ![erc721-mint](/files/ck9H2ns0NScKHY8adgQS)
2. Press the "transact" button, and a confirmation window for the transaction will appear.

   ![erc721-mint-check](/files/4YxvzDu6VR7OLahjjrs8)
3. If the transaction is executed successfully, the NFT will be minted, and you can confirm it in wallets like MetaMask under NFT token views.

   ![erc721-metamask-nft-check](/files/AwsAzGLHbB1SGdBZ4N6d)

### Moving on to the Next Step

* [Deploying an ERC1155 Token Contract](/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain/deploy-erc1155-contract.md)
