How we rate casinos
Two numbers, two sources, both published. TrustScore is built only from published player reviews. The facts score is built only from an operator's stored facts — licence, payout window, payment rails, support, languages, app — using fixed weights applied identically to every operator. This page shows the exact constants, weights, thresholds and worked examples, computed live by the same functions that score every casino on the site.
The constants
Read live from TRUST_CONSTANTS.
| Constant | Value | What it does |
|---|---|---|
Prior size PRIOR_N | 7 | Number of imaginary neutral reviews every casino starts with. Keeps a handful of five-star reviews from producing a five-star score. |
Prior mean PRIOR_MEAN | 3.5 | The rating of those imaginary reviews. Scores start here and move as real reviews accumulate. |
Recency half-life (days) HALF_LIFE_DAYS | 365 | A review's weight halves every this many days. Today = 1.0, one year = 0.5, two years = 0.25. |
Minimum weight MIN_WEIGHT | 0.1 | The floor for an old review's weight, so very old reviews still count a little. |
Early rating below EARLY_RATING_BELOW | 5 | Casinos with fewer published reviews than this show an "Early rating" label and are excluded from top-rated lists. |
Full ranking weight at RANK_FULL_WEIGHT_REVIEWS | 25 | The "Most relevant" sort scales a score by confidence, reaching full weight at this many reviews. |
The formula
Each published review gets a recency weight: weight = max(MIN_WEIGHT, 0.5 ^ (ageInDays / HALF_LIFE_DAYS)). The score is then a weighted average that includes the prior: TrustScore = (PRIOR_N × PRIOR_MEAN + Σ weight × rating) / (PRIOR_N + Σ weight), clamped to 1.0–5.0 and rounded half-up to one decimal. Zero published reviews gives a score of 0, displayed as "No reviews yet".
The star widget shows the score rounded to the nearest half star. Filled stars take the colour of the score's band (table below). Individual review cards show their own integer rating in that rating's band colour.
Score bands
Filled stars share the band colour. Samples show the star display at each band's midpoint.
| Band | TrustScore range | Sample (midpoint) | Colour |
|---|---|---|---|
| Excellent | 4.3 – 5.0 | 4.7 | #00B67A |
| Great | 3.8 – 4.29 | 4.0 | #73CF11 |
| Average | 2.8 – 3.79 | 3.3 | #FFCE00 |
| Poor | 1.8 – 2.79 | 2.3 | #FF8622 |
| Bad | 1.0 – 1.79 | 1.4 | #FF3722 |
| No reviews yet | 0 published reviews | #DCDCE6 |
Worked examples
Computed on this request by calling computeTrustScore() on synthetic reviews. Notice that no small number of five-star reviews reaches 5.0, and that old praise is outweighed by recent complaints.
| Input reviews | Count | TrustScore | Band | Stars shown |
|---|---|---|---|---|
| 1 × 5★, published today | 1 | 3.7 | Average(Early rating) | |
| 3 × 5★, published today | 3 | 4.0 | Great(Early rating) | |
| 5 × 5★, published today | 5 | 4.1 | Great | |
| 40 × 5★, published today | 40 | 4.8 | Excellent | |
| Mixed and aged: 10 × 5★ from two years ago + 5 × 2★ today | 15 | 3.2 | Average |
Facts score
The facts score is computed only from stored operator facts. Every weight below is fixed in code, applied identically to every operator, and read live from FACTS_RUBRIC when this page renders. Player reviews, bonus size, deposit minimums and partner status are not inputs. Featured placement is labelled separately and never affects either score.
Where enough genuine reviews exist, TrustScore leads. Profiles with no player reviews follow in a disclosed editorial opening order, not by their facts score. The owner chose TTBet and BCB88 for positions one and two while the site starts. The facts score remains a separate comparison measure, and the "Facts score" sort shows it directly. No-review profiles are labelled "No player reviews yet".
Weights read live from FACTS_RUBRIC. Maximum 100 points.
| Criterion | Max | How points are awarded |
|---|---|---|
Licence tier Points by the regulator the operator lists. A licence we have not yet checked ourselves loses 4 points (floor 0). "Unverified" scores nothing. | 25 |
|
Payout window Points by the operator's stated maximum withdrawal time (payout_hours_max). A window the operator does not state scores nothing. | 25 |
|
Malaysian payment rails 4 points for each of Touch 'n Go, DuitNow, FPX, GrabPay, Boost and ShopeePay, plus 2 for USDT, capped at 20. Bank transfer earns nothing. | 20 |
|
Support channels Points for each support channel the operator offers. | 15 |
|
Languages Points for each interface language offered. | 10 |
|
Mobile app Points for a dedicated Android/iOS app (browser-only play earns nothing). | 5 |
|
Bands
The same thresholds and colours as the TrustScore bands, on the 0–100 scale.
- Excellent≥ 86
- Great≥ 76
- Average≥ 56
- Poor≥ 36
- Bad≥ 20
Worked example
Computed on this request by calling computeFactsScore() on a synthetic operator: Strong facts: Malta licence (checked), payouts within 6 hours, four eWallet/bank rails plus USDT, all three support channels, three languages, mobile app.
| Criterion | Stored fact | Points |
|---|---|---|
| Licence tier | Malta Gaming Authority licence, checked by us | 25 / 25 |
| Payout window | Payout window up to 6 hours | 20 / 25 |
| Malaysian payment rails | 4 Malaysian rails (Touch 'n Go, DuitNow, FPX, GrabPay) + USDT | 18 / 20 |
| Support channels | 24/7 live chat, WhatsApp, Telegram | 15 / 15 |
| Languages | English, Bahasa Malaysia, 中文 | 10 / 10 |
| Mobile app | Dedicated mobile app | 5 / 5 |
| Facts score | Excellent | 93.0 / 100 |
More examples
| Synthetic operator | Facts score | Band |
|---|---|---|
| Strong facts: Malta licence (checked), payouts within 6 hours, four eWallet/bank rails plus USDT, all three support channels, three languages, mobile app | 93.0 | Excellent |
| Typical: Curaçao licence (checked), payouts within 24 hours, Touch 'n Go + DuitNow + USDT, Telegram only, English and Bahasa Malaysia, no app | 45.0 | Poor |
| Weak facts: no verifiable licence, payouts up to 72 hours, bank transfer and USDT only, WhatsApp only, English and 中文, no app | 16.0 | Bad |
What counts
Only reviews with status "published" enter the score. Reviews held for moderation and rejected reviews do not. A review counts once; edits replace the original and are re-screened before republication. The rating distribution bars on each profile show raw, unweighted counts and percentages of published reviews so you can see the shape behind the number.
- One review per player per casino (enforced at the database level).
- Reports from other readers never change a review's status — they queue it for a human moderator.
- Casino replies are displayed but have no effect on the score.
Screening rules before publication
Every submission passes an automated screen. The screen never deletes a review; it decides whether the review publishes immediately or waits for a human, and it records the reason so moderators (and the author) can see it.
- Honeypot field filled → rejected silently (bot behaviour).
- Form submitted faster than a human could read it, or with an invalid token → asked to try again.
- Same account, same review body as an earlier submission → rejected as duplicate.
- Contains a URL, @handle or promo code → held for moderation.
- Contains a banned term → held for moderation.
- Account created less than 24 hours ago → held for moderation.
- First review from an account with no published history → held for moderation.
- Otherwise → published immediately and counted.
What "Verified" means
A reviewer can attach an optional proof note — a transaction reference, a screenshot description, a support ticket number. A moderator who checks it may mark the review Verified. The badge tells you a human looked at evidence of the experience. It does not change the score by any amount: Verified is a display badge with zero weight, and it is granted only by staff, never automatically.
The Early rating rule
A score appears from the first published review — the prior does the work of keeping it sensible. But a score built on one to four reviews can change a lot with the next one, so those profiles carry an "Early rating · based on n reviews" label, and they are excluded from top-rated lists on the homepage and category pages until they reach the threshold shown in the constants table above.
Ranking on listing pages
"Most relevant" multiplies TrustScore by a confidence factor for reviewed casinos: min(1, ln(1 + reviews) / ln(1 + RANK_FULL_WEIGHT_REVIEWS)). A 4.6 with 40 reviews therefore outranks a 4.7 with 6. Ties break by review count, then name. "Highest rated" sorts by raw TrustScore with review count as tiebreaker; casinos with no reviews sort last. "Most reviewed" and "Newest" are what they say.
In the real-operator dataset, no-review casinos follow the disclosed owner-selected editorial order under the default "Most relevant" sort. Under "Highest rated", the no-review tail is ordered by the separate facts score. A profile with published reviews leads one without under both sorts. The fictional demo retains its own facts-score fallback.
Partner placement
Commercial partners are labelled wherever their cards appear. Featured cards sit in a separate band, and partner status never enters TrustScore or the facts score. The default numbered list begins in an editorial order selected by the site owner, who placed TTBet and BCB88 first and second. That order is not a player rating, payout test or independent safety verdict. A separate facts-score sort is available; review-backed results lead by TrustScore once enough player reviews exist.
Partners are reviewed by the same rules as everyone else. Their reviews pass the same screening, their facts are scored by the same rubric, and the factual "good and bad" notes on every profile are generated from stored facts alone — never written to favour or disfavour a partner.
Editorial reviews
Some profiles carry an editorial review written by iamcasino staff. It is written from the operator's public pages — banking page, FAQ, terms, promotions, contact page — on a date shown at the top of the review, and every factual line in it is either the operator's own stated claim, attributed as such, or a plain restatement of a stored fact. We do not open accounts, deposit, play or contact support to write it, and the review says so.
An editorial review is not a player review. It is not counted in the TrustScore or facts score. The numbered opening order and separate editorial-picks guide are subjective: the owner chose commercial partners TTBet and BCB88 for the first two positions, and the remaining positions reflect our reading of publicly stated information, not play-testing. Where the operator is a commercial partner, the review says so in its first lines. A fact the operator has not confirmed is written as what its pages state, never as settled.
What affects each score and order
TrustScore uses only published player reviews. Payout window, payment rails, support channels, languages, app and licence status feed the separate facts score by the fixed weights above. Bonus size, wagering terms, minimum deposit and partner status enter neither score. The default no-review order is instead a disclosed editorial choice; TTBet and BCB88 occupy the first two positions at the owner's request. Filters and the explicit sort menu can change the displayed order. There is no bonus sort on this site.
The same method is explained step by step in our guide How we calculate TrustScore. Review rules are on the guidelines page.