Skip to content

Repository files navigation

NFT Marketplace – ERC721 + ERC20 Marketplace Contracts

This repository contains Solidity smart contracts implementing an NFT marketplace with ERC721 tokens, ERC20 payments, royalty support, and platform fee mechanics.


🎮 Project Overview

This project implements a full-featured NFT marketplace with:

  • Mintable ERC20 token (ProjectToken) for payments.
  • Mintable ERC721 NFT (MyNFT) with royalty support.
  • Marketplace contract that allows listing, buying, and cancelling NFTs, while handling platform fees and royalties.

Players can:

✅ Mint NFTs.
✅ List NFTs for sale and cancel listings.
✅ Buy NFTs using ERC20 tokens.
✅ Platform owner collects a fee per sale.
✅ NFT owner collects royalties per sale.


👨‍💻 Implementation

This project was developed as a portfolio demonstration of a decentralized NFT marketplace.

The repository includes:

  • ProjectToken: ERC20 token used as the marketplace payment currency.
  • MyNFT: ERC721 NFT contract with ERC2981 royalty support.
  • Marketplace: Contract handling NFT listings, purchases, royalty distribution, and platform fees.
  • Deployment and verification scripts.
  • Hardhat test suites and interaction scripts.

🔨 Contracts Included

Contract Description
ProjectToken.sol ERC20 token used as marketplace currency.
MyNFT.sol ERC721 NFT with royalty support via ERC2981.
Marketplace.sol Marketplace with listing, buying, platform fee, royalty handling.

🧠 Key Features

✅ ERC20 + ERC721 with metadata & royalties.
✅ Marketplace with platform fee & royalty split.
✅ Fully owner-restricted platform fee updates.
✅ Deployment & verification scripts.
✅ Hardhat tests & real-network interaction scripts.


🌐 Deployments

🧪 Testnet – Base Sepolia

Contracts Owner: 0xB94503C6a717BDD677ad9dAB7B450AF86d3Aa3F5

Contract Address
ProjectToken 0x96e770fbe4E2d05d3f3a0795Aa36488355BcAB67
MyNFT 0xe7BaB9134212AfEf33fE1bF03c5ba3FB780f2F1C
Marketplace 0x74b3BF7a75B3fDC75878086f811727b77a463BFa

🏗️ Built For

Personal portfolio project demonstrating ERC721 royalties, ERC20 payments, and marketplace trading mechanics on an EVM Layer 2 test network.


🧑‍💻 Author

Dantis Minurland Constantin
Full-Stack Software Developer

🌐 https://mdantis.dev
✉️ hello@mdantis.dev


📄 License

This repository is licensed under the MIT License. See LICENSE for details.


⭐ Usage

If you are interested in similar smart contract development or blockchain integrations, feel free to get in touch.

About

Solidity smart contracts implementing an NFT marketplace with ERC721 NFTs, ERC20 payments, royalties, and platform fees.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages