Empowering creators with direct monetization and true digital ownership. Creators can monetize high-quality video content directly via smart contracts, offering Rentals (24h access) and Subscriptions/Lifetime Access. Content is securely stored on decentralized networks (IPFS/Walrus) and payments are settled in USDC/ETH.
- ⚡ Crypto Native Payments: Pay seamlessly with ETH or USDC on Base Sepolia.
- ⏳ Flexible Access Models:
- Rent: Get 24-hour access for a fraction of the price.
- Buy/Subscribe: Purchase lifetime access to support your favorite creators.
- 📚 Unified Library: A personalized dashboard to track active rentals and purchased content.
- 🛡️ Privacy First: Login securely using just your wallet via Privy.
- 💰 100% Revenue: Receive direct payments to your wallet—no middlemen.
- ⛓️ On-Chain Ownership: Your catalog and access rights are registered immutably on the blockchain.
- 🗄️ Decentralized Storage: Videos stored on Walrus / IPFS, ensuring maximum censorship resistance.
- 🖱️ Easy Uploads: Intuitive drag-and-drop studio interface for publishing.
This repository is set up as a monorepo containing both the frontend application and the smart contracts.
| Directory | Description | Technology Stack |
|---|---|---|
/frontend |
The Next.js web application for creators & consumers. | Next.js 15, Tailwind CSS, Viem, Privy, Framer Motion |
/contracts |
Smart contracts for content access, rentals & payments. | Solidity, Foundry (Forge, Cast, Anvil) |
- Node.js (v18+)
- Foundry (for contract development)
- A Web3 Wallet (Metamask, Coinbase Wallet, etc.)
- Testnet ETH on Base Sepolia (Get Faucet here)
Ensure you have Foundry installed. If not, follow instructions here.
cd contracts
forge install
forge build
forge testSee the Contracts README for deployment and additional Foundry commands.
Open a new terminal and navigate to the frontend directory:
cd frontend
npm installEnvironment Variables
Create a .env file in the frontend directory (using .env.example as a template):
# Privy Settings
NEXT_PUBLIC_PRIVY_APP_ID=your_privy_app_id
PRIVY_APP_SECRET=your_privy_app_secret
# Database & Storage
DATABASE_URL=your_postgres_database_url
NEXT_PUBLIC_LIGHTHOUSE_API_KEY=your_lighthouse_api_key
# Blockchain
NEXT_PUBLIC_RPC_URL=https://sepolia.base.org
CONTENT_SIGNING_SECRET=your_jwt_signing_secretRun Development Server
npm run devNavigate to http://localhost:3000 to explore the Content Hub!
Currently deployed on Base Sepolia:
| Contract | Address |
|---|---|
| CreatorHub | 0xc567c6112720d8190caa4e93086cd36e2ae01d37 |
| USDC (Testnet) | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
Key Capabilities:
rentContent(uint256): Pay to get 24h conditional access.subscribe(address): Monthly subscription processing.checkRental(address, uint256): On-chain verification of access rights.
Deploying the frontend is optimized with the pre-configured root vercel.json and package.json.
- Import this repository into your Vercel dashboard.
- Leave the Framework and Root Directory exactly as they are (Vercel uses the root config to build
/frontend). - Add the required Environment Variables (Privy, DB, Lighthouse, etc.).
- Click Deploy.
Contributions are always welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for details.