At Unlock, we built a protocol for memberships!
Tickets are a special kind of membership: non-recurring, earned or purchased, and the Unlock Protocol has been used to power tickets at many events in the web3 space, from EthCC to Dappcon through ETHTaipei, ETHWarsaw, and many side events at your favorite conferences. Attendees who use Unlock do not need to have their own wallet (even though they are encouraged to if they are attending an Ethereum-related conference!), and our front-end supports in any ERC20 on many L2 (Optimism, Arbitrum, Base, Scroll, ZkSync…), as well as Ethereum Mainnet. We also offer a system where people can pay with cards (all brands supported by Stripe).
Why NFT tickets?
Each ticket is an NFT, meaning users can “prove” that they own a valid ticket by connecting their wallet to any site or application. They an also generate a QR code to “prove” the validity of their ticket (a regular phone with a camera can be used to scan it!) in physical spaces. It is also possible to create NFC bagdes instead of QR codes. Being on-chain is the only way to guarantee full interoperability where users don’t have to “worry” about keep track of credentials themselves and 3rd party applications can just use the ERC721
balanceOf function to check if someone owns a valid ticket.
The Unlock “stack”
Unlock, at its core is a protocol, which means that it is extensible and can be used with any front-end.
It is also possible to easily add a mechanism to “control” the flow of purchases. For example, our contracts have “hooks” that can be used to create allow-lists and passwords (onchain, but safe!) or even have a constant but “slow” release of tickets that avoid congestion and gas wars.
Many events have multiple “classes” of tickets, and that is trivial to achieve with Unlock through the use of multiple contracts, for early-birds, general attendees, sponsors, speakers… etc.
Finally, for us, being on chain does not mean “immutability” (but it does mean accountability). Organizers can cancel tickets, re-allocate them, mint more… etc at any point, like they would do for a typical offchain ticketing application.
The Unlock Labs team (who built the core protocol) also built a front-end event application that can be used to manage attendees. It also provides a “checkout” interface that can be used to collect attendee details and allow them to send purchase transactions. The contract(s) can be deployed on any chain and specify their “default” currency (either native ETH or any ERC20 on said chain). Our checkout UI supports both “swap and pay”, which lets a user swap any token in their wallet for the currency (ie. a user can pay with Ether which gets swapped in USDC and eventually into a ticket in a single transaction), or even “cross-chain purchase” which lets a user send a transaction from a different network L1 or L2 and get their NFT attached to their wallet address on the chain of the contract. In true crypto/open-source fashion, we are using other ecosystem players (Uniswap and Decent) to provide these things: composability FTW!
Finally, we also support fiat (card, apple/google paye) payments using Stripe, or Crossmint’s powerful APIs.
Choosing a ticketing provider for Devcon is an extremely impactful decision. We believe Unlock’s ticketing solution is a great solution, and we would love to see the Ethereum Foundation provide a description of needs, as well as a description of the process to select the final solution in order to guarantee a free and transparent process, as well as accountability for the providers!