The statement and the page it came from, with the date we read it.
Read date on every claimEvery number can be traced to a source, a date, and a method.
Four pillars make the Score — 100 points, graded A–E. Everything else we measure orbits it: shown with its source and date, never added in.
Updated 16 OCT 2026Changelog →CiteReport an errorAbout BullsRank →
- A · Accountability — 30 pts
- B · Money out — 30 pts
- C · Fair terms — 25 pts
- D · Transparency — 15 pts
Beside the Score · never a weight
- Third-party ratingsDated snapshots
- Social mentionsCounted, not interpreted
- Citation mixData, not a score
- AI visibility40 prompts × 7 engines
- Players’ ChoiceOne vote per operator
- Player reviewsNext to the facts
- Withdrawal flowObserved on-chain
- In the Score — the four arcs, 100 points
- Beside the Score — on the orbit, never a weight
Score v3 · draft v0.4.5
Today every profile shows “Not rated yet”.
How a fact gets onto a profile
One direction only — a fact never skips a stage. Live counts, 23 Oct 2026.
- Sourcethe operator’s terms, a regulator’s register1,469 facts with a source
- Claimedthe operator’s word, datedshown as Claimed until checked
- Verifiedread in the source that decides it190 verified
- On the profilechip · source · check date76 operator profiles
- Watchedre-read weekly; a change reopens the gate3 of 4 monitors running
Read in the source that decides it — the operator's binding terms for its own rules, an independent register for who it is and who licenses it.
190 verifiedTwo sources disagree. We publish both, verbatim, with a neutral note — no verdict.
Shown on the fact, never hiddenThe operator sent this to BullsRank. It isn’t on their site, so we couldn’t read it there. Dated the day we received it.
Never counted as a checked factNo source at all — shown as a gap, never filled with a guess.
Gaps listed on every profileThe field set
A fixed list of 32 fields, published in advance — the denominator is settled before the counting starts.
- Core fields — of 7
- X of 7
- the seven fields worth knowing before the rest of a profile means much (listed below). A gap here is not the same as a gap anywhere else, so they are counted on their own.
- Tracked fields — of 32
- Y of 32
- coverage: how many of the fixed 32-field list we hold on file, each with a source and a check date. It counts fields, not rows, and can never exceed 32.
- N sourced facts
- N
- the lead number, and the order of the catalog — the total volume of sourced rows on file. A field can hold more than one row, so this is not the same as coverage.
- on tracked fields · beyond the tracked set
- M · K
- the same sourced rows split in two: those that land on a tracked field, and those the list has no slot for.* Both carry sources and dates; they are rows, not fields, so they never fold into coverage.
Core field — 7 of the 32, the ones worth knowing before the rest of a profile means much
- Founded
- Legal name
- Licence
- KYC triggers
- Supported coins
- Deposit methods
- Withdrawal methods
- Deposit fees
- Withdrawal fees
- Minimum deposit
- Minimum withdrawal
- Withdrawal limit
- Max-win cap
- Stated pending time
- Stated withdrawal time
- Weekend cashouts
- Game providers
- RTP audit
- RNG certification
- Provably fair
- Deposit limits
- Wagering limits
- Loss limits
- Session-time limits
- Self-exclusion
- Cool-off periods
- Reality checks
- Self-assessment test
- Withdrawal lock
- Support channels
- Support languages
- FAQ / help centre
How the counts work
Every operator profile leads with the same four counts, in two lines. They measure different things and are never parts of one sum — this is exactly what the profile renders:
X, Y, N, M, K are each operator's own counts. The last segment shows only when K > 0.
The 32-field list is fixed in advance and published below, so coverage means the same thing for every operator — the denominator is settled before the counting starts, never stretched to fit what a given site happens to publish.
A field we have not established is shown empty. We never fill one to make a profile look complete — an empty row is information too.
The set is versioned. When a field is added, every operator's coverage moves with it, and the change is recorded in the methodology changelog.
* “beyond the tracked set” shows on a profile only when we hold sourced facts this list has no slot for — governing law, dormancy terms, complaint deadlines, and the like. It is a row count, reported separately so those facts are neither folded into coverage nor discarded; on profiles with none, the line simply does not appear.
Licence dates
Which of a register’s two dates is an expiry depends on the register.
A compliance-review window — not an expiry
The two dates bound a fixed six-month compliance-assessment window. A closed window means a cycle ended, not that the licence lapsed.
A plain term of validity
The end date is the register’s expiry. An unrecognised register falls to this cautious side on purpose: calling a real expiry a review period would let a lapsed licence keep a verified mark.
The full rule
A regulator's licence record carries two dates that read like “issued” and “expires” — but in the Curaçao register (read 29 Jul 2026) they are not the licence's validity. They bound a fixed six-month compliance-assessment window: every one of the 418 dated rows spans exactly six months, day-for-day, and the 193 rows with no end date carry the status “Indefinite”. A window that has closed means an assessment cycle has ended, not that the licence lapsed.
So a licence is treated as expired only when the register's own status word says “Expired” — the register keeps a distinct “Expired” status for that (32 rows in this edition), and we never infer it from a date. The LICENSE row shows the dates labelled for what they are — compliance-review period {issued} – {end} — alongside the register's status quoted verbatim. We never translate a closed window into a verdict the register never issued.
Not every register means the same thing by that column. Curaçao publishes a compliance-review period; Anjouan publishes a plain term of validity, and so does every register whose numbering we do not recognise. We decide which one it is from the licence number the register itself issued — OGL/ and CGA/ are review periods, ALSI- and anything unrecognised are terms of validity — and the LICENSE row then reads Licence issued {issued} · register expiry {end}, or, once that date is behind us, Register expiry date passed — {end}. An unrecognised register falls to the cautious side on purpose: calling a real expiry a review period would let a lapsed licence keep a verified mark.
A contract and accountability grade — not a verdict on the casino
A model extracts facts with verbatim quotes; points, caps and the grade are computed by code. The model never scores.
A · Accountability
30 ptsWho answers for the site, and does the regulator agree?
- A1Regulatory register status12
- A2Domain licence coverage6
- A3Named licence holder6
- A4Regulator supervision profile6
B · Money out
30 ptsWhat the terms say about getting your money out.
- B1Processing time8
- B2Withdrawal limits7
- B3Withdrawal fees5
- B4ID checks and my balance5
- B5Winning caps and instalments5
C · Fair terms
25 ptsWhether the terms let the operator take or keep what is yours.
- C1Withholding funds10
- C2Bonus rules4
- C3Inactive accounts3
- C4Changes to terms4
- C5Complaints and disputes4
D · Transparency
15 ptsWhat the operator discloses about itself and its games.
- D1Company disclosure4
- D2Sister brands2
- D3Self-control tools5
- D4Game fairness4
The letter comes from the sum. Today every profile shows “Not rated yet”.
- A 85–100
- B 70–84
- C 50–69
- D 35–49
- E 0–34
When there is no number
The licence is not confirmed by a register — only the operator’s statement, or the register says revoked, expired or suspended.
A required document was not collected. Not collected is not the same as not disclosed: no points are given.
We could not tie the site, the company and the licence together.
Capped at 49
One clause is enough to hold the grade at D or below. The reason and the quote print beside the number.
- Funds can be withheld at the operator’s discretion or on suspicion (C1)
- A deposit is forfeited over documents or deadlines (B4)
- An inactive account’s balance is taken (C3)
- The operator’s decision is final, or the right to dispute is waived (C5)
- The domain is covered by none of the operator’s licences, where the register publishes domains (A2)
Statuses over the number
- Watch
- An event that can move the grade — a domain dropped from the licence record, a register status change, a quote missing from new terms. The number turns grey for up to 90 days.
- Provisional
- Under monitoring for less than 90 days. A label, not a penalty.
- Stale
- Terms not re-read for more than 60 days. The number turns grey.
- Outlook
- After six months of history: positive, stable or negative, from the direction of events.
The orbit, one by one
Context for a reader. None of it moves the grade.
Social mentions
Not in the ScoreWe count mentions. We do not interpret them yet — sentiment ships only after manual calibration.
Monthly mentions by publication date. Two collection regimes — archive backfill and continuous collection (from 2026-08) — are drawn as separate segments: months are comparable within a segment, not across the break.
Reddit · 51 communities · Google News · forums & blogs · YouTube · X
How we count it
162,259 mentions · all channels · 24 mo total (incl. partial backfill)
- 01Mentions are counted, not interpreted.
- 02Complaint threads are tagged by dictionary.
- 03Sentiment classification ships only after manual calibration.
- 04Our own subreddit is excluded from collection — forever.
Sources evaluated
- Redditcounted (archives + licensed API)
- Trustpilot / Casino Gurucounted (snapshots)
- Forums & blogscounted — open host map, grows from data
- Google News / RSScounted (headlines & announcements)
- YouTubecounted (videos & comments)
- Xcounted — found via search, not a stream
- On-chain walletscounted
- Quoraexpansion queue
- Own accountsplacements, not mentions — never counted as community voice; echoes are counted
Citation mix
Not in the ScoreA panel of three models labels each mention into one bucket; an independent arbiter settles disagreements. No single model decides.
- Organic +
- Neutral
- Negative
- Sponsored
- Spam / shilling
How we count it
To show the mix of what communities say — without inventing a sentiment number — a panel of three independent foreign-vendor models labels each mention into a reputation bucket, with an independent arbiter resolving disagreements and the accusatory calls. The label is data, not a score: it never enters any Score at any weight, and its accuracy is measured against a hand-graded sample the panel never sees, and the measurement is published with the version that produced it.
- Organic + A first-hand positive: paid out, fast withdrawal, recommends — with no promo attached.
- Neutral A genuine mention with no clear positive or negative valence.
- Negative A complaint — non-payment, frozen funds, KYC loop — matched by our complaint dictionary.
- Sponsored Promo / affiliate voice: bonus codes, referral links, “top-N” listicles, agency authors. Not a genuine opinion.
- Spam / shilling The same templated text repeated across threads.
- 01Three foreign-vendor voters (OpenAI, Google, DeepSeek) + an independent Anthropic arbiter on any disagreement or accusatory call — no single model decides, and the arbiter is never shown which brand collected the row.
- 02Precedence: spam > sponsored > negative > positive > neutral (promo and spam are never genuine signal).
- 03Versioned (
s45-panel-v6) and re-runnable; every label records the rules that fired. - 04Quora is in the expansion queue — nothing from it is counted yet. Telegram joins once its public-channel list is active.
Panel accuracy · s45-panel-v6
Hand-graded sample · 763 rows · holdout · 118 rows the panel never sees.
Accuracy is measured against a hand-graded holdout the panel never sees. Until a measurement is published here, bucket counts are shown as data with the version that produced them.
Bucket mix is context, published as counts. It does not enter any Score.
AI visibility
Not in the Score40 questions put to six AI assistants and Google Search through their APIs — 280 answers a month. We publish the question themes, never the exact wordings.
Read 7–8 Oct 2026 · monthly · being named is not an endorsement
How we count it
Prompt matrix · 280 cells · read 7–8 Oct 2026 · weighted composite ships Q4 2026
- Presence35
- Context25
- Position15
- Citation share15
- Momentum10
We ask through the providers' official APIs; we don't automate the apps people use. Our July 2026 baseline was read by hand in those apps, so it isn't directly comparable.
Today's figure is a raw presence count — how often each operator is named. The weighted composite above is the Q4 2026 metric: the Q4 promise stands, refined — weights then, raw presence now.
18 of the 40 questions name an operator. When the answer names that same operator, it is counted separately — the grey +N — and not in the main number.
The 40-prompt set is frozen and archived. We publish the question themes, never the exact wordings — that would let operators optimise for the measurement instead of for users.
Players’ Choice
Not in the ScorePopularity, counted honestly: one vote per signed-in player for each operator, and it stays. A burst of votes from many accounts on one network is rejected with its reason.
Raw IP never stored · one vote per player per operator
How we count it
Players' Choice is a popularity signal and nothing more — it never enters a safety rating. Each signed-in player aged 18 or over can vote once for each operator, “for” only, for up to 10 operators a day. An operator's number is the count of accepted votes. A vote is final once cast and stays for as long as the player's account exists; deleting the account removes its votes.
Anti-abuse runs the moment a vote lands. A burst of votes from 5 or more different accounts on one network within 10 minutes is recorded as rejected, with its reason, and does not enter the count.
We keep only what anti-abuse needs — the age of the account and a hashed network prefix. Neither the raw IP address nor the email address is stored with a vote. When an account is deleted, its votes are removed; a keyed fingerprint of its email address is kept for 12 months, and a vote from an account opened again with that address counts from 14 days after sign-up.
Player reviews
Not in the ScoreFirst-person accounts shown next to the facts, not weighed against them. We don’t tag reviews by origin — a match on time or IP is a guess, not a fact.
One vote per person · rate limits · moderation
How we count it
- 01Reviews never enter the BullsRank Score and never move an operator's place in the catalogue. They are a first-person record shown next to the facts, not weighed against them.
- 02Operators may invite their own players to leave a review. We do not distinguish an invited reviewer from one who came on their own, and we do not tag reviews by origin — an invite link is indistinguishable from a shared profile link, and a match on time or IP is a guess, not a fact. We will not print a guess beside records that each carry a source and a date.
- 03The defence against manipulation is built on behaviour, not origin: one vote per person, rate limits, the filtering of throwaway accounts, and moderation. Reviews open after the voting beta; these measures firm up as review intake is built.
Popularity is never mixed into a safety rating.
Trustpilot & Casino Guru
Not in the ScoreWe don’t copy other people’s ratings. We show their score and complaint counts as a dated snapshot, with a link to the page.
Snapshot date on every rating
How we count it
Third-party complaint records (Casino Guru) are published verbatim — resolved · unresolved · open of N complaints on file, with a link to the snapshot. Any resolution rate we rank by internally is a Wilson 95% lower bound of resolved / (resolved + unresolved), open complaints excluded — never a public score.
Correction, 16 Oct 2026: between 7 Aug and 16 Oct 2026 our reader took the complaint figures from the wrong place on Casino Guru's page, so profiles showed its open count as "unresolved" and its unresolved count as "resolved" (61 profiles at least once). The reader was fixed and all Casino Guru figures were re-read on 16 Oct 2026.
Withdrawal flow
Not on any profile yetThe rhythm of outgoing payments from wallets we can attribute to an operator — counts and intervals, never balances or amounts.
Four attribution methods, each with a source and a date
How we count it
For operators whose payout wallets we can attribute, we watch the rhythm of outgoing payments on-chain. An outflow is a transaction where an attributed wallet is the sender. We publish counts over rolling windows (24h · 7d · 30d), the median interval between outflows over 7 days, and the time of the last observed outflow — never balances, never amounts, never deposits.
- 01 · Official pageOperator-published addressThe operator lists the wallet on its own site or proof-of-reserves page.
- 02 · Support confirmationConfirmed by the operatorSupport or an official channel confirmed the address to us, with a date.
- 03 · On-chain patternBehaviour-attributedClustering / withdrawal-test tracing links the wallet to the operator.
- 04 · Third partyIndependent attributionA named third party attributes it; we record the source and date.
Every attributed wallet carries a method, a source and a check date. A wallet with no recoverable source is unverified and never enters the public flow.
- Known hot wallets only — operators rotate wallets, so coverage is non-exhaustive.
- Absence of observed activity ≠ absence of payouts.
- Observed from public chain data, deduplicated by transaction hash.
Withdrawal flow is observed activity — it does not enter any Score at any weight.
Every measure in one table — source, cadence, in the Score or not
| What we measure | Source | Cadence | In the Score? | Where you see it |
|---|---|---|---|---|
| Licence & register record | Regulators’ registers | Weekly | In the Score | Pillar A |
| The operator’s terms | Terms, read and quoted verbatim | Weekly | In the Score | Pillars B, C, D |
| Payout tests | Transaction hashes | — | Check layer | A check on the terms — not a component |
| Third-party ratings | Their public pages, snapshot with date | — | Not in the Score | Trustpilot · Casino Guru |
| Social mentions | Reddit, forums, news, YouTube, X | Continuous | Not in the Score | Social reputation |
| Citation mix | A labelled sample of mentions | — | Not in the Score | — |
| AI visibility | 40 questions × 7 engines | Monthly | Not in the Score | AI visibility |
| Players’ Choice | Signed-in players, one vote per operator | Live — every accepted vote | Not in the Score | Players' choice |
| Player reviews | Signed-in players, moderated | — | Not in the Score | Community reviews |
| Withdrawal flow | Public chain data | — | Not in the Score | Not on any profile yet |
What we re-read, and what we refuse to do
A fact is checked once and then watched.
- UptimeRunningEvery 2h10:34 UTC · 450/462 OK
- T&C diffRunningWeeklyterms compared 20 Oct 2026 · last reviewed change 28 Jul 2026
- Regulatory watchRunningWeekly09:48 UTC · 30 of 63 licence checks read the register record
- Payout pulseStandby—no measurement taken yet
The limits are part of the method
- 01We don't bypass anti-bot protection — if a source blocks us, we say so.
- 02We don't sell positions, scores or removals.
- 03We don't publish uncalibrated sentiment.
- 04We don't copy other people's ratings — we link to them with dates.
Questions
Why is no operator rated yet?
What happens when a verified fact changes?
Can an operator dispute a fact?
Why keep a claim on the page once it is contradicted?
Changelog
BullsRank Research Methodology · v2.0
- 30 SEP 2026Page rebuilt in four parts — facts, the Score, what sits beside it, monitoring and limits. The Score section describes Score v3 (draft) in place of Score Formula v1.0.
- 8 AUG 2026Research Methodology v2.0 published: status pipeline, anatomy of a fact, social method with a sources-evaluated register, and the monitor board — all wired to live counts.
BullsRank Score
- 25 SEP 2026Score v3 draft v0.4.5 — four pillars, 100 points, grades A–E, published on this page for review.
- 2026-07Score Formula v1.0 locked: five weighted components (30 / 25 / 20 / 15 / 10), published in full. Superseded by the v3 draft.
