The Mosaic Content Protocol enables:
- Content Creation: Creators upload content to IPFS via Lighthouse and register it on ENS domains
- Micropayments: Users pay to access content with small payments (e.g., 1 cent)
- Curation Staking: Users stake PYUSD tokens on content they believe will be popular
- Revenue Sharing: Payment from content consumption is distributed to stakers based on their vault shares
- ENS Integration: Content is versioned and accessible via ENS text records (e.g.,
artist.eth, researcher.eth)
Content Lifecycle
-
Creation: createContent("bitcoin-whitepaper", ipfsHash, price, commission)
- Deploys dedicated vault for the content
- Sets ENS text record:
contentId@1 = ipfsHash
- Creator becomes initial owner
-
Access: Users call buyAccess(contentId)
- Pays PYUSD to content vault
- Receives soulbound ERC1155 access token
- Gains permanent access to content
-
Staking: Users stake PYUSD in content vaults to earn from future access purchases
-
Updates: Creators can update content versions: updateContentVersion(contentId, newIpfsHash)
- Increments version:
contentId@2 = newIpfsHash
Core Components
- ContentAccessToken: ERC1155 contract managing content creation, access control, and payments
- SimpleVault: ERC4626 vault for staking PYUSD tokens and earning rewards from content consumption
- ENS Integration: Content metadata stored in ENS text records with versioning (
content@version format)
🏗️ Architecture
Creator uploads content → IPFS (Lighthouse) → ENS text record → Smart Contract
↓
User pays for access → Mints Access NFT → Payment → Content-specific Vault
↓
Distributed to Stakers
🛠️ Technical Stack
- Blockchain: Ethereum (Sepolia testnet)
- Payment Token: PYUSD (6 decimals)
- Storage: IPFS via Lighthouse
- Naming: ENS text records for content resolution
- Testing: Foundry framework