Ticketing

Game Credits Without On-Chain Clutter

Tickets are intentionally off-chain objects to avoid needless splatter of micro-transactions on the ledger:

  • Purchase Flow

    • Click Buy Tickets → choose quantity (1–100).

    • A single SOL transfer (e.g., 5 tickets × 0.1 SOL = 0.5 SOL) is signed in-wallet.

    • Webhook verifies finality, then the server writes {user, +5 tickets} to a Postgres row with row-level encryption.

  • Storage & Security

    • Tickets are represented as an integer counter, encrypted at rest with a user-specific key.

    • Every mutation (buy, burn) emits an append-only event to Kafka; we replay the log nightly to guarantee eventual consistency.

  • Anti-Fraud

    • Rate limits: max 500 tickets per 24 h.

    • Unusually large purchases trigger a Stripe-style risk model; suspicious wallets are flagged for manual review.

By off-chaining tickets, we preserve on-chain SOL for real trading, while still maintaining provable integrity via audit logs.

Last updated