project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Eventick

Eventick: Secure on-chain tickets with zero fraud, identity verification on World App

Eventick

Created At

ETHGlobal Taipei

Winner of

World

World - World Pool Prize

Prize Pool

Project Description

Eventick is a fully on-chain ticketing platform built as a mini app on World Chain, designed to solve the critical problems plaguing the event ticketing industry. Our platform allows event organizers to create and manage events with customizable parameters including ticket quantity, pricing, and identity verification requirements. Each ticket is minted as an NFT on World Chain, providing cryptographic proof of authenticity that cannot be counterfeited. For attendees, EventChain offers a seamless purchasing experience directly through their World App wallet. Our platform features:

Secure QR code verification system that generates timestamped, cryptographically-signed codes that prevent ticket duplication and fraud. World ID integration for identity verification to eliminate scalping and unauthorized ticket transfers. On-chain loyalty program that rewards users for both purchasing tickets and attending events. Cross-chain compatibility allowing users to purchase tickets using various cryptocurrencies through our CrossChainBridge contract. Minimal 2% platform fee compared to the industry standard 15-25%, making tickets more affordable for fans and more profitable for organizers.

The technical architecture includes four main smart contracts:

EventTicketing.sol: Our core contract managing events, ticket sales, and verification EventTicketNFT.sol: ERC721 contract for NFT ticket issuance with ownership tracking

All validation happens on-chain through our smart contracts, ensuring complete transparency and eliminating the possibility of manipulation. The platform fully leverages MiniKit SDK for wallet connections, transactions, and UI components, creating a native experience within the World App ecosystem. EventChain represents a practical, immediate solution to real problems affecting millions of event attendees globally, while showcasing the power of blockchain technology for everyday use cases.

How it's Made

Eventick was built from the ground up as a native World App mini app, leveraging the power of World Chain for security and the MiniKit SDK for seamless integration. Here's a breakdown of our development approach: Smart Contract Architecture We developed a modular smart contract system on World Chain with four main components:

EventTicketing.sol: Our core contract manages the business logic including event creation, ticket sales, and verification. We implemented reentrancy guards using OpenZeppelin's ReentrancyGuard to prevent common attack vectors during payment processing. EventTicketNFT.sol: This ERC721-compliant contract handles ticket issuance as NFTs. We extended the standard ERC721URIStorage with a custom TicketInfo struct to store event-specific data and usage state, enabling verification without requiring additional database lookups. WorldIDVerifier.sol: To prevent scalping, we integrated identity verification using World ID. This implementation ensures that a single identity can only purchase limited tickets per event, preventing mass purchases by scalpers. CrossChainBridge.sol: We built a bridge contract that enables purchases from other blockchains, expanding our potential user base beyond just World Chain users.

MiniKit SDK Integration We used multiple MiniKit SDK features to create a native-feeling experience:

miniKit.getWalletAddresses() for one-click wallet connection miniKit.requestTransaction() for frictionless payments and contract interactions miniKit.openModal() for ticket display and QR code generation miniKit.getWeb3Provider() for blockchain interactions

QR Code Verification System Our cryptographic verification system was one of the most challenging aspects to implement. We created a time-based QR code generation system that:

Uses keccak256 hashing to create a unique, timestamped signature for each ticket Incorporates the token ID, owner address, event ID, and contract address in the hash Includes an expiration timestamp to prevent replay attacks Verifies all components on-chain through our verifyQRCode() function

Frontend Development We built the frontend using React Native with TailwindCSS for styling, ensuring a consistent look and feel with the World App ecosystem. The app communicates with our smart contracts through ethers.js, with all contract calls abstracted behind a clean API layer. Testing and Deployment We deployed our contracts to World Chain testnet for development and conducted extensive testing including:

Unit tests for each contract function using Hardhat Integration tests for the entire ticket lifecycle Security audits focusing on common vulnerabilities like reentrancy and front-running

Technical Challenges One of the biggest challenges was optimizing gas costs for ticket verification. Our initial implementation was prohibitively expensive for large events. We rewrote our verification logic to use bitwise operations and compact data structures, reducing gas costs by approximately 65%. We also implemented a novel approach to handle the loyalty points system on-chain without requiring excessive storage operations, using an efficient mapping structure that keeps gas costs predictable regardless of system usage. Hackathon Implementation Given the time constraints of the hackathon, we prioritized core functionality and security. While we have plans to expand features like secondary market controls and dynamic pricing, we focused on building a robust foundation with properly secured contracts and a smooth user experience. All contracts were deployed on World Chain, with frontend hosting utilizing IPFS for decentralization.RetryZ

background image mobile

Join the mailing list

Get the latest news and updates