EthTix

Ticketing gets easy - just say it to the AI agent and it does it effortlessly.

EthTix

Created At

Open Agents

Project Description

EthTix is an AI-powered event ticketing platform that transforms how users discover, book, and manage live event tickets using blockchain technology. At its core, EthTix combines a conversational AI agent (powered by Groq's Llama 3.3 70B) with on-chain ERC-721 NFT ticketing on Ethereum Sepolia to deliver a seamless, end-to-end event experience.

Users interact with EthTix through a natural language chat interface — simply describe what you're looking for (e.g., "Find crypto events in San Francisco this weekend under $50") and the AI agent handles the rest. It fetches real events from the Luma API, scores and ranks them based on your preferences (budget, genre, date), checks your Google Calendar for scheduling conflicts, and presents the best matches. Once you pick an event, the agent orchestrates the entire booking pipeline: minting an ERC-721 NFT ticket to your wallet, creating a Google Calendar event, and sending a styled confirmation email with on-chain details and Etherscan links.

Each ticket is a fully on-chain NFT managed by a custom TicketManager smart contract built with OpenZeppelin's ERC-721, Ownable, and ReentrancyGuard. The contract supports paid and free ticket minting, on-chain ticket verification, and check-in redemption — making it suitable for real-world event entry. A dedicated verification page lets event organizers scan QR codes or enter Token IDs to validate and redeem tickets at the door.

The platform features a guided onboarding flow (wallet connection + platform fee payment), Google OAuth calendar integration for conflict-free booking, and a tool-call tracking sidebar that shows the AI agent's reasoning in real time. The tech stack includes Next.js 15, React 19, Wagmi/Viem for Web3 interactions, Tailwind CSS, Hardhat for contract development, and Resend for transactional email. EthTix bridges the gap between AI-driven UX and decentralized infrastructure, making event ticketing trustless, transparent, and effortless.

How it's Made

EthTix is built as a full-stack dApp using Next.js 15 with the App Router and React 19 for both the frontend UI and backend API routes, all written in TypeScript. The frontend is styled with Tailwind CSS and features a chat-based interface rendered with React Markdown, QR code generation via React QR Code, and real-time agent tool-call tracking in a sidebar panel.

Web3 integration is handled by Wagmi v2.19 and Viem v2.48 for wallet connection, transaction signing, and contract interaction, with TanStack React Query managing async state. The smart contract — TicketManager.sol — is written in Solidity ^0.8.27 using OpenZeppelin libraries (ERC-721URIStorage, Ownable, ReentrancyGuard) and developed/deployed with Hardhat 3.4 to the Ethereum Sepolia testnet. Each ticket is a fully on-chain ERC-721 NFT with metadata (event name, venue, date, attendee, price, status) stored in the contract and a tokenURI served by our own /api/ticket-metadata endpoint.

The AI backbone runs on Groq SDK calling Llama 3.3 70B as the conversational agent. We built a custom agentic pipeline in /agent with a structured system prompt and tool-calling architecture — the agent has access to tools for event fetching, event matching/scoring, calendar checking, and booking execution. Event discovery hits the Luma API to pull real events by location and category, with a fallback mock-event system so the demo never breaks if the API is down. The matching tool uses a custom scoring algorithm weighting budget fit, genre relevance, calendar conflicts, and temporal preference.

Google Calendar integration uses OAuth 2.0 with a full auth flow (consent → callback → token exchange) to check attendee availability via the FreeBusy API before booking, then creates calendar events with invitations post-booking. Email confirmations are sent through Resend with custom dark-themed HTML templates containing on-chain details, transaction hashes, and Etherscan links.

One notably hacky piece: the booking pipeline is split between client and server — paid tickets are minted via the user's wallet (MetaMask signs the transaction client-side using Wagmi's writeContract), while free tickets are minted server-side using a private key with Ethers.js, letting us offer gasless free-event bookings. The contract handles excess ETH refunds automatically via reentrancy-safe logic. We also built a dedicated /verify page where event organizers can validate and redeem tickets on-chain by Token ID or QR scan, calling verifyTicket() and redeemTicket() directly on the contract — making the entire check-in flow trustless and decentralized.

background image mobile

Join the mailing list

Get the latest news and updates