BETT.GURU
INDEPENDENT · FICTIONAL · NO REAL MONEY

Sportsbook platform
intelligence lab.

BETT.GURU is a fictional sportsbook built to show how platform infrastructure makes decisions — identity, KYC, eligibility, pricing, a ledger wallet, bet placement and settlement — and why each decision was made.

An independent portfolio demonstration. All personas, teams, fixtures and transactions are fictional; demo credits have no value. Not a real-money sportsbook and not affiliated with any operator.

DECISION TRACE · BG-700113/13 RECONCILED
  1. ✓
    IdentityAccount service
    Avery Demo · NJ · age 34 (21+ verified at registration)
  2. ✓
    KYCIdentity vendor (simulated)
    KYC-55010 verified · persona demo packet
  3. ✓
    EligibilityCentral eligibility
    Licensed in NJ · no cooling-off · not self-excluded
  4. ✓
    Market validationTrading / markets
    Single · Denver Peaks to win · market OPEN · one selection per event
  5. ✓
    Odds acceptancePricing
    accepted 1.80 = live 1.80
  6. ✓
    WalletLedger wallet
    Stake $25.00 within $1.00–$1,000.00 · balance $200.00
  7. ✓
    Bet placementBet engine
    BG-7001 committed · single atomic debit + bet record · key bet-demo01
  8. ✓
    SettlementSettlement
    WON · payout $45.00 posted once · TX-100003 · key payout:BG-7001
THE LAB

One screen, three views of the same transaction

01

Customer sportsbook

The responsive betting experience from the approved v4 prototype: personas, simulated KYC, wallet, markets, singles and parlays, settlement and responsible-gaming controls.

02

Platform Control Room

Trigger deterministic scenarios, act as the trading desk, replay and tamper with commands, and watch 13 reconciliation checks stay green.

03

Transaction journey

Identity → KYC → Eligibility → Market validation → Odds acceptance → Wallet → Bet placement → Settlement, with the platform’s reason at every stage.

PLATFORM DECISIONS

Six decisions, each with its trade-off

All product decisions →
ELIGIBILITY

Identity and eligibility are centralised

One function answers “may this account do this now?” for deposits, bets and withdrawals: age, licence, KYC, cooling-off, exclusion.

Trade-off: A single choke point needs an owning team and a fast read path.

LEDGER

The wallet is a ledger

Balance is a sum of integer-cent entries, each with type, reference and creating key. Any balance is explainable from entries alone.

Trade-off: Forbids “just fix the balance” — the discipline that makes it trustworthy.

IDEMPOTENCY

Every money command is idempotent

Client key + canonical payload fingerprint: retries replay, reused key with a different payload conflicts. Settlement and reversals derive keys from bet / withdrawal ids.

Trade-off: Clients must generate and persist keys; cheap now, prohibitive to retrofit.

PRICING

Odds changes need customer acceptance

Accepted price travels with the leg and must equal the live price at placement.

Trade-off: Lower acceptance in fast markets — chosen over silent repricing disputes.

SAFETY

Responsible gaming shapes the product

Limits at deposit; breaks and exclusions on every command; decreases immediate, increases wait 24h; withdrawals stay open under exclusion.

Trade-off: Revenue deliberately refused; the bet is that trusted books retain.

POLICY

No same-game parlays

Correlated legs overpay when multiplied. Without a correlation model the honest answer is to refuse — in placement and in reconciliation.

Trade-off: A major US revenue line, sequenced after a pricing model exists.

LIMITATIONS

What this is not

Knowing the gap to production is part of the judgment. Nothing on this site claims production-grade compliance, security or transaction guarantees.

Production gap →
  • Single-user, single-browser: no concurrency; races shown via replay.
  • No real KYC, payments, geolocation or odds feed — persona-encoded and hashed by design.
  • Settlement is manual; no event clock drives fixtures.
  • No cash-out, bonuses, multi-currency or tax withholding.
  • RG covers deposit limit, cooling-off and self-exclusion only.
  • Browser localStorage persistence only. No server, database or authentication.