Case file No. 03 · 2026
Gocase.gg
A CS2 case-opening platform: players open cases with the odds shown up front, upgrade and trade up items and withdraw skins to Steam, while the team runs cases, payments and withdrawals from its own admin panel.

Context
Where they started
Gocase.gg is a standalone studio product built from scratch: Laravel 12 on Octane, a storefront on Blade and plain ES modules, and a separate admin app on Vue 3.
Case sites live on player trust, so the rule from day one was that the server decides every outcome and anyone can verify it. The odds of every item are visible before paying, and each opening can be rechecked on the provably fair page.
The platform works end to end on a closed stand and is getting ready for launch: missions and seasons, email sign‑in and a live drop feed over WebSocket are next. We will keep adding to this case as the work goes on.
Task
What had to happen
- Make opening a case feel like in CS2 itself
- Let players verify every result
- Take payments by card, crypto and CS2 skins and pay out in skins
- Give the team one admin panel for cases, money and players
Stack
What runs on what
- Storefront
- Laravel 12BladeES modulesCSS on design tokens
- Application server
- PHP 8.2Laravel OctaneRoadRunner
- Admin panel
- Vue 3shadcn‑vueReka UITailwind 4TypeScript
- Data and background jobs
- MySQLRedisLaravel queues and scheduler
- Fairness and security
- Provably fair HMAC‑SHA256Cloudflare Zero TrustTOTP 2FA
- Money
- Cardscryptoskin depositswithdrawals to Steam
Solution
What we did
Opening like in CS2
The roulette follows the CS2 scroll curve and plays the game’s sounds. Up to five cases open at once in parallel columns, with a fast mode and auto‑opening with profit and loss limits. The server decides the drop and charges the balance in one transaction, so nothing can be tweaked from the browser.
Fairness you can check
Provably fair on HMAC‑SHA256: the server seed hash is published before the opening, the player sets their own seed, and a dedicated page recalculates any opening. The odds of every item are listed on the case page before paying.
Upgrade, contracts, inventory
An upgrade with a chance wheel computed on the server, contracts that turn 3 to 10 items into one, and an inventory with filters, bulk selling and withdrawal.
Payments and withdrawals
An internal GoCoins currency with coin packages. Top‑ups by card, crypto and CS2 skins; skins are withdrawn to the player’s Steam through a marketplace, with request statuses and a manual check for large amounts.
Growth and SEO
30 levels, referral links, a daily free case and promo codes. Six languages with hreflang, structured data, a generated sitemap and per‑page SEO editing in the admin panel.
The team’s admin panel
A separate Vue 3 and shadcn‑vue app: dashboard and funnel, a case editor with odds, a simulator and version history, withdrawals, bonuses, players and SEO. Sign‑in goes through Cloudflare Zero Trust with two‑factor authentication.
Screenshots
What it looks like
Scope of work
How much got done
- 20,000+
- lines of PHP in business logic
- 12,500
- lines of Vue in the admin panel
- 39
- database tables
- 153
- routes, 70 of them in the admin API
- 30
- design system components
- 6
- languages, 550 strings each
€64,000 R&D
R&D: the studio’s own product, built at our own expense. The price estimates the same scope of work for a client, at our rates.
Result
What changed
Next case file
R&DTryDota
Archive of 1,165 articles — on a new engine

