Fractional ownership of creator future earnings. Trustless. On-chain. Fair.
The Creator Economy Has a Liquidity Crisis:
- Content creators generate $200B+ annually but lack upfront capital access
- Current options: predatory creator loans (15-25% APR), exploitative label deals (20-50% cuts), or nothing
- Payments lag 30-90 days; creators need liquidity now
- Intermediaries extract 30-70% of creator value
Why This Matters: A musician with $100k in annual streaming revenue can't access $50k upfront without giving away 30-50% of their income permanently.
Algo-Mint tokenizes creator future earnings into fractional NFTs on Algorand.
Creators mint NFTs representing a percentage of their income stream. Investors buy these NFTs and receive automatic quarterly payoutsβall enforced trustlessly by smart contracts.
1. CREATOR MINTS
ββ "I'll offer 5% of my income for 3 years"
ββ Creates 10 NFTs, sells at 1 ALGO each
ββ Raises 10 ALGO ($5 USD) instantly
2. INVESTORS BUY
ββ Buy FENFTs (Future Earning NFTs) from gallery
ββ Each NFT = fractional ownership stake
ββ Ownership recorded on-chain
3. CREATOR REPORTS INCOME (Quarterly)
ββ "I made $10,000 this quarter"
ββ Smart contract calculates payout: 10,000 Γ 5% = $500
ββ Distributed: $500 Γ· 10 NFTs = $50 per NFT
4. INVESTORS CLAIM
ββ One-click payout claim
ββ Automatic settlement (no intermediary)
ββ Zero hidden fees
5. (OPTIONAL) TRADE
ββ Sell your FENFT on secondary market
ββ Creator earns 10% royalty (incentivizes promotion)
ββ New buyer starts accumulating payouts
File: projects/hackalgo-contracts/smart_contracts/algomint/contract.py
Language: Algorand Python (PuyaPy)
Core Methods:
mint_future_nft(
totalNfts: uint64, # 10, 100, 1000 NFTs?
totalPctBps: uint64, # 5% = 500 BPS
durationYears: uint64, # 1, 3, 10 years?
startQuarter: uint64, # Q1, Q2, Q3, Q4?
salePrice: uint64, # 1 ALGO = 1_000_000 microAlgo
mbrPayment: PaymentTxn # Fund box storage
)
β Creates N ARC-19 compliant NFTs with immutable terms
buy_nft(asset_id, opt_in_txn, payment_txn)
β Investor opts into + purchases FENFT
report_income(quarter, amount_micro_algo, funding_txn)
β Creator reports quarterly income, funds payout distribution
claim_payout(asset_id)
β NFT holder claims accumulated quarterly payouts
get_pending_payout(asset_id, holder_address)
β View available payout amount
get_terms()
β Read contract config (creator, nft_count, %, duration, etc.)
Storage:
- Global State (11 keys): Creator, NFT count, terms, initialization flag
- Box Storage: Minted assets registry + per-NFT claim checkpoints
Location: projects/hackalgo-frontend/
Stack: React 18 + TypeScript + Tailwind + daisyUI
Pages:
| Page | Purpose |
|---|---|
| Creator | Mint NFTs, report quarterly income, trigger distributions |
| Gallery | Browse all FENFTs, buy, view pending payouts, claim earnings |
| Portfolio | Revenue analytics, historical performance, active offers |
| Trade | P2P secondary market with automatic royalty routing |
Key Hooks:
const {
mint_future_nft, // Creator initiates tokenization
buy_nft, // Investor purchases FENFT
report_income, // Creator reports quarterly income
claim_payout, // Claim accumulated earnings
get_pending_payout, // Check claimable amount
listNfts // Gallery listing
} = useAlgoMint()- Node.js 16+
- AlgoKit CLI
- Algorand localnet (or testnet/mainnet)
git clone <your-repo-url>
cd hackalgo
algokit project bootstrap allalgokit localnet start(Auto-funds all test accounts with 1000 ALGO)
cd projects/hackalgo-contracts
algokit project run build
algokit project deploy localnetcd ../hackalgo-frontend
npm run devVisit http://localhost:5173 π
- Go to Creator tab
- Connect wallet (use localnet/testnet account)
- Fill in:
- Total NFTs:
10 - Ownership %:
5%(for 3 years) - Sale price:
1ALGO per NFT
- Total NFTs:
- Click "Mint Future NFTs"
- Sign transaction
- β 10 ARC-19 NFTs created + stored in contract boxes
- Switch wallet (or use different account) β Gallery tab
- See "10 FENFTs Available for Sale"
- Click "Buy" on asset #1001
- Sign:
- Opt-in transaction (join NFT)
- Payment transaction (1 ALGO β creator)
- β NFT transferred to your wallet
- Switch back to creator wallet β Creator tab
- Fill in:
- Quarter:
Q1 2026 - Income:
$10,000(in USD or ALGO equivalent)
- Quarter:
- Enter payout amount:
$500(5% of $10,000) - Click "Report Income β Distribute"
- Sign transaction (funds payout pool)
- β Payout per NFT = $500 Γ· 10 = $50 each
- Switch investor wallet β Gallery tab
- See "Pending: $50.00" for your NFT
- Click "Claim Payout"
- Sign transaction
- β $50 (in microAlgos) sent to your wallet
- Payout checkpoint updated for next quarter
- Go to Portfolio tab
- See:
- Total platform revenue: $10,000
- Average yield: 5% annually
- Revenue distribution by quarter
- Live activity feed (MINT β BUY β REPORT β CLAIM)
β Smart Contract Security
- Creator-only income reporting (signed transactions required)
- Immutable supply cap (can't mint additional NFTs after initialization)
- Time-bounded offerings (3-year default expiration)
- Automatic payout enforcement (no manual withdrawal risk)
- Box storage for scalability (supports 100+ NFT holders)
β Standards Compliance
- ARC-19: NFT metadata standard
- ARC-4: Application Binary Interface
- ARC-56: App specification format
- AVM: Runs on Algorand Virtual Machine (auditable bytecode)
β No Rug-Pull Risk
- Smart contract is immutable once deployed
- Creator cannot withdraw payout funds (locked for distribution)
- All terms encoded in contract state
- Verifiable on-chain history
- Album revenue share: "5% of streaming income for 2 years"
- Tour funding: "10% of ticket sales for 1 year"
- Album pre-sales: Raise capital before release
- YouTube revenue: "3% of ad revenue + sponsorships for 3 years"
- Podcast sponsors: "50% of sponsor fees for 18 months"
- Patreon funding: Guarantee monthly income
- NFT collection royalties: "7% of secondary sales for 5 years"
- Licensing income: "2% of usage fees for 3 years"
- Commission revenue: "10% of future commissions"
- Endorsement deals: "4% of sponsorship income for 4 years"
- Merchandise: "6% of merch sales royalties for 5 years"
- Image rights: Monetize likeness usage
| Feature | Benefit |
|---|---|
| Fractionalization | 1 creator β 10-1000 investor owners |
| Automation | Quarterly payouts happen automatically |
| Transparency | All transactions on-chain, fully auditable |
| Flexibility | Creators set %, duration, price |
| Secondary Market | Early investors can trade positions |
| Creator Royalties | 10% fee on secondary trades |
| Zero Intermediaries | Smart contracts enforce rules |
| Real-Time Settlement | Payouts processed instantly (no lag) |
- Mint NFTs (contract state updated)
- Buy NFTs (opt-in + payment flow)
- Report income (global state updated)
- Claim payouts (individual payout claims work)
- View pending payouts (accurate calculation)
- Secondary market trading (works locally)
- Portfolio analytics (revenue visualization)
- Wallet switching (multi-account testing)
- Box storage (handles 100+ NFTs)
- Testnet deployment (no errors)
- Secondary market is demo/mock (uses local state, not real trading)
- Income reporting assumes creator honesty (no oracle integration)
- USD pricing is manual conversion (no price feed)
- No KYC/AML verification
- Single contract per creator (not pooled)
- Chainlink/Pyth oracle integration for real income verification
- Decentralized disputes (DAO voting on income claims)
- Mobile app (React Native)
- Mainnet launch with liquidity incentives
- Creator verification badges
- Multi-signature governance for contract upgrades
- Zero-knowledge proofs for private income reporting
hackalgo/
βββ projects/
β βββ hackalgo-contracts/
β β βββ smart_contracts/algomint/
β β β βββ contract.py # Main smart contract
β β β βββ contract.json # ARC-56 spec
β β β βββ ...
β β βββ tests/
β β βββ algokit.toml
β β βββ pyproject.toml
β β
β βββ hackalgo-frontend/
β βββ src/
β β βββ hooks/useAlgoMint.ts # Contract interaction hook
β β βββ pages/
β β β βββ CreatorPage.tsx
β β β βββ GalleryPage.tsx
β β β βββ PortfolioPage.tsx
β β β βββ TradePage.tsx
β β βββ components/
β β βββ App.tsx
β β βββ main.tsx
β βββ index.html
β βββ package.json
β βββ vite.config.ts
β βββ tailwind.config.js
β
βββ algokit.toml # Root workspace config
βββ README.md # This file
algokit project deploy localnetAuto-detects contract, deploys to localnet, returns app ID.
export DEPLOYER_MNEMONIC="your 25-word testnet mnemonic"
algokit project deploy testnetRequires testnet ALGO: https://bank.testnet.algorand.network/
export DEPLOYER_MNEMONIC="your 25-word mainnet mnemonic"
algokit project deploy mainnet- Open
http://localhost:5173 - Connect Pera Wallet (or testnet/localnet wallet)
- Navigate: Creator β Gallery β Portfolio β Trade
- Sign transactions as prompted
# Check contract state
algokit app state read --app-id <APP_ID>
# View box storage
algokit app box-read --app-id <APP_ID> --name "minted_assets"
# Call method directly (via algokit.toml)
algokit project run method -m mint_future_nft --args ...After 1 Creator, 3 Investors, 2 Quarters:
Total NFTs Created: 10
Total Revenue: $20,000 (reported across 2 quarters)
Total Payouts: $1,000 (5% of $20,000)
Avg Yield per NFT: 5% annually
Platform Fee: 2% (on distributions)
Creator Royalties: $0 (no secondary trades yet)
Active Investors: 3
Contract Balance: ~2 ALGO (for MBR + future payouts)
What We Built:
- β Production-grade Algorand smart contract (Python)
- β Full-stack dApp (React + TypeScript)
- β Wallet integration (TxnLab use-wallet)
- β Box storage for scalability
- β ARC-19 NFT compliance
- β Real-world problem solving
Skills Demonstrated:
- Smart contract development
- Blockchain design patterns
- Full-stack Web3 development
- Algorand ecosystem expertise
- UI/UX for financial dApps
- DevOps & deployment
Hackathon contributions welcome!
Areas for Enhancement:
- Secondary Market: Implement AMM or order book
- Analytics: Add Dune Dashboard integration
- Mobile: React Native wrapper
- Testing: Additional edge cases & stress tests
- Docs: API documentation, architecture diagrams
Questions?
- Check
/docsfor architecture diagrams - Review contract comments in
contract.py - Test locally first before testnet
Bugs?
- Create an issue with:
- Steps to reproduce
- Expected vs. actual behavior
- Transaction ID (if applicable)
- Event: Hack Sprint
- Track: Blockchain / Creator Economy
- Network: Algorand (AVM)
- Smart Contract: PuyaPy
- Frontend: React 18 + TypeScript
- Duration: 24 hours
- Novel Use Case: First trustless creator revenue tokenization on Algorand
- End-to-End: Smart contract + frontend + production-ready
- Real-World: Solves actual problem for creators
- Scalable: Box storage + fractional ownership design
- Auditable: All terms on-chain, fully transparent
Live Testnet: https://algo-mint.vercel.app/ GitHub: https://github.com/sodium16/hackalgo Demo Video: https://drive.google.com/file/d/1jz9DNhD8g6X_GznQeJNH-cWKbkjyyCJi/view?usp=drive_link
Built with β€οΈ on Algorand | Trustless Creator Finance