Inspiration
Campus events suffer from ticket scalping (300-500% markups), fake tickets, 15-20% platform fees, and weeks-long refund processes. We built AlgoTicket to bring transparency, fairness, and instant settlement to student event ticketing using Algorand blockchain.
What it does
Primary Sales: Event organizers mint tickets as Algorand NFTs, students buy with instant settlement Anti-Scalping Marketplace: Peer-to-peer resales capped at 150% original price by smart contract Automatic Royalties: Organizers earn 5% on every resale, platform takes 2%, seller gets the rest Tiered Refunds: Time-based refund system (90% → 70% → 50% → 25% as event approaches)
How we built it
Smart Contracts (PyTeal on Algorand): EventFactory.py: Creates events, mints ticket NFTs (ARC-19 standard) Marketplace.py: Handles resales with atomic 5-transaction groups (buyer pays → seller/organizer/platform receive → NFT transfers) RefundManager.py: Time-based refund logic with on-chain validation
Frontend (Next.js 14 + TypeScript): @txnlab/use-wallet for Pera/Defly wallet integration algosdk for blockchain interactions qrcode.react for ticket QR generation, html5-qrcode for scanning TailwindCSS + shadcn/ui components for responsive UI
Backend & Storage: Algorand Indexer API to query transaction history and marketplace listings IPFS via Pinata for event images and NFT metadata Redis for caching active listings Next.js API routes for off-chain data aggregation
Key Architecture: User connects wallet → signs transactions Smart contract validates (price caps, ownership, timing) Atomic groups ensure all payments/transfers succeed together IPFS stores metadata, blockchain stores ownership Indexer provides real-time marketplace data
Challenges we ran into
Atomic Group Complexity: Creating 5-transaction atomic groups (payment + asset transfers + app calls) took 2 days of debugging. Solution: Proper transaction ordering and fee calculation. Price Cap Enforcement: Preventing scalping without centralized validation. Solution: On-chain validation in smart contract—mathematically impossible to list above max price. Wallet Integration: Different wallet APIs were inconsistent. Solution: @txnlab/use-wallet abstracted differences. IPFS Reliability: Gateways were slow/unavailable. Solution: Paid Pinata pinning + multiple gateway fallbacks + Redis caching.
Accomplishments that we're proud of
Atomic transaction groups: 5 simultaneous payments/transfers that all succeed or all fail—no escrow needed Unbreakable anti-scalping: Smart contract enforces 150% price cap; mathematically impossible to bypass $0.001 fees: 99% cheaper than Ethereum, making blockchain actually accessible to students Soulbound Attendance NFTs: Non-transferable proof-of-attendance building verifiable on-chain reputation Automatic royalty splits: Organizers earn 5% on every resale forever—passive income stream
What we learned
Atomic transactions enable complex multi-party payments in one secure operation Low fees are critical: $0.001 vs $50+ makes adoption feasible PyTeal's stack-based programming requires different mental model than traditional languages Users don't care about blockchain—they care about solving scalping, fake tickets, and high fees Trust through transparency: Showing exact royalty breakdowns upfront increases conversions Mobile-first mandatory: 80% of students buy tickets on phones
What's next for AlgoEvents
Multi-event season passes as bundled NFTs Group ticket splitting via smart contract pools Push notifications for sales/price drops Cross-chain bridge to accept ETH/MATIC DAO governance for platform decisions Privacy-preserving analytics dashboard Loyalty token rewards for frequent attendees
Built With
- algosdk
- arc-19-nfts-frontend:-next.js-14
- blockchain:-algorand-testnet
- defly-storage:-ipfs-(pinata)
- pera-wallet
- pyteal
- qrcode.react
- redis-tools:-algorand-indexer-api
- shadcn/ui-wallet:-@txnlab/use-wallet
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.