GammaSkins: P2P Skin Marketplace
A Norwegian peer-to-peer marketplace for CS2 skins, with chat, signed purchase agreements, ID verification and a quick-sell channel.
What it is
GammaSkins is a Norwegian marketplace for Counter-Strike 2 skins, run by Gecko Capital AS. It started as a shop where buyers paid by card and bots delivered the items. Today it’s mainly peer-to-peer: users list skins from their Steam inventory, agree on a price in chat and trade directly with each other. The buyer pays the seller with Vipps or a bank transfer, so GammaSkins never holds the money. Users who’d rather sell right away can use Quick sell and sell their skins to GammaSkins’ own bots.
How it’s built
The frontend is Angular with server-side rendering, so the public catalogue of CS2 skins can be indexed. The backend is Node.js and Express on PostgreSQL, with Redis for sessions, caches and rate limits, and Socket.io for chat, offers and online status. A separate scraper collects daily prices, and a small bot service reads Steam inventories. It runs on a VPS behind Cloudflare and deploys on every push.
The hard parts
- Trust between strangers. Every trade requires ID verification. An accepted offer becomes a purchase agreement rendered as a PDF, and both parties sign its SHA-256 hash, so the document can’t be changed afterwards. Above 2,000 NOK, signing also takes a selfie matched against the ID check.
- Steam can undo a trade. A seller can reverse a Steam trade for seven days, so a Quick sell payout can only be recorded eight days after the trade, and the database rejects a second payout for the same order.
- Prices as data. Daily price series feed an inventory page with value, volatility and risk figures, using Norges Bank’s rate as the risk-free rate.
What it taught me
No other build has taught me as much about failure: two buyers clicking the same item at once, webhook retries that have to be idempotent, and trades that Steam can reverse a week later. Every current lab build is designed with those lessons in mind.
More from the lab
- Personal · 7 Oct 2026Peep AS: pip.travelA marketplace for local experiences in Norway. I've taken over Peep AS and am building it as a new company with new partners.
- Personal · 10 Aug 2026Market Price PipelineAutomated ingestion of Buff163 market data into PostgreSQL. It's the pricing backbone behind every skin platform I run.
- Client · 26 Oct 2026Norsk Frisørskole & Hairpilots: Digital PlatformI'm building the digital side of a Norwegian hairdressing school with Hairpilots: tools for the staff and a new way into the online programme. Work in progress.
Stuck on a hard technical problem? Maybe I can help.
I take on the occasional advisory job, custom software architecture and research collaboration. There's no sales funnel. You write to me and I answer.