Open test Running on Base Sepolia testnet. Full launch at Esports World Cup, August 2026.
Whitepaper · v0.1

How cs2fun works. End to end.

Honest spec: every parameter, every percentage, every contract address. Updated continuously. Last revision: 2026-05-24.

  1. 01 Mechanic live

    cs2fun is fantasy CS2 on Base. You collect player cards from real CS2 Major rosters, build a 5-player roster before a Major starts, and score points based on how your players actually perform in the tournament. Top rosters share the prize pool.

    Every card has a rarity (Common / Rare / Legendary) which is a 1× / 2× / 3× multiplier on player points. Cards are ERC-1155 tokens. Rosters are stored on-chain as a struct in FantasyContract.

    Card supply comes from packs. Packs are ERC-1155 NFTs minted at purchase and burned at open. Every pack contains exactly 5 cards regardless of tier — Rare and Legendary packs differ from Common by guaranteeing higher-rarity slots, not by carrying more cards.

    Crafting upgrades rarity: burn 5 copies of the same player → get that player one rarity higher (deterministic), or burn 10 different players of the same rarity → get a random player one rarity higher. Both modes have a 3% Lucky Jump chance: Common → Legendary directly.

  2. 02 Scoring formula live

    Per-match player score (from OracleContract.calculateScore): kills × 2 + assists − deaths + mvpRounds × 4 + adr / 10 + ratingBonus.

    ratingBonus comes from HLTV Rating 2.0: > 1.5 = +5, 1.2–1.49 = +3, 1.0–1.19 = +1, 0.7–0.99 = 0, < 0.7 = −3.

    Final card contribution = match score × rarity multiplier (Common ×1 / Rare ×2 / Legendary ×3). Roster score = sum of all 5 cards across all tournament matches.

    Stats come from HLTV.org + Liquipedia via our oracle backend. Multi-source verification: if two sources disagree by >5% we skip the push and alert admin.

  3. 03 Smart contracts v2 deployed · Base Sepolia

    All contracts are open and verified on BaseScan. Token IDs follow: tokenId = playerId × 10 + rarity (rarity ∈ {1, 2, 3}). 160 active players × 3 rarities = 480 unique tokenIds.

    Active contracts (Base Sepolia, v2 deployment 2026-05-24): FunticsToken (ERC-20), CardsContract (ERC-1155), PackNFT (ERC-1155), PacksContract (VRF v2.5), CraftingContract (VRF v2.5), FantasyContract, OracleContract, ReferralContract, PackMarketplace. Addresses live in the Security & fairness section on the homepage.

    Mainnet deploy is gated on internal audit + Slither + Echidna fuzzing (external audit deferred until revenue justifies it). No upgradeable proxies for token / cards / oracle contracts. FantasyContract migration playbook is documented in MIGRATION.md.

  4. 04 Tokenomics live · v2.1

    Pack price split (85 / 10 / 5): 85% goes to the prize pool, 10% is platform profit, 5% goes into the Operational Fund (VRF subscription, server, scraper, marketing). No burn on mainnet — every dollar is allocated transparently.

    With a referrer attached, the 10% platform cut splits 50 / 25 / 25: 50% to the referrer (pending claim), 25% remains platform profit, 25% spills into the pool. So a referred user always increases the pool slightly more than a non-referred user.

    Roster registration is FREE. Pool comes from packs only. Card swaps after the first 3 free ones cost 5 / 10 / 20 / 50 funtics — these go 100% to the pool (no platform cut from swaps).

    Buy-back: the platform always buys cards back at fixed prices (Common $0.30, Rare $0.50, Legendary $1.00). Payout is drawn from the current tournament pool — this creates a recycling loop that keeps engaged users in the game.

    Pool distribution at tournament end: Top 1% → 12% of pool, Top 2-10% → 25%, Top 11-50% → 63%, Bottom 50% → 0 (consolation for the bottom 50% is planned for mainnet seasons).

    Season 1 uses non-withdrawable funtics on Base Sepolia testnet (no real money in or out). Season 2+ uses USDC on Base mainnet directly — no welcome bonus, no daily bonus, no faucet (users top up their own ETH for gas via Privy on-ramp or bridge).

  5. 05 Roadmap live

    Phase 0 (now → 2 June 2026): finish v2.1 contracts (Operational Fund, 5/5/5 pack sizes, buyback, free roster registration), deploy on Base Sepolia, finish frontend buyback UI, ship the soft launch.

    Phase 1 (2-21 June 2026): IEM Cologne soft launch on testnet. Open to anyone with X login. Goal: real user feedback, bug catching, economy validation.

    Phase 2 (22 June → 11 August 2026): fix everything Cologne surfaced. Migrate from funtics to USDC. Remove welcome / daily bonuses (mainnet has no free money). Set up multi-sig Gnosis Safe for admin roles. Deploy v3 on Base Mainnet.

    Phase 3 (12-23 August 2026): Esports World Cup full mainnet launch. Real USDC. Full feature set. $2M tournament prize pool = maximum CS2 community attention.

    Future tournaments we plan to support: PGL Major Singapore (Nov-Dec 2026), IEM Kraków (Jan-Feb 2027), FiReMAJOR Buenos Aires (May-Jun 2027). Full calendar on the homepage.

Spec evolves with the project. Follow on X for major revisions. Open issues / questions: github (coming soon) or DM @cs2funfans on X.