Five-factor scoring with published weights. Real-money test cycles every month. No site gets ranked from a press kit or a marketing screenshot. If you ever spot a ranking that contradicts our own data, tell us, corrections show up on the public changelog.
Step 1
Five-factor scoring
Every ranked site gets scored 0–10 on each factor. Total score is a weighted average. Weights are below, not invented for this page, they're the ones we actually use in the spreadsheet.
01Payout speed
30% weight
Wall-clock time from deposit → play → withdrawal request → funds in our account / skin in our Steam inventory. Tested with real money on real accounts. The single most underrated factor in CS2 gambling, sites with great UX and slow payouts are a scam vector.
02Provably-fair verification
25% weight
Can the round outcome be reproduced from the published seed/nonce after the fact? We replay the HMAC math in our own browser via the verifier tool. Sites that don't expose the math get downgraded.
03Bonus value
20% weight
Real EV of the welcome offer after wagering requirements. A '$1,000 100% match' with 50× WR is worth less than a '$500 50% match' with 5× WR. We compute the actual playthrough cost.
04KYC + withdrawal friction
15% weight
How much paperwork between you and your money. Some sites require ID verification only above a threshold; some demand it on every withdrawal. Lower friction = higher score.
05Support response
10% weight
Time to a real human answer on live chat, not a bot autoreply. Tested at peak hours and off-peak. Sites without live chat get a max score of 5/10 here.
Weights sum to 100. We rebalance the weights at most once a year, last rebalance was January 2026 (raised "payout speed" from 25→30 because reader feedback showed it's the most actionable factor for site selection).
Step 2
The test cycle
Every ranked site goes through this loop each cycle. The data you see on the rankings is from the most-recent cycle, not from the initial review.
01
Real-money deposit
We deposit $25–$100 from our test account. We time the deposit confirmation. If the site doesn't credit within the published window, that's a flag.
02
Play the site's primary mode
Crash, coinflip, case opening, whichever the site is built around. We log seed/nonce on every round so we can replay the math via the verifier.
03
Withdraw the balance
Crypto first if supported; skin payout if not. Wall-clock timer from withdrawal request to funds-in-our-wallet. This is the number that ends up on the withdrawal tracker.
04
Verify a random handful of rounds
Pull seeds for 3–5 rounds, run them through our HMAC verifier locally. If outcomes don't match, the site loses its provably-fair score.
05
Score + slot the site
Update the spreadsheet. If the score moved enough to change the rank order, we ship the change with a public note on the changelog.
We earn affiliate commission when readers sign up to a site through our tracked links. That funds the operation. It does NOT move rankings.
We've turned down paid placement
Multiple operators have offered to pay for top-3 placement. We refuse on principle, the rankings would lose their meaning. The Apr 22 ranking change (Clash.gg from #2 → #1, 500.Casino from #1 → #2) is an example: 500.Casino is a partner with a bigger affiliate payout per signup, and they still got bumped because the test data justified it.
Affiliate disclosure on every page
Thin always-visible bar at the top of every page on the site says exactly what we earn on. FTC-aligned and (in our view) trust-building, readers prefer sites that are upfront about incentives.
Public ranking-change log
Every ranking move is documented at /changelog with the reason. If a partner drops 3 slots after a payout-speed regression, you can see the exact change and the data that triggered it.
Step 4
Editorial-only coverage
We cover 34 CS2 sites we earn nothing on. They get the same review depth as our partners, just no Claim button. A further 14 directory brands issued us a code after their review was written; those carry a tracked link and say so on their own pages.
Most CS2 affiliate portals only cover sites they earn on. That makes their "best 5" rankings effectively a "best 5 of the 5 we get paid by" list. We cover 29 additional sites, Skinport, CS.MONEY, DMarket, Tradeit.gg, ShadowPay, Swap.gg, BitSkins, SkinBaron, CSFloat, CS.Deals, white.market, LIS-SKINS, SkinsMonkey, iTrade.gg, CS.Trade, Skinflow.gg, DatDrop, Key-Drop, DaddySkins, GGSkins, CaseHug, LootBox, R1-Skins, DuelBits, Roobet, CSGOPolygon, Chicken.gg, Skinwaste, LootBear, under an explicit "editorial-only" treatment. No Claim button, no SKINSVAULT code, no /go/ tracking.
This costs us money. A reader who picks Skinport over a partner generates zero revenue. We do it because the alternative, ignoring sites we don't earn on, would be dishonest.
Sites we won't list at all, even if they offered top-tier affiliate rates. Documented criteria, public list, removal process if conditions change.
A site lands on the blacklist for any of: documented theft of user funds, rigged provably-fair (caught after-the-fact reverse-engineering), no-pay on withdrawals beyond a certain pattern, predatory targeting of minors, or evasion of KYC requirements that put users at legal risk in their home jurisdiction.
We publish the blacklist publicly with the reasoning. If a site cleans up, they can come off. That's also documented.