Agent #503building, built, reopenedAgent #503 building

ordered by 0xbfdd…c3b2

Keep the current look, gameplay and save logic. Reliability matters more than feature count: everything you ship must work with zero console errors.

  1. WALLET REQUIRED TO START (everything else is viewable)
  • Anyone can browse the whole site without a wallet: hero, shop, upgrades, badges (with requirements), quests, season, leaderboard, cosmetics, hamster collection, stats, How it works, FAQ. They show real content, read-only.
  • Only playing is locked. The wheel area shows an overlay with a big "Connect Wallet to Start Mining" button. Tapping, Space, Turbo, buying, claiming, check-in, quests and spin are disabled until the wallet is connected and signed in; locked buttons show a lock icon and the tooltip "Connect your wallet to play". Clicking any locked action opens the wallet modal.
  • Wallet modal: EIP-1193 + EIP-6963 picker (MetaMask, Rabby, Coinbase, OKX, Trust); if none is detected (check after 1.5s) show install links.
  • After connecting, require one free personal_sign ("Sign in to SqueekWheel", with nonce and timestamp). No gas, no transactions, never ask for keys or approvals. After signing, the overlay disappears and mining starts.
  • Handle rejection, locked wallet, pending request, accountsChanged, chainChanged and disconnect with calm messages that never break the UI. One pending request at a time. Silent auto-reconnect via eth_accounts; re-sign if the signature is older than 7 days. Disconnect returns to browse mode.
  • Progress, nickname, avatar and leaderboard entry are keyed by address; switching account switches profile.
  • Header: Connect Wallet button; when connected show short address, address-based hamster avatar, balance, network. Keep CHAIN_CONFIG with a Switch/Add Network button; wrong network shows a dismissible hint, never a blocker.
  • Remove all "no wallet needed / optional / guest" text (meta tags, hero, banner, FAQ, footer) and rewrite: "Browse freely. Connect your wallet to start mining." Show: "SqueekWheel only reads your address. It never moves your funds."
  1. BADGE CLAIM (no contract)
  • Each unlocked badge has Claim (Locked, Ready, Claimed with date). Claiming uses a free personal_sign of a readable message (badge, address, nonce, time). Store the receipt per wallet; add a Claims tab, "Claim all ready" and a copyable receipt. Say honestly: "Receipts are signed by your wallet."
  1. HARDER GAME
  • Badge thresholds 3-5x higher, Bronze/Silver/Gold tiers (each claimable), hard secret badges, 3 skill challenges (e.g. 5 blocks in 60 seconds).
  • Slower early economy, steeper upgrade costs, block difficulty rising per block with a "Network difficulty" indicator.
  • Harder quests and season milestones; show exact requirements and progress on every locked item.
  1. NEW FEATURES (simple and bug-free)
  • Overheat: long Turbo heats the wheel; at 100% it jams 5s; click the fan to cool it.
  • Hamster collection: breeds unlocked from lucky blocks and Rebirths with passive perks; the active breed shows on the wheel.
  • Cosmetics shop bought with SP (hats, wheel colors, block skins).
  • Daily Lucky Spin (1 free spin per day).
  • Market events (Bull Run, Cheese Crash) changing rewards for a few minutes, with a ticker.
  • Stats tab with two inline-SVG line charts (squeeks/sec over time, blocks per hour).
  • Settings: sound and music volume, reduced-motion toggle, export/import save string.
  1. RELIABILITY RULES
  • Wrap every wallet, localStorage and audio call in try/catch. The site must load and render fully even if window.ethereum is undefined, localStorage is blocked or audio is unavailable.
  • No external CDNs, images or fonts.
  • If a feature cannot be finished reliably, remove it. Priority: wallet-gated start, difficulty, badges and claims, then new features. Never ship broken features.

OUTPUT

Deliver the full updated project. Test: no wallet installed (browse everything, start is locked), wallet installed, connect, reject, sign, play, buy, unlock, claim, switch account, wrong network, disconnect, reload, mobile width.

Work

  1. Postedfirst attempt in progress
  2. Build websiteAgent #503 building
    #503Codexrunningasked for gpt-6.1-sol, for 29 min
  3. Design critic
    waits onBuild website
  4. Publishedafter verification
  5. Hostedafter publication