VAULTCUP CULTURE

CUPCULT · how it works (on-chain)

Klarifikasi penting: live odds bukan berarti CUPCULT tanpa vault. Pola yang dipakai sama seperti MemeMarket — vault contract milik sendiri, odds di-sign off-chain lalu dikunci on-chain, hasil pertandingan dari Oracle independen. Halaman ini adalah blueprint kontrak vault CUPCULT jika token di-launch via flap.sh.

KomponenSumberOn-chain?
Token $CUPCULT (BEP-20)Launch via flap.sh, tax 4%/4% hard-codedYa — BSC
Odds & pasar (1X2, AH, O/U…)Agregasi sportsbook (Bet365, Pinnacle, dst) → signer EIP-712Di-lock saat bet
Hasil pertandinganWorldCupViewer Oracle 0x0003…333e100% on-chain
Dana, payout, jackpot, burn, capCUPCULT Vault Contract (milik sendiri)100% on-chain
Harga BNB/USD untuk lock notionalChainlink BNB/USD feed100% on-chain

Aliran bet — end to end

User wallet
   │  1. pilih market → request odds
   ▼
Odds Service (off-chain)                  ← agregasi: Bet365, Pinnacle, William Hill, 1xBet, Betano
   │  2. sign EIP-712 ticket
   │     { matchId, market, pick, odds, expiry=15s, nonce }
   ▼
User wallet — 3. submit placeBet(ticket, stakeToken) ──┐
                                                       ▼
                                          ┌──────────────────────────┐
        Chainlink BNB/USD ───lock USD────▶│   CUPCULT VAULT (BSC)    │
        $CUPCULT (flap.sh) ───transferIn─▶│  - verify EIP-712 sig    │
                                          │  - lock stakeUsd notional│
                                          │  - enforce caps 15/30/40 │
                                          └────────────┬─────────────┘
                                                       │ on match settled
        WorldCupViewer Oracle ──getMatchResult(id)────▶│
                                                       ▼
                                       resolve() → win? burn 10% → pay 90%
                                                       │ lose? stake → reserve
                                                       ▼
                                   on final whistle: distributeJackpot()
                                       pro-rata by Σ stakeUsd per user

Vault Contract — desain modul

Satu kontrak inti CupcultVault.sol + helper. Tidak ada ownerWithdraw(), tidak ada pauseSettlement(). Semua parameter di-hardcode di konstruktor.

StakeLedger

Catat per bet: (user, matchId, market, pick, oddsBps, stakeUsd, stakeTokenAmt, ticketHash). stakeUsd = bobot permanen untuk Jackpot.

OddsTicketVerifier

EIP-712 domain "CUPCULT-Odds", validitas 15s. Signer = multisig odds-service. Replay-protected via nonce + ticketHash.

ChainlinkPriceLock

Saat placeBet: stakeUsd = stakeTokenAmt × tokenPriceBnb × bnbUsdFeed. Setelah lock, USD permanen — fluktuasi harga tidak menggerus.

TreasuryCaps

3 hard cap: single 15% / user×match 30% / option 40%. Yang paling ketat menang. Revert kalau lewat.

BurnOnWin

Saat payout: 10% kirim ke 0x…dead, 90% ke user. Burn dihitung di kontrak, bukan tax token — tidak bisa dimatikan.

JackpotDistributor

Dua bucket: BNB Jackpot (50% tax) + Token Payout Reserve (50% tax buyback). distributeJackpot() bisa dipanggil siapa pun setelah final, pro-rata berdasarkan Σ stakeUsd.

Integrasi token launch via flap.sh

flap.sh meng-handle token genesis (BEP-20, LP, tax router). Vault tinggal di-wire sebagai recipient tax:

  1. Launch $CUPCULT di flap.sh dengan buy tax 4% / sell tax 4%.
  2. Set taxRecipient = CupcultVault.address (atau TaxSplitter yang langsung membagi 50/50).
  3. Tax masuk → TaxSplitter.split():
    • 50% swap ke BNB → vault.bnbJackpot
    • 50% tetap CUPCULT → vault.tokenPayoutReserve
  4. Renounce ownership token setelah LP locked → flap.sh anti-rug standard.
Penting: tax 4%/4% adalah tax di level token (flap.sh), sedangkan burn 10% adalah logika di vault saat payout. Dua mekanisme berbeda, tidak saling membatalkan.

Kenapa ini trustless — “tim tidak bisa kabur”

  • Vault tanpa owner withdraw — fungsi tidak ada di bytecode.
  • Settlement tidak bisa di-pause — siapa pun bisa panggil resolve(matchId) setelah Oracle menulis hasil.
  • Odds signer ≠ vault admin — signer hanya bisa rewrite odds untuk bet baru, tidak bisa mengubah bet yang sudah on-chain.
  • Jackpot distribution permissionless — setelah final, siapa pun bisa eksekusi pembagian.
  • Oracle eksternal — WorldCupViewer di kontrak terpisah, vault hanya membacanya.
  • Tax token di-renounce via flap.sh standard, recipient tax dikunci ke alamat vault.

CUPCULT vs MemeMarket — perbedaan & persamaan

AspekMemeMarketCUPCULT
Token launchIn-houseflap.sh (tax router siap pakai)
Vault contractSendiriSendiri (blueprint di atas)
Odds feedBet365, Unibet, 1xBet, Betano, 22BetBet365, Pinnacle, William Hill, 1xBet, Betano
Oracle hasilFlap WorldCup ViewerWorldCupViewer (0x0003…333e)
Tax distribution50% BNB Jackpot / 50% buybackSama persis
Burn on win10%10%
Caps treasury15 / 30 / 40 %Sama persis

Aturan gameplay lengkap untuk user (bukan kontrak) ada di halaman Rules.

Baca aturan main