Research Methodology v2.0Score v3 · draft

Every 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.

A · Accountability30 of 100 points
B · Money out30 of 100 points
C · Fair terms25 of 100 points
D · Transparency15 of 100 points
100points · graded A–E
  • A · Accountability — 30 pts
  • B · Money out — 30 pts
  • C · Fair terms — 25 pts
  • D · Transparency — 15 pts

Beside the Score · never a weight

  • 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”.

01 · Facts

How a fact gets onto a profile

One direction only — a fact never skips a stage. Live counts, 23 Oct 2026.

  1. Sourcethe operator’s terms, a regulator’s register1,469 facts with a source
  2. Claimedthe operator’s word, datedshown as Claimed until checked
  3. Verifiedread in the source that decides it190 verified
  4. On the profilechip · source · check date76 operator profiles
  5. Watchedre-read weekly; a change reopens the gate3 of 4 monitors running
See one verified licence fact end to end on the 1xBit profile →
Claimed

The statement and the page it came from, with the date we read it.

Read date on every claim
Verified

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 verified
Disputed

Two sources disagree. We publish both, verbatim, with a neutral note — no verdict.

Shown on the fact, never hidden
Sent to us

The 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 fact
Not checked

No source at all — shown as a gap, never filled with a guess.

Gaps listed on every profile

The 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

General 4
  • Founded
  • Legal name
  • Licence
  • KYC triggers
Payments 12
  • 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
Games 4
  • Game providers
  • RTP audit
  • RNG certification
  • Provably fair
Responsible gambling 9
  • Deposit limits
  • Wagering limits
  • Loss limits
  • Session-time limits
  • Self-exclusion
  • Cool-off periods
  • Reality checks
  • Self-assessment test
  • Withdrawal lock
Support 3
  • 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.

Curaçao · numbers OGL/ and CGA/

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.

On the profileCompliance-review period {issued} – {end} · register status “{status}”
418 dated rows, every one exactly six months · 193 “Indefinite” · 32 “Expired” — register read 29 Jul 2026
Anjouan · numbers ALSI- and any register we don’t recognise

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.

On the profileLicence issued {issued} · register expiry {end} → Register expiry date passed
We decide which kind from the licence number the register itself issued.
RuleA licence is treated as expired only when the register’s own status word says “Expired”. We never infer it from a date.
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.

02 · The Score

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.

Draft v0.4.5 — not published

A · Accountability

30 pts

Who 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 pts

What 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 pts

Whether 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 pts

What the operator discloses about itself and its games.

  • D1Company disclosure4
  • D2Sister brands2
  • D3Self-control tools5
  • D4Game fairness4
Grades

The letter comes from the sum. Today every profile shows “Not rated yet”.

  1. A 85–100
  2. B 70–84
  3. C 50–69
  4. D 35–49
  5. E 0–34

When there is no number

U · Unconfirmed

The licence is not confirmed by a register — only the operator’s statement, or the register says revoked, expired or suspended.

Insufficient evidence

A required document was not collected. Not collected is not the same as not disclosed: no points are given.

Identity not confirmed

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.
03 · Beside the Score

The orbit, one by one

Context for a reader. None of it moves the grade.

Social mentions

Not in the Score

We count mentions. We do not interpret them yet — sentiment ships only after manual calibration.

162,259mentions · all channels · 24 months, incl. partial backfill
archive backfillcontinuous collectionmonth to date

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)

  1. 01Mentions are counted, not interpreted.
  2. 02Complaint threads are tagged by dictionary.
  3. 03Sentiment classification ships only after manual calibration.
  4. 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 Score

A 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
AccuracyNot yet measured — hand-graded holdout of 118 rows the panel never seesclassifier s45-panel-v6 · sample 763 rows
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.
  1. 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.
  2. 02Precedence: spam > sponsored > negative > positive > neutral (promo and spam are never genuine signal).
  3. 03Versioned (s45-panel-v6) and re-runnable; every label records the rules that fired.
  4. 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 Score

40 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.

See the latest run →

Players’ Choice

Not in the Score

Popularity, 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 Score

First-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
  1. 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.
  2. 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.
  3. 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 Score

We 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 yet

The 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.

  1. 01 · Official pageOperator-published addressThe operator lists the wallet on its own site or proof-of-reserves page.
  2. 02 · Support confirmationConfirmed by the operatorSupport or an official channel confirmed the address to us, with a date.
  3. 03 · On-chain patternBehaviour-attributedClustering / withdrawal-test tracing links the wallet to the operator.
  4. 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 measureSourceCadenceIn the Score?Where you see it
Licence & register recordRegulators’ registersWeeklyIn the ScorePillar A
The operator’s termsTerms, read and quoted verbatimWeeklyIn the ScorePillars B, C, D
Payout testsTransaction hashes—Check layerA check on the terms — not a component
Third-party ratingsTheir public pages, snapshot with date—Not in the ScoreTrustpilot · Casino Guru
Social mentionsReddit, forums, news, YouTube, XContinuousNot in the ScoreSocial reputation
Citation mixA labelled sample of mentions—Not in the Score—
AI visibility40 questions × 7 enginesMonthlyNot in the ScoreAI visibility
Players’ ChoiceSigned-in players, one vote per operatorLive — every accepted voteNot in the ScorePlayers' choice
Player reviewsSigned-in players, moderated—Not in the ScoreCommunity reviews
Withdrawal flowPublic chain data—Not in the ScoreNot on any profile yet
04 · Monitoring & limits

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

  1. 01We don't bypass anti-bot protection — if a source blocks us, we say so.
  2. 02We don't sell positions, scores or removals.
  3. 03We don't publish uncalibrated sentiment.
  4. 04We don't copy other people's ratings — we link to them with dates.
Why is no operator rated yet?
The Score is being rebuilt. Score v3 grades what an operator’s terms and the regulators’ registers say, in four pillars, and it is still a draft — shown in full in part 2 of this page. Until it is published, every profile shows “Not rated yet”, and nothing is estimated in the meantime.
What happens when a verified fact changes?
The monitor that catches the change reopens the gate: the fact returns to pending, it is re-read in the source that decides it, and the check date updates. The old value stays in the record with its date.
Can an operator dispute a fact?
Yes. Correcting a factual error is free, for every company, forever. A disputed fact is re-checked against its primary source; if we were wrong, we fix it, and the corrected claim carries its new check date. Positions and scores are never for sale.
Why keep a claim on the page once it is contradicted?
Because the contradiction is itself a fact. When two sources disagree we publish both, verbatim, with our neutral note — no verdict. Removing the record would hide the very thing a reader needs to see.
BullsRank. (2026). BullsRank Research Methodology v2.0. https://bullsrank.com/methodology, accessed 16 OCT 2026.

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.