Stop duplicate accounts
Identify repeat registrations and suspicious account clusters before they impact promotions, payouts, bonuses, or trust in your platform.
FraudGuard.dev helps partner platforms identify duplicate accounts, disposable email abuse, bonus and promo misuse, and short-lived registrations created only to exploit onboarding or commercial flows.
Identify repeat registrations and suspicious account clusters before they impact promotions, payouts, bonuses, or trust in your platform.
Reduce abuse linked to temporary email providers and low-quality signups with automated screening in your onboarding flow.
Automatically check whether a registering email has appeared in known data breaches. Breach names, exposed data types, and recency are surfaced directly in the alert detail — no manual lookups needed.
Check MX records, SPF/DMARC authentication, domain age, TLD risk, and optionally EmailRep.io — three layers of free DNS-based checks that fire before any paid API is called.
Go beyond pairwise comparisons — build an identity graph and surface account rings where no individual pair exceeds the threshold but the cluster as a whole is a clear fraud signal.
GraphSAGE-based fraud detection scores every account independently using graph-embedded behavioural features — surfacing coordinated abuse that hides below pairwise detection thresholds.
Drag-and-drop pipeline builder lets you decide which checks fire on registration, deposit, update, or login — and whether slow checks (OSINT, GNN) run synchronously or asynchronously with a callback.
Add condition nodes to your pipeline that branch based on player attributes: route UK deposits over £2 000 through a mandatory sanctions re-check, or skip heavy async checks for low-risk countries — all without writing code.
Assign open alerts to specific team members directly from the alert modal. Track ownership, prevent duplicate investigations, and measure individual reviewer throughput — all within the dashboard.
Detect shared payment instruments — card fingerprint, IBAN, or crypto wallet — across multiple accounts in your tenant. Any deposit event that shares a financial token with an existing player triggers an immediate high-confidence alert.
Opt in to share privacy-preserving SHA-256 hashes of blocked player PII with the FraudGuard.dev network. Incoming registrations are checked against the community blacklist before the player has a chance to act.
Record the registration bonus value for each player at sign-up. When duplicates are blocked the platform automatically sums the prevented bonuses, subtracts platform fees, and shows your net return on fraud prevention spend.
Every individual check is recorded with its price, sanitised result, player identifier, and timestamp. Tenants can query their full transaction log — no more "why is my bill this high?" questions.
Use FraudGuard.dev as a lightweight service in signup, login, KYC review, underwriting, bonus control, or operational risk workflows.
MGA and UKGC regulations require ongoing screening — not just at registration. FraudGuard.dev re-screens every active player against OFAC, EU Consolidated, and UN Security Council lists daily, automatically raising an alert when a player transitions from Clear to Hit.
When a new registration fuzzy-matches a self-excluded player's identity, FraudGuard.dev flags the alert immediately with a self-exclusion risk warning. Prevent problem gamblers from bypassing exclusions with slight name or email variations — before they deposit.
Standardise how your team closes fraud alerts. Require analysts to select a reason — Bonus Abuse, Multi-accounting, Identity Theft, Underage, or False Positive — when confirming or blocking. Reason codes feed directly into ROI analytics and compliance reports.
One click generates a branded Due Diligence audit PDF for any player: full check-transaction history, operator audit log, resolved alerts, and sanctions screening record. Ready to hand to an MGA or UKGC inspector on demand — no manual compilation.
Extend fraud coverage to the cashout stage. A dedicated withdrawal event webhook runs duplicate detection, abuse scoring, and payment velocity checks — catching cash-out fraud by ring accounts before funds leave the platform.
Flag coordinated account farms sharing a common device fingerprint. When the same device ID appears across a configurable number of distinct accounts, FraudGuard.dev raises an automatic alert — catching device-farm multi-accounting that bypasses name and email checks.
Go beyond single-signal blacklists. When a player is blocked, privacy-preserving cross-player signal combinations — email+card, phone+IBAN — are stored as pattern hashes. New registrations matching a community-seen combination are flagged before duplicate checks run.
The Graph Neural Network connects players who log in from the same IP within a 5-minute window. These time-based edges reveal coordinated ATO groups and deposit-then-withdraw rings that rotate IPs — invisible to static signal matching alone.
Some fraud vendors advertise 500+ or 800+ "signals". Those numbers usually count the same data field multiple ways, or list sub-features of a single lookup. FraudGuard.dev runs 56 distinct checks — each one resolves a different data point from a different source. Here's the full breakdown:
Payment card · IBAN · crypto wallet · device fingerprint · phone · email (exact + fuzzy) · full name (fuzzy) · date of birth + surname · date of birth · residential address · country. Each is independently scored and contributes to a weighted confidence total.
Disposable email domain · email in breach database (XposedOrNot) · domain MX record · SPF authentication · DMARC policy · domain age (WHOIS) · risky TLD · EmailRep.io score · VPN CIDR · proxy CIDR · Tor exit node · Spamhaus DNSBL · SpamCop DNSBL · SORBS DNSBL · IP country vs declared country (MaxMind GeoLite2) · IP jurisdiction vs licensed countries · prepaid card (BIN DB, 343 k BINs) · card country mismatch · commercial card · tenant phone blacklist · phone country mismatch (libphonenumber) · VoIP number · landline number · unknown line type · invalid phone format · new device for existing account · country change on login · impossible travel · brute force login · VoIP/proxy login.
Name + date-of-birth fuzzy match against EU consolidated sanctions, UN Security Council list, and OFAC SDN list. Stored locally for sub-millisecond lookup with optional live OpenSanctions API fallback.
OSINT presence check across 11 social platforms via Holehe — GitHub · Twitter/X · Instagram · Spotify · Reddit · Pinterest · Tumblr · Flickr · MySpace · WordPress · eBay. Uses each platform's "forgot password" flow to detect registration without sending any credentials. A real person typically appears on 2+ platforms; zero presence is a strong signal of a throwaway account. Results stored per-player and available in the dashboard.
"We were losing significant bonus budget to repeated registrations every month. After integrating FraudGuard.dev into our onboarding flow, duplicate account detections went up immediately and the manual review queue shrank."
— Risk & Compliance Lead, online gaming operator
"Integration was straightforward — a single webhook endpoint, a secret header, and results back in under 200 ms. Our team had it running in a day. The confidence scoring made it easy to decide what to auto-block versus send to a reviewer."
— Head of Product, digital lending platform
Screen suspicious account creation and repeated identities across quote, application, and customer onboarding flows.
Reduce repeated applications, promo abuse, disposable email usage, and other patterns linked to short-lived borrower accounts.
Detect duplicate player accounts, bonus hunting, and throwaway registrations created only to exploit an offer or a loophole.
Support anti-abuse controls for welcome bonuses, repeated signups, and account churn tied to abusive user behavior.
Three steps from sign-up to live duplicate detection — no machine learning dependencies, no infrastructure to manage.
Create your account and receive a webhook secret. One API call or a few clicks in the dashboard — your isolated tenant is ready immediately.
POST registration and deposit events to your dedicated endpoint. FraudGuard.dev normalises the data, runs matching across all configured signals, and returns a verdict in real time.
Each response includes a confidence score, a recommendation (ALLOW / REVIEW / FLAG / AUTO_BLOCK), and a signal breakdown so your team always knows why a decision was made.
POST /api/v1/webhook/your-slug/main/registration
X-Webhook-Secret: your-app-secret
{
"player_id": "PLAYER_001",
"email": "[email protected]",
"first_name": "James",
"last_name": "Martin",
"date_of_birth": "1988-07-22",
"phone": "+12025550147",
"country": "US"
}
← 200 OK
{
"status": "ok",
"alerts_raised": 1,
"alerts": [{
"confidence": 0.94,
"recommendation": "AUTO_BLOCK",
"explanation": "Identical phone; Same DOB + last name 97%; Normalised email match"
}],
"clusters_found": 1
}
Standard duplicate detection compares accounts in pairs. Ring fraud defeats this by distributing shared signals across a chain: account A shares a phone with B, B shares an address with C, C shares a card with D — no single pair exceeds the review threshold, but the group as a whole is obvious fraud.
Every player account is a node. Edges are drawn between accounts with pairwise similarity above a low threshold (0.15), capturing weak links invisible to standard pairwise checks.
Union-Find algorithm groups accounts into clusters. A cluster of 10 accounts linked through a chain — even with no single pair exceeding the flag threshold — surfaces as a single high-confidence ring alert.
Each cluster receives a composite score based on average pairwise confidence, graph density, and cluster size. Clusters above the review threshold are persisted as ring alerts reviewable in the dashboard.
POST /dashboard/clusters/detect for larger tenantsStart free. Pay only for what you use. No hidden fees, no setup costs.
For smaller operators getting started.
Checks pause when quota is reached. Upgrade anytime to continue without interruption.
Start free trialFor active operators with steady registration volume.
For high-volume operators and multi-property platforms.
Need higher volumes, custom SLAs, or white-label options? Talk to us about enterprise pricing →
Tell us about your traffic, onboarding flow, and abuse patterns, and we will help you choose the right setup.
Most teams are live within one business day. The integration involves a single webhook endpoint per event type (registration, deposit) and a secret header for authentication. No SDK required — any HTTP client works. We provide full documentation and can do a live walkthrough on request.
At minimum: player_id, email, first_name, and last_name. Each additional field you provide (date of birth, phone, address, country, payment card fingerprint, IBAN, crypto wallet) adds more detection signals and improves accuracy. Sending partial data is fine — the engine scores based on what is available.
Yes. The API is synchronous — you receive the verdict in the same HTTP response, typically in under 200 ms. This makes it suitable for use inside registration flows, KYC gates, bonus allocation checks, and any other latency-sensitive workflow.
Every tenant operates in complete isolation. Player records, alerts, and settings are scoped to your tenant at the database level and never shared with other operators. Data is stored in a secure European datacenter and encrypted at rest. We do not use your data to train models or share it with third parties.
Yes. We offer a structured pilot for qualified operators — a limited volume of checks at no charge so you can validate detection quality on your own data before committing to a subscription. Contact us to discuss eligibility and setup.
On the Growth and Business plans, additional checks above your monthly quota continue automatically at a fixed overage rate (€0.012 or €0.010 per check respectively), so your onboarding flow is never interrupted. On the Starter plan, checks pause when the quota is reached — this is intentional for cost predictability. You can upgrade to Growth or Business at any time from the dashboard to remove the hard stop.
Yes. You can upload a CSV file from the dashboard or via the API to import existing player records. The system runs duplicate detection across the imported data and surfaces alerts for any matches found, so you can act on historical fraud before it carries forward.
Use this form to request a demo, discuss your use case, or ask about commercial terms.