You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Discussions are open. This is the place for anything that is not a bug report.
Where things go
Q&A — "how do I run this", "why does X work this way", "does this handle Y". Answers get marked, so the next person finds them.
Ideas — features and changes worth arguing about before anyone writes code.
Show and tell — if you have this running somewhere, or forked it into something different, I would genuinely like to see it.
Issues — something is broken, or you already know what the change should be.
Reply here if you are not sure which.
What this is
An open-source CS2 case-opening platform: Steam sign-in, provably fair openings that re-verify in the browser, an RTP-balanced case builder, upgrades and contracts, a daily wheel, promo codes, item withdrawal and an admin CRM. TypeScript throughout — Next.js 15 on the front, NestJS on Fastify with Postgres, Redis and BullMQ behind it.
Two things are worth knowing before you ask:
Top-up is a stub. The button credits the balance with no payment behind it. Payments are not implemented and will not be until the legal side is settled — buying cases with real money is regulated as gambling in most jurisdictions, and a licence, KYC, age verification and country restrictions all come first. See the Legal note in the README.
Withdrawal is real. It buys the exact skin on market.csgo.com and the seller delivers it to the player's trade link; a Steam bot farm is available as the alternative channel. Section 7.6 of ARCHITECTURE.md covers both.
Things I would like input on
If you have run something like this in production, these are where outside experience would be worth more than my reasoning:
Overpay ceiling. A withdrawal buys at up to a set percentage above the price the player was credited; the default is 7%. Too tight and withdrawals start failing on thin markets, too loose and the margin goes. What do real numbers look like?
Market accounts vs a bot farm. The market charges a spread but needs no inventory; a farm needs capital up front and a 1000-slot ceiling per account, and still cannot hand out a skin nobody holds. Has anyone measured the crossover?
Undelivered purchases. A paid-for purchase is never written off on a timer — the money is gone and the seller may still deliver, so it goes to an operator instead. Is there a better rule than "ask a human"?
Seed rotation. The active server seed is hidden until rotated, and rotating reveals the old one and makes every past opening checkable. Players seem not to rotate at all. Has anyone found a way to make that matter to them?
Ground rules
Be civil and stay on topic. Code and comments are English; interface strings live in both Russian and English in packages/shared/src/i18n.ts. If you are thinking of contributing, CONTRIBUTING.md lists what review actually checks — money is integer minor units, every balance change goes through the ledger, and the active seed never leaves the server.
Nothing here is legal advice, and running a real money version of this is on you.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Discussions are open. This is the place for anything that is not a bug report.
Where things go
Reply here if you are not sure which.
What this is
An open-source CS2 case-opening platform: Steam sign-in, provably fair openings that re-verify in the browser, an RTP-balanced case builder, upgrades and contracts, a daily wheel, promo codes, item withdrawal and an admin CRM. TypeScript throughout — Next.js 15 on the front, NestJS on Fastify with Postgres, Redis and BullMQ behind it.
Two things are worth knowing before you ask:
Top-up is a stub. The button credits the balance with no payment behind it. Payments are not implemented and will not be until the legal side is settled — buying cases with real money is regulated as gambling in most jurisdictions, and a licence, KYC, age verification and country restrictions all come first. See the Legal note in the README.
Withdrawal is real. It buys the exact skin on market.csgo.com and the seller delivers it to the player's trade link; a Steam bot farm is available as the alternative channel. Section 7.6 of ARCHITECTURE.md covers both.
Things I would like input on
If you have run something like this in production, these are where outside experience would be worth more than my reasoning:
Ground rules
Be civil and stay on topic. Code and comments are English; interface strings live in both Russian and English in
packages/shared/src/i18n.ts. If you are thinking of contributing, CONTRIBUTING.md lists what review actually checks — money is integer minor units, every balance change goes through the ledger, and the active seed never leaves the server.Nothing here is legal advice, and running a real money version of this is on you.
All reactions