The Pitch
Golden Tickets aren’t a marketing gimmick — they’re a cryptographic primitive. Each ticket is an Ed25519-signed JSON envelope with a ticket number (1-5), recipient identity, and timestamp. The signature is verifiable by anyone with the public key. The database enforces a hard cap of 5 with aCHECK constraint. No override, no exceptions, no “just one more.”
“five stamps. not six.”
Scarcity Mechanics
The scarcity_pressure gauge (remaining / 5) drives campaign behaviour:
| Tickets Remaining | Pressure | Campaign State |
|---|---|---|
| 5 | 0.0 | Pre-launch — awareness phase |
| 4 | 0.2 | First issuance — proof of legitimacy |
| 3 | 0.4 | Momentum — “three left” messaging |
| 2 | 0.6 | Urgency threshold — FOMO activation |
| 1 | 0.8 | Final ticket — maximum urgency |
| 0 | 1.0 | Closed — legacy/exclusivity messaging |
golden_ticket_issued) that downstream consumers (billing, campaigns, social) react to in real time. Scarcity pressure is recalculated and pushed to the ConfigMap — the assistant’s onboarding flow reflects the new remaining count immediately.
Why It Works
-
Verifiable scarcity: Anyone can check the Ed25519 signature. The public key is published. The ticket count is queryable via
ListTickets. This isn’t “limited edition” marketing — it’s mathematically provable. - Anti-gaming enforcement: IP rate limiting, 30-day repo age, 100KB code minimum, 90-day account age. Fresh accounts and empty repos don’t qualify. This protects the prestige of the ticket.
- Ceremony: Issuance requires 2-of-3 founder/lead approval (RUNBOOK-004). The advisory lock serialises attempts. The singleton deployment means one pod, one lock, one decision at a time. It feels consequential because it is.
-
Non-transferable:
user_idmust match the original issuee. The ticket is bound to identity, not to a bearer token. This prevents secondary markets.
Activation Sequence
The golden-press service is now implemented. The campaign activation path:- Announce the system — explain the 5-ticket cap, the Ed25519 verification, the anti-gaming rules. Let the mechanics be the marketing.
- Publish the public key — allow anyone to verify any ticket independently. Transparency builds trust.
- First issuance — select the recipient via community vote + founder approval. Publish the signed envelope. The
golden_ticket_issuedevent triggers automated announcements across Bluesky, Twitter/X, LinkedIn, and Slack. - Track pressure — Grafana dashboard (
golden_tickets_remaining,choco_ticket_scarcity_pressure) updates in real time. - Close the window — when ticket 5 is issued, the campaign shifts from urgency to legacy. The 5 holders become permanent fixtures.
Messaging Bank
- Hero: “Five tickets. Not six. Verified by Ed25519.”
- Scarcity: “X remaining. The factory doesn’t make more.”
- Verification: “Don’t trust us. Verify the signature yourself.”
- Anti-gaming: “30-day repo age. 100KB minimum. 90-day account. No shortcuts.”
- Exclusivity: “The ledger is permanent. The ticket is non-transferable.”