FreeholdIP

Running your own ticketing: a guide for event organizers

FreeholdIP lets you sell tickets on your own payment account, deliver passes your fans hold on their phones with nothing to install, and run gates that answer in about a second with no wifi and no cell signal. You run it yourself. Ticket money goes straight to your bank. We never touch it.

The shape of it, in one minute

You create your event in the console: ticket types, prices, capacity. Fans buy from your public event page, paying through your own Stripe account, or through any checkout you already use. Either way, each buyer gets a link, and opening that link on their phone is their pass: a card with a moving code, no app, no account to make, no password. At the event, your gate crew scans passes with an ordinary phone. A pass that is genuine and unused reads green. A screenshot of someone else's pass fails. A pass that already went through comes up ALREADY USED, with who punched it, when, and at which gate. And the gate keeps working when the connectivity dies, because it carries everything it needs.

What we never hold: your ticket revenue (it moves through your own payment account), and your attendees' personal information (there is no attendee database in our system to leak; we never collect one).

Step 1: Sign in to your console

Your console lives at issue.freeholdip.com. You sign in with your organization's identity name and password (and, on a new device, your keystore file). Don't have an organization identity yet? Apply at freeholdip.com/issuers; approval sets up your identity and your brand page. Want to try everything in a sandbox first? Ask us for a demo login.

Step 2: Connect your Stripe (to sell from your page)

On the console's Events & Ticketing page you'll find the Payments panel. It wants one thing: a restricted API key from your own Stripe account.

  1. In your Stripe dashboard: Developers → API keys → Create restricted key.
  2. Grant it exactly one permission: Checkout Sessions: Write. Nothing else.
  3. Paste it into the Payments panel and save. The panel shows a masked confirmation.

That restricted key can start a checkout and nothing more. It cannot read your balance, move money, or issue refunds. Sales made with it settle into your Stripe account and your bank on Stripe's normal schedule.

The webhook (recommended, five more minutes)

The Payments panel shows your personal webhook address. In Stripe: Developers → Webhooks → Add endpoint, paste that address, select the events checkout.session.completed and charge.refunded, and copy the signing secret (it starts whsec_) back into the panel. This lets Stripe confirm a sale even if the buyer closes their tab, and automatically deactivates the pass of a refunded ticket that was never claimed.

Step 3: Create your event

Same page, Create / update an event: give it a short event code (like SPRINGFEST2027), a name, venue, dates, and overall capacity. Then add your ticket types: GA, VIP, camping, early entry, whatever your event sells. Each type has:

Mark the event Listed when you're ready for it to appear on your public event page at freeholdip.com/b/YOURBRAND/events. Until then it's invisible to the public while you set up.

Step 4: Sell tickets, three ways (use any mix)

  1. From your page: priced types sell right on your public event page through your Stripe. The buyer pays, lands on their pass claim automatically, and the pass is on their phone within the minute.
  2. Through your existing checkout: keep selling wherever you sell today. In the console, batch-generate claim links (one per ticket, single-use) and place one in each buyer's confirmation email. Their link becomes their pass the same way.
  3. At the door or box office: print claim links as QR cards. Hand one over with a cash sale; the buyer scans it and walks away with the pass on their phone.

Step 5: What your fan experiences

They tap the link. If it's their first FreeholdIP pass, their phone offers to create a free profile. It takes about sixty seconds, nothing to install, and the pass attaches to it. The pass is a card in their phone's browser with a code that refreshes every few seconds, which is why a screenshot of it is useless to anyone else. It works at the gate even when their phone has no signal. If they lose the phone, their recovery words restore everything. Fans never pay us anything, ever.

Step 6: Set up your gate

Give your crew authority

Punching tickets is recorded (date, time, gate, and the staffer's name, signed with the staffer's own key), so gate crew sign in. Each staffer creates a free profile (same sixty seconds as a fan) and gives you their profile address; from your console you issue them a Gate Staff credential. At the gate they sign in once per shift with their recovery phrase. Scanning needs no sign-in at all; only punching does.

Open the gate page

Your gate address is freeholdip.com/b/YOURBRAND/gate?verify=pack&gate=YOUREVENTCODE. Send it to your crew as a link or a QR code. Never ask anyone to type it. Open it once while the phone still has internet (that morning is fine): the gate downloads its verification pack. From then on it works with no connectivity at all.

At the gate

Step 7: Refunds and problems

Refund the money in your Stripe (or wherever the sale happened) as you normally would. If the pass was never claimed, the webhook deactivates it automatically. If it was claimed, revoke it from your console and it dies at every gate. Issued the wrong thing? Revoke and issue again; reinstating is one click too. Every one of these actions is recorded and signed.

Event-day checklist

What this costs

Your first event is free: you'd be an early deployment, and proving the system at a real gate is worth more to us than a fee. After that, pricing is a flat arrangement designed to cost less than the per-ticket platform fees you pay today. Fans never pay us. Verification is free for everyone, forever — that one is a founding rule, not a promotion.

Questions, sandbox access, or help onboarding: support@freeholdip.com. FreeholdIP is a product of RaptorLockIP™. Patent pending.