EZ-Pass revolutionizes ticketing with blockchain, creating secure NFT tickets using #Ethereum, #Nillion, #Celo, #Hyperbollic, #WorldChain, and MiniApp.
Prize Pool
Project Name: EZ-Pass - Decentralized Ticketing Platform
Overview
EZ-Pass is a decentralized application (dApp) built on the Ethereum blockchain, designed to revolutionize ticketing by leveraging the power of blockchain technology. It enables merchants to create, manage, and sell tickets as NFTs (Non-Fungible Tokens), ensuring security, transparency, and a seamless user experience. The platform also allows for on-chain ticket resales, ensuring authenticity and equitable revenue distribution.
Problem Statement
Traditional ticketing systems struggle with long queues, messy registrations, and poor privacy protections online. Merchants also lose revenue when early bird tickets are resold for profit. EZ-Pass simplifies ticketing with secure purchases, streamlined validation, and ticket transfers that return a percentage of resale value to merchants. Tickets can also be made soulbound to prevent resale.
Solution
EZ-Pass addresses these issues by:
Minting tickets as NFTs, ensuring uniqueness and tamper-proof authenticity.
Encrypting ticket data for secure access, visible only to the rightful owner.
Enabling merchants to create customizable campaigns with ease.
Supporting on-chain resale of tickets while preserving data integrity.
Using Nillion's Store Secret API and Retrieve Secret API for securely storing and retrieving sensitive data entirely on-chain.
Employing Nillion's Dana app to redeem tickets and validate their owners.
Generating NFT images with Hyperbolic, based on the event description.
Key Features
World App Smart Contract Interaction
Smart contracts are seamlessly integrated with the World App, allowing direct interaction for ticket purchasing and redemption.
Merchant Campaign Management
Merchants can create campaigns with specific titles, descriptions, ticket prices, validity dates, and other parameters. The Hyperbolic integration allows merchants to generate event-specific NFTs directly within the campaign creation form, making it easier to enhance the visual appeal of tickets.
Pre-issued tickets can be uploaded as CSV files, which are encrypted while uploading using Nillion's Store Secret API and securely stored on-chain. The IPFS upload functionality is also integrated into the campaign form, allowing merchants to store ticket-related metadata easily.
Customer Experience
Customers can connect their wallets to browse and purchase tickets from available campaigns.
Tickets are minted as NFTs with metadata, including:
QR codes
Event details
Memories of the event generated using Hyperbolic’s API.
Redeeming tickets:
Tickets must pass through Nillion’s API for validation. Additionally, a Nillion computation call is initiated from the frontend during the redemption process, ensuring secure and reliable verification.
Nillion’s API ensures secure redemption and makes the QR code visible.
Redemption rules depend on the campaign set by the merchant.
Users can resell tickets on-chain, with a merchant-defined transfer fee applied to resales.
Security and Transparency
Sensitive ticket data is stored and retrieved securely using Nillion’s Store Secret and Retrieve Secret APIs, all on-chain, integrated smoothly into the ticketing flow to maintain a streamlined user experience.
Redemption is validated through Nillion's blind Dana app, providing proof of redemption while maintaining privacy.
Resale functionality includes transparency regarding transfer fees and ticket authenticity.
Advanced NFT Integration
Each NFT includes a dynamically generated image using Hyperbolic, based on the event description, creating a unique and visually engaging representation.
Metadata updates are triggered efficiently to minimize gas costs.
Verification and Redemption
Nillion’s Dana app enables ticket redemption and owner validation, ensuring seamless and secure transactions.
Merchants and partners can verify tickets using QR codes, which are initially the merchant's standard QR codes, but after redemption, they become visible on the chain, including on-chain and encrypted metadata.
Technical Stack
Blockchain: Ethereum, Celo, Solidity, Hardhat
Frontend: React
Backend: Flask API for communicating with Nillion's blind Dana app , integrated with Celo for deployment and interaction, Node.js
Storage: IPFS for storing NFT metadata and assets
Workflow
Merchant Onboarding
Merchants open the app, log in with their wallet, and can start selling tickets.
Campaigns are created via a user-friendly dashboard.
Ticket Purchase
Customers connect their wallets and browse available campaigns.
Ticket purchases are executed via smart contracts, with the NFT minted immediately.
On-Chain Resale
Customers can resell tickets on-chain, adhering to merchant-defined terms.
Verification and Redemption
Nillion’s Dana app enables ticket redemption and owner validation, ensuring seamless and secure transactions.
Nillion's storage and retrieval take care of the security of the sensitive ticket QR codes in a non-invasive manner, which can be easily implemented into current operating ticketing systems, allowing merchants and partners to verify tickets.
Use Cases
Event Management
Concerts, festivals, and sports events where ticket authenticity and resale management are critical.
Transportation
Bus and train passes with customizable expiry dates and verification methods.
Tourism
Museum and city passes that integrate additional features like guided tours.
Monetization
A small platform fee on each ticket sale or resale.
Optional premium features for merchants, such as advanced analytics and priority campaign placement.
Why EZ-Pass?
EZ-Pass is tailored to meet the needs of both large enterprises and SMEs. By integrating blockchain technology, it removes the inefficiencies of traditional ticketing systems and provides a scalable, transparent solution for managing tickets.
Current Status
The project is under active development as part of ETHGlobal Bangkok. The following milestones have been achieved:
Nillion Integration: Fully integrated Nillion's Store Secret API and Retrieve Secret API to securely store and retrieve sensitive data on-chain. Additionally, ticket redemption is validated through Nillion’s blind Dana app.
Mini App and Wallet Integration: Built a Mini App using MiniKit, successfully integrated it with World ID/World App Wallet, and deployed relevant smart contracts to World Chain.
Celo Integration: Integrated with Celo, focusing on responsive web app design with a user-friendly experience. Successfully integrated with the Celo-Composer MiniPay template.
Future Roadmap
Phase 1: Launch the core ticketing platform, onboard initial merchants, and fully integrate World Chain.
Phase 2: Expand the platform to cover additional industries, such as transportation and tourism, leveraging Nillion and Starknet integrations.
Phase 3: Introduce advanced analytics and reporting tools for merchants to help them better understand ticket sales and customer behavior.
Phase 4: Explore cross-chain compatibility for broader adoption, targeting other ecosystems beyond Ethereum, such as Starknet and Celo.
EZ-Pass is not just a ticketing platform; it’s a gateway to a decentralized future for events and beyond. With our commitment to integrating the latest blockchain technologies, we aim to transform how the world experiences ticketing. Join us as we revolutionize this industry, ensuring transparency, security, and a great user experience.
How It's Made
EZ-Pass is a decentralized ticketing platform developed by leveraging multiple cutting-edge blockchain technologies to create a seamless, transparent, and secure user experience. Here, we break down how each component comes together:
Ethereum & Celo: We built the core of our ticketing platform on Ethereum for its well-established ecosystem, and integrated with Celo to make ticket purchases accessible on mobile devices. Solidity and Hardhat are the primary tools used to develop and deploy our smart contracts.
Nillion Integration: The Nillion Store Secret and Retrieve Secret APIs play a key role in securely storing and accessing ticket data on-chain. By encrypting ticket information during uploads, we can ensure that sensitive details remain secure yet easily retrievable by the rightful owner. This helps us maintain a non-invasive storage solution for ticket metadata, critical for privacy.
Smart Contracts: The ticketing process revolves around the PurchaseOrder and NFTTicket smart contracts, which handle ticket minting, sales, and ownership transfers. We designed these contracts to include functionalities such as resale and merchant-defined transfer fees.
World App Integration: We integrated with World ID and World App Wallet to provide users with seamless interactions while purchasing and redeeming tickets. This integration ensures the security and authenticity of transactions, making use of MiniKit for building a responsive Mini App for wallet users.
Frontend: We used React for building the frontend interface of EZ-Pass, ensuring a user-friendly and dynamic experience. MobX was employed for state management, enabling smooth, reactive data flow across components and efficient handling of UI changes.
Backend: The backend is built with Flask and Node.js, offering different services. Flask powers the API that connects to Nillion's Dana app for secure ticket redemption and validation. Node.js facilitates communication with blockchain nodes and manages ticket metadata interaction via IPFS.
Hyperbolic API: We integrated Hyperbolic to dynamically generate visually engaging images for each NFT based on event descriptions. When tickets are minted, this API ensures that each NFT image is unique and aligns with the theme of the event. The image generation is managed via an asynchronous queue system, specifically using AWS SQS with Lambda, which allows for efficient, cost-effective handling of high volumes of requests.
IPFS: Ticket-related metadata, such as event details, QR codes, and NFT images, are stored on IPFS for decentralization and immutability. This ensures that all NFT metadata remains accessible and tamper-proof, adding an additional layer of transparency and trust.
Nillion's Dana App: For ticket redemption and owner validation, we integrated Nillion's Dana app, which enables a secure, privacy-preserving method to verify ownership and redemption. The redemption process involves using Nillion’s computation call, initiated from the frontend, providing proof of redemption while safeguarding user privacy.
We are also actively exploring cross-chain compatibility using Starknet, aiming for broader adoption across different blockchain ecosystems. This will ensure that our ticketing solution is flexible and scalable, accommodating future developments in the blockchain space.
Seamless and non-disruptive integration: Thanks to Nillion's secure APIs and modular architecture, EZ-Pass can be easily incorporated into existing merchant systems, providing a hassle-free adoption process.
Dynamic Fee Calculation: The system dynamically calculates merchant-defined transfer fees during ticket resale, taking into account gas fees for minting and the overall cost structure. Customers can easily define contract terms according to their requirements, ensuring a simple and customizable process.
Partner Technologies & Their Benefits
Nillion: Using Nillion's services, we can maintain a high level of security and privacy for sensitive ticket data without compromising the user experience. It ensures a secure end-to-end ticketing flow that could be smoothly integrated into merchants' existing systems.
Celo & World Chain: These partnerships allowed us to make our ticketing platform mobile-first, broadening accessibility and user reach, especially in developing regions where mobile phones are more prevalent than computers.
EZ-Pass is truly a fusion of decentralized and centralized solutions, utilizing both blockchain innovations and traditional technologies to create a sophisticated, user-focused ticketing platform.