StreamPass
Write your story on-chain, let it live forever.
Created on 24th June 2025
•
StreamPass
Write your story on-chain, let it live forever.
The problem StreamPass solves
🧩 The Problem It Solves
The traditional film crowdfunding and reward systems suffer from several limitations:
❌ Lack of transparency: Investors have little visibility into how rewards or earnings are distributed.
❌ Centralized control: Winner selection, reward delivery, and access control are often centralized and not verifiable.
❌ Poor cross-chain and token utility: Most film platforms don't support tokenized assets or multi-chain interaction.
❌ Weak engagement incentives: There's often no fun or identity-based reward to keep investors engaged long-term.
✅ How Stream Pass Solves It
Stream Pass transforms the film funding and fan engagement process using blockchain, NFTs, and Chainlink services:
🔗 Tokenized Film Investment
Every film is linked to an ERC1155 token. Fans can invest with USDC and receive tokens that represent ownership or support.
🎁 Lottery & Reward System with Chainlink VRF
Investors are automatically entered into provably fair lotteries powered by Chainlink VRF, with rewards like NFTs, USDC, and exclusive badges.
🪪 Soulbound Badges
Winners and key contributors receive non-transferable NFT badges (SBTs), strengthening community reputation and identity.
🌐 Cross-chain Support (Chainlink CCIP)
FilmToken and USDC dividends can be transferred securely across chains like Ethereum Sepolia and Avalanche Fuji.
🔐 Secure Content Access via NFTs
Video content is encrypted with Lighthouse and unlocked only for NFT holders using Lit Protocol—ensuring true Web3-based access control.
🧠 Hybrid On-chain & Off-chain Data
Metadata and film details are stored on Supabase/IPFS and synced with smart contracts using Chainlink Functions, keeping costs low and data decentralized.
Challenges I ran into
🎲 1. Achieving Fair and Verifiable On-Chain Lotteries
The Challenge:
How to implement a lottery system that’s fair, tamper-proof, and doesn’t rely on centralized logic.
Solution:
Integrated Chainlink VRF to provide verifiable on-chain randomness. I configured subscriptions, adjusted callbackGasLimit, and carefully optimized fulfillRandomWords() to avoid gas exhaustion and failed callbacks.
🔐 2. NFT-Based Content Access Control
The Challenge:
How to restrict video access only to users holding specific NFTs or SBTs while keeping the media encrypted and decentralized.
Solution:
Used Lighthouse for encrypting and storing video files on IPFS, combined with Lit Protocol to define access control conditions. The frontend handles wallet signatures and decryption only if access conditions (e.g., NFT ownership) are met.
🌉 3. Cross-Chain Asset & Reward Synchronization
The Challenge:
How to synchronize FilmToken and USDC rewards between Ethereum Sepolia and Avalanche Fuji, including gas and LINK fee handling.
Solution:
Implemented Chainlink CCIP to transmit secure cross-chain messages and assets. I added support for both LINK and native token fee payments, and built validation mechanisms to ensure states matched across chains.
🧪 4. Debugging Chainlink Callback Failures
The Challenge:
VRF callbacks would sometimes fail silently due to insufficient gas or edge cases in data handling.
Solution:
Emitted detailed events (e.g., requestId, gasUsed, winner) to trace errors, and used Hardhat to simulate transactions and optimize gas usage. This allowed fine-tuning of callback execution.
🧱 5. Enforcing Non-Transferable Soulbound Badges
The Challenge:
How to ensure honor badges are soulbound (non-transferable) and one-per-user.
Solution:
Extended ERC721 with custom logic in _beforeTokenTransfer to block transfers, and enforced balanceOf == 0 during minting to prevent duplication.
🧰 Other Challenges
- Designing a Supabase schema that syncs with on-chain token IDs
- Separating metadata creation (off-chain) from token minting (on-chain)
- Syncing UI state with blockchain confirmations
Tracks Applied (3)
Onchain Finance
Cross-Chain Solutions
Avalanche Track
Avalanche
Technologies used
