Event ticketing
Tickets That Can't Be Duplicated, Scalped Blind, or Faked at the Door.
Issue tickets as single-use Script tokens, with one-scan redemption, resale caps, and instant validation, with the check-in API and app generated alongside the contract.

The context
Modelling the ticket as a single-use token makes redemption a state change rather than a lookup: once it's spent, it's spent, and anyone can verify that independently.
What you get
- Ticket as a spendable token
- Redemption is modelled as spending the token, so a ticket cannot be validly used twice.
- Resale caps and royalties
- Price ceilings and royalties on resale are enforced in the transfer rules.
- Simulate issue, resell, redeem
- Walk the whole lifecycle in simulation, including the resale paths you hope nobody finds.
The part that matters
Try to redeem the same ticket twice, here, not at the door.
- The unlocking script is the turnstile
- Redemption is spending the ticket. The Contract Arguments panel is where you supply the signature and prove that path behaves.
- Run the attack yourself
- Feed it a second redemption of an already-spent ticket and watch it fail. That is the guarantee you are actually selling.
- Then the resale paths
- Same loop for transfers above your price cap. Most ticketing surprises are in the resale rules, not the happy path.


Inside the IDE

One scan, provablyOperational note
Door-side connectivity and offline validation are real deployment questions worth designing with your engineer. The contract logic doesn't solve venue Wi-Fi outages by itself.
Try it now
Run it in the browser before you sign up for anything.
Get the event ticketing starter kit
A prompt pack and worked example for this use case, so you start from something that already runs rather than a blank editor.
This form isn't connected yet.
Set NEXT_PUBLIC_FORM_STARTER_KIT to a Google Form share link and this section starts collecting submissions. No code change needed.
The starter kit content is still being authored per use case. Join and we'll send it the moment yours is ready, rather than mailing you a placeholder.
Frequently asked questions
If something you need to know isn't here, just ask. We'd rather answer directly than leave you guessing.
That's the honest constraint above, and it's a design question rather than a contract question. Offline validation with later reconciliation is a normal pattern, but it needs deciding deliberately with your engineer. The Script layer doesn't solve a dead uplink on its own.
Tickets That Can't Be Duplicated, Scalped Blind, or Faked at the Door.
Issue tickets as single-use Script tokens, with one-scan redemption, resale caps, and instant validation, with the check-in API and app generated alongside the contract.
Explore other use cases