

ZkTickets - An Event Ticketing Protocol using ZKP
Decentralized Event Ticketing protocol using Zero-Knowledge Proofs. Sell Tickets for events for crypto and verify them in person using the mobile app. Transfer, sell or refund tickets using the webapp.
The project was born out of interest to create a ticketing solution like Resident Advisor without a backend, that supports decentralized hosting.
I develop crypto note based technologies and this fits the use-case.
I purchased some tickets for an event a few days before I started development and all it was is payment and I received a QR code that was scanned at the entrance of the venue. This seemed quite an interesting challenge to implement as a decentralized crypto note protocol so I decided to do it.
ZKTickets is built using Circom, Solidity, Hardhat, Parcel and Vanilla Typescript, HTML and CSS for the Web.
The ticket scanning is done with a custom Android app using Native/Webview technologies.
The Webapp allows you to create an event and sell tickets for it.
The tickets are printable PDFs with a QR code and the verification works with zero-knowledge proofs.
For scanning tickets at venues I developed an android app that is a non-custodial wallet and ticket scanner application.
It's possible to extend the protocol by anyone to do airdrop tokens during ticket scanning, or perform other actions.
The ticketing protocol allows transfer, resale and refunding of tickets and contains an open ticket market. Ticket scalping is disincentivized with a token staking protocol.
The event creator can allow ticket resale price speculation when creating an event, then the tickets purchased can be resold at a custom price by addresses that stake tokens. Staking is for sybill resistance to protect from ticket scalping and it's a pro feature.
You can find more explanations on the forums: https://forum.trondao.org/t/zktickets-an-event-ticketing-protocol-using-zkp/16802
Smart contracts are verified, on Donau Testnet: ZkTickets: (The main contract) https://testnet.bttcscan.com/address/0xa186deff34278c32d2176f6b90e1b2a3fbd824f9
ZkSnark verifier: (created with circom) https://testnet.bttcscan.com/address/0xC88ec599D643D84C7BE4315087b23581ac854064#code
Ticket Pro token: (erc-20 token) https://testnet.bttcscan.com/address/0x305c9d8599d4e6d85ad0c1b4d2de294b6efb82a2#code
ProStaking: (staking contract to unlock custom price ticket resales) https://testnet.bttcscan.com/address/0xddd5455619eee9a6ad5a8cbbd668db15a4ab3710
Sideload the android app https://btt.zktickets.xyz/up_/apk/ZkTickets_Scanner_0.0.1_release.apk It's a non-custodial wallet and ticket scanner.