Where every second of sound becomes value
| 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 |
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.
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
| 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 |
| Feature | Other Web3 | Tuneport |
|---|---|---|
| UX | ✅ No barriers | |
| NFT Ownership | ✅ Real ownership | |
| Song Coin | ❌ No | ✅ Value in motion |
| Locked Content | ❌ No recurring income | ✅ Recurring income |
| Playlists | ❌ No value | ✅ Monetizable |
| Multi-Level Value | ✅ Every level |
We don't compete on UX alone.
We compete on value, traceability, and artist sovereignty.
| Contract | Address | Explorer |
|---|---|---|
| MusicNFTFactory | 0x061Fa3d70a8BAa1635569670ce5A3eD2184C25C8 |
View |
| RevenueShareFactory | 0x43e935AD1F78D66d6Cc3cA62EF1F63F70485bA2a |
View |
| MusicCollection (Impl) | 0x2d62f8b1Ea9857ffC485Bb6d59CFeb50647BCA5a |
View |
| RevenueShare (Impl) | 0x07a12073AE3493B83C6a37C7E90BC0AbDCD12d4e |
View |
Artists → Create music NFT collections
→ Set revenue splits with collaborators (on-chain)
→ Configure pricing (ETH or ERC20)
→ Deploy via smart contracts
Users → Create playlists
→ Generate value for themselves
→ Original artists also earn
→ Community-driven curation
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
# 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:mainnetimport { 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
);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
┌────────────────────────────────────────────────────────────┐
│ TUNEPORT PLATFORM │
├────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ MusicNFTFactory │ │ RevenueShareFactory │ │
│ │ (Upgradeable) │ │ (Upgradeable) │ │
│ └──────────┬───────────┘ └──────────┬───────────┘ │
│ │ creates │ creates │
│ ↓ ↓ │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ MusicCollection │───→│ RevenueShare │ │
│ │ • ERC1155 Standard │ │ • Multi-Party Splits │ │
│ │ • Multi-Payment │ │ • Playlist Splits │ │
│ │ • ERC2981 Royalties │ │ • Transparent │ │
│ └──────────────────────┘ └──────────────────────┘ │
│ │
└────────────────────────────────────────────────────────────┘
✅ 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
- ✅ 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
| Issue | V1.0.1 | V2.0.0 |
|---|---|---|
| Reentrancy in mint functions | ✅ Fixed (CEI pattern) | |
| Integer division remainder loss | ✅ Fixed (remainder handling) | |
| Missing input validation | ✅ Comprehensive | |
| ERC20 transfer safety | ✅ SafeERC20 |
-
- Complete protocol vision
- Technical architecture
- Revenue distribution model
- Use cases and examples
-
- Developer guide
- Contract specifications
- API reference
- Integration guides
-
Contract Source Code:
contracts/ -
Deployment Scripts:
scripts/
# All tests
npm test
# With gas reporting
REPORT_GAS=true npm test
# With coverage
npm run coverage| Contract | Statements | Branches | Functions | Lines |
|---|---|---|---|---|
| MusicCollection | 98% | 95% | 100% | 98% |
| RevenueShare | 97% | 93% | 100% | 97% |
| Factories | 100% | 100% | 100% | 100% |
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Website: tuneport.xyz
- App: app.tuneport.xyz
- Twitter: [@tuneportxyz_en]
- Telegram: [t.me/tuneport]
MusicNFTFactory: 0x061Fa3d70a8BAa1635569670ce5A3eD2184C25C8
RevenueShareFactory: 0x43e935AD1F78D66d6Cc3cA62EF1F63F70485bA2a// 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[])npm run deploy:mainnet # Deploy to Base
npm run verify:mainnet # Verify contracts
npm run check-status # Check deployment status
npm test # Run testsBuilt with ❤️ by the Tuneport Team
Where every second of sound becomes value 🎵
Last Updated: November 2025
Status: Production Ready ✅
Version: 2.0.0