Starkpass: The first decentralized ticketing system for Starknet events. Buy tickets with crypto, lower fees than L1 and prove purchases with Sismo ZK proofs, all powered by Cairo contracts.
Starkpass brings Starknet IRL by letting you buy tickets for your favourite events directly on-chain, using Starknet L2, Argent and Sismo.
For users: Starknet makes buying event tickets cheap, convenient and verifiable.
For organizers: create an on-chain ticketing system for your events.
The project revolves around Starknet and the new Cairo 1.0 contracts. This creates and manages the "ticket contracts" that are defined by the event organizer and let customers buy event tickets.
We use Sismo Connect to authenticate users in the dApp and provide a provable purchase confirmations that preserve user privacy. We do this by storing a mapping of anonimized identities generated by Sismo to the "ticket contracts" that these users have bought tickets for. We then store this mapping in a Redis DB and retrieve it on login to reflect the state of the events for every user. Note that the Redis DB is a convenience solution used for this hackathon and all data could be retrieved on-chain.
The dApp interface was built with Next.js and integrates Argent X. This setup lets us offer a secure, private, and efficient ticketing system. The combination of Cairo contracts deployed on Starknet, Argent X, and Sismo's ZK proofs resulted in a system that is cost-effective, secure, and flexible.
To tie this together, we use JavaScript (Node.js) for the backend and the Web3.js library for interacting with Starknet (starknet.js and @argent/get-starknet) and Sismo (@sismo-core libraries).