Skip to content

Beor18/factory-nftmusic

Repository files navigation

🎵 TUNEPORT

Where every second of sound becomes value

License: MIT Solidity Network Version


📋 QUICK LINKS

Document Description Audience
WHITEPAPER.md Complete protocol vision and architecture Everyone
TECHNICAL_DOCUMENTATION.md Developer guide and API reference Developers
contracts/ Solidity smart contracts Contract devs
scripts/ Deployment and upgrade scripts DevOps
App Live platform Artists/Users

🚀 WHAT IS TUNEPORT?

The Problem

500 streams = 1 coffee ☕

Artists receive less than 1% of the value they generate.

  • Millions of artists without sustainable income
  • Playlists and radio stations that can't be monetized
  • Lots of effort, little reward
  • Current Web3 doesn't solve it: poor UX, no recurring value

The system is broken.


The Solution

A platform where every song, every collection, every playlist becomes value.

Tuneport is a music & audio creators platform built on Base blockchain where:

Artists stay in control

  • Upload sounds and set revenue splits with collaborators
  • Own your content, own your earnings
  • Transparent, immutable revenue distribution

🔒 Locked Content

  • Exclusive access for collectors
  • Premium tracks and albums
  • Community-driven monetization

🎧 Playlists Generate Value

  • Users create playlists that generate value for themselves AND original artists
  • Every playlist is monetizable
  • Revenue shared across the chain

💎 Every Level Creates Value

  • Collections → Value
  • Songs → Value
  • Playlists → Value
  • Podcasts → Value

🚀 No Friction, No Barriers

  • No wallets, no crypto complexity
  • Human, simple, powerful experience
  • Just music, value, and ownership

🎯 WHY TUNEPORT?

vs. Spotify & Traditional Platforms

Feature Spotify/Traditional Tuneport
Artist Revenue <1% of value 99% direct
Ownership ❌ Platform owns ✅ Artists own
Locked Content ❌ No ✅ Yes
Playlist Monetization ❌ No ✅ Yes
Revenue Splits ❌ Opaque ✅ Transparent
User Experience ✅ Familiar ✅ Simple, no wallets

vs. Web3 Competitors

Feature Other Web3 Tuneport
UX ⚠️ Wallets, gas, complexity ✅ No barriers
NFT Ownership ⚠️ Limited ✅ Real ownership
Song Coin ❌ No ✅ Value in motion
Locked Content ❌ No recurring income ✅ Recurring income
Playlists ❌ No value ✅ Monetizable
Multi-Level Value ⚠️ Limited ✅ Every level

We don't compete on UX alone.
We compete on value, traceability, and artist sovereignty.


📦 CONTRACT ADDRESSES (BASE MAINNET)

Contract Address Explorer
MusicNFTFactory 0x061Fa3d70a8BAa1635569670ce5A3eD2184C25C8 View
RevenueShareFactory 0x43e935AD1F78D66d6Cc3cA62EF1F63F70485bA2a View
MusicCollection (Impl) 0x2d62f8b1Ea9857ffC485Bb6d59CFeb50647BCA5a View
RevenueShare (Impl) 0x07a12073AE3493B83C6a37C7E90BC0AbDCD12d4e View

🎵 HOW IT WORKS

1. Artists Upload & Configure

Artists → Create music NFT collections
       → Set revenue splits with collaborators (on-chain)
       → Configure pricing (ETH or ERC20)
       → Deploy via smart contracts

2. Users Create & Earn

Users → Create playlists
      → Generate value for themselves
      → Original artists also earn
      → Community-driven curation

3. Every Level Has Value

Collection (Album) → Creates value coin 💎
  ├─ Song 1 → Creates value coin 💎
  ├─ Song 2 → Creates value coin 💎
  └─ Song 3 → Creates value coin 💎

Playlist → Creates value coin 💎
  ├─ Shares value with Song 1 artist
  ├─ Shares value with Song 2 artist
  └─ Curator also earns

🛠️ FOR DEVELOPERS

Quick Start

# Clone repository
git clone https://github.com/tuneport/protocol.git
cd protocol

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your keys

# Compile contracts
npm run compile

# Run tests
npm test

# Deploy to Base
npm run deploy:mainnet

Integration Example

import { ethers } from "ethers";

// Connect to Base
const provider = new ethers.JsonRpcProvider("https://mainnet.base.org");

// Get factory contract
const factory = new ethers.Contract(
  "0x061Fa3d70a8BAa1635569670ce5A3eD2184C25C8",
  MusicNFTFactoryABI,
  provider
);

// Create collection
const tx = await factory.createCollection(
  "Album Name",
  "ALBUM",
  "ipfs://base/",
  "ipfs://metadata"
  // ... more params
);

🏗️ TECHNICAL ARCHITECTURE

Core Contracts

MusicNFTFactory

  • Creates music NFT collections
  • Upgradeable via UUPS pattern
  • Permissionless creation

MusicCollection

  • ERC1155 multi-edition NFTs
  • Support for ETH and ERC20 payments
  • ERC2981 royalty standard
  • Automatic revenue distribution integration

RevenueShareFactory

  • Creates revenue distribution contracts
  • Multi-artist split management

RevenueShare

  • Automatic revenue distribution
  • Support for multi-level splits (collection → song → playlist)
  • Transparent, on-chain accounting

Architecture Diagram

┌────────────────────────────────────────────────────────────┐
│                      TUNEPORT PLATFORM                     │
├────────────────────────────────────────────────────────────┤
│                                                            │
│  ┌──────────────────────┐    ┌──────────────────────┐    │
│  │  MusicNFTFactory     │    │ RevenueShareFactory  │    │
│  │  (Upgradeable)       │    │ (Upgradeable)        │    │
│  └──────────┬───────────┘    └──────────┬───────────┘    │
│             │ creates                    │ creates        │
│             ↓                            ↓                │
│  ┌──────────────────────┐    ┌──────────────────────┐    │
│  │ MusicCollection      │───→│ RevenueShare         │    │
│  │ • ERC1155 Standard   │    │ • Multi-Party Splits │    │
│  │ • Multi-Payment      │    │ • Playlist Splits    │    │
│  │ • ERC2981 Royalties  │    │ • Transparent        │    │
│  └──────────────────────┘    └──────────────────────┘    │
│                                                            │
└────────────────────────────────────────────────────────────┘

🔒 SECURITY

Audit Status

Internal Security Audit Completed (November 2025)

  • Auditor: MCP Auditor (AI-powered security analysis) by Chrom.ar
  • Critical Findings: 0
  • High Findings: 0
  • Medium Findings: 0

Security Features

  • Reentrancy Protection: Guards on all payable functions
  • Input Validation: Comprehensive checks
  • Safe ERC20: OpenZeppelin SafeERC20
  • Access Control: Role-based permissions
  • Upgrade Safety: UUPS pattern with storage protection

V2.0.0 Security Improvements

Issue V1.0.1 V2.0.0
Reentrancy in mint functions ⚠️ Vulnerable ✅ Fixed (CEI pattern)
Integer division remainder loss ⚠️ Funds lost ✅ Fixed (remainder handling)
Missing input validation ⚠️ Incomplete ✅ Comprehensive
ERC20 transfer safety ⚠️ Unsafe ✅ SafeERC20

📚 DOCUMENTATION

Core Documents

  1. WHITEPAPER.md

    • Complete protocol vision
    • Technical architecture
    • Revenue distribution model
    • Use cases and examples
  2. TECHNICAL_DOCUMENTATION.md

    • Developer guide
    • Contract specifications
    • API reference
    • Integration guides
  3. Contract Source Code: contracts/

  4. Deployment Scripts: scripts/


🧪 TESTING

Run Tests

# All tests
npm test

# With gas reporting
REPORT_GAS=true npm test

# With coverage
npm run coverage

Test Coverage

Contract Statements Branches Functions Lines
MusicCollection 98% 95% 100% 98%
RevenueShare 97% 93% 100% 97%
Factories 100% 100% 100% 100%

🤝 CONTRIBUTING

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open Pull Request

📄 LICENSE

This project is licensed under the MIT License - see the LICENSE file for details.


🌐 COMMUNITY & SUPPORT

Connect With Us


⚡ QUICK REFERENCE

Factory Addresses

MusicNFTFactory:     0x061Fa3d70a8BAa1635569670ce5A3eD2184C25C8
RevenueShareFactory: 0x43e935AD1F78D66d6Cc3cA62EF1F63F70485bA2a

Key Functions

// Create NFT collection
factory.createCollection(name, symbol, baseURI, ...) → address

// Mint NFT with automatic revenue distribution
collection.mint{value: price}(to, tokenId, amount, price, metadata)

// Configure revenue splits (multi-party)
revenueShare.setMintSplits(collection, tokenId, shares[])

Useful Commands

npm run deploy:mainnet     # Deploy to Base
npm run verify:mainnet     # Verify contracts
npm run check-status       # Check deployment status
npm test                   # Run tests

Built with ❤️ by the Tuneport Team

Where every second of sound becomes value 🎵

WebsiteAppTwitter


Last Updated: November 2025
Status: Production Ready ✅
Version: 2.0.0

About

Tuneport Protocol - Music web3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors