MusicNFT

Music catalog + wallet + NFT storefront

Turn a track into a collectible edition without leaving the product.

MusicNFT is a product prototype that combines music discovery, artist pages, playlists, IPFS-backed uploads, Sepolia minting, royalty-aware editions, and marketplace listings inside one full-stack app.

IPFS uploads Sepolia minting royalty-aware editions
Upload

Track + cover art pushed to IPFS through Pinata.

Mint

Set quantity, starting price, and royalty percentage.

Collect

List editions, connect MetaMask, buy from the marketplace.

Product logic

Upload the media, mint the edition, sell it from the same app surface.

The core idea is not the wallet screen. It is the loop: listening UI, IPFS-backed uploads, royalty-aware minting, owned editions, and marketplace resale all connected inside one product concept.

Flow

A music-first NFT flow instead of a generic token dashboard.

The app begins as a listener product with tracks, artists, playlists, and a player. NFT minting sits on top of that experience, which makes the collectible feel tied to an actual piece of media instead of an isolated contract interaction.

01

Upload a track and cover art, then pin the assets to IPFS.

02

Connect MetaMask and switch the wallet to Sepolia.

03

Mint one or more editions with a starting price and royalty percentage.

04

Show owned NFTs, list them in the marketplace, and let collectors purchase them.

Features

The interesting part is the combination, not any one isolated screen.

MusicNFT pulls together several product surfaces that usually live in separate demos: listening UI, uploads, wallet connection, minting, royalties, and secondary listings.

Artist and track browsing

Start from a music app shell with artists, tracks, playlists, and an audio player.

Wallet-aware minting

Mint editions from the track UI and guard the flow with MetaMask and Sepolia checks.

Royalty-aware editions

Set price, quantity, and royalty percentage at mint time instead of treating metadata as an afterthought.

Marketplace loop

Owned NFTs can be listed and purchased through the same app surface.

Stack

React, Express, Drizzle, ethers, IPFS, and a Solidity contract scaffold.

The repo is organized as a single product workspace: client, server, shared schema, and contract source. That makes it useful as a reference for stitching a music UI to an NFT minting path without splitting the concept across multiple repositories.

npm install
npm run dev
Needs:

- MetaMask
- Sepolia
- Pinata credentials
- VITE_NFT_CONTRACT_ADDRESS