How to Block Fake Account Signups

Guides·August 25, 2026·2 min read

Fake signups distort metrics, drain free trials and hide fraud. Learn a practical, layered approach to blocking them with email, phone and IP risk signals.

Fake account signups are more than a vanity-metric problem. They soak up free-trial credits, poison your analytics, seed spam and reviews, and give fraudsters a foothold. The good news: most fake signups share a handful of tell-tale signals, and you can block the majority without adding friction for real users.

Why fake accounts get created

  • Promo and trial abuse, one person claiming a bonus many times over.
  • Bots and scraping, automated accounts to inflate numbers or extract data.
  • Spam and manipulation, fake reviews, votes, or messages.
  • Fraud staging, disposable accounts used to test stolen cards or launder activity.

The signals that expose them

Fake signups cluster on cheap, disposable infrastructure. Screen three things at registration:

  • Email, disposable domains, undeliverable mailboxes, and alias tricks that let one inbox look like many.
  • Phone, VoIP and prepaid numbers used to pass verification cheaply.
  • IP, datacenter ranges and known VPNs that hide automation and location.

Any one of these can be innocent. Together, they are a near-certain fake, which is why combining them is the key.

A layered approach

  1. Score at registration with a risk API before the account is created.
  2. Combine signals, take the worst level across email, phone and IP, or sum weighted signals.
  3. Apply graduated friction, allow low risk, challenge medium, block high.
  4. Add velocity limits, catch distributed attacks that stay under the per-signup radar.
gate a signup
const email = await score("email_risk", { email });
const ip = await score("ip_risk", { ip: clientIp });

const risky =
  email.risk.level === "high" ||
  ip.ip_features.known_vpn ||
  ip.ip_features.classification === "datacenter";

if (risky) requireVerification();   // or block on high-value actions
else allow();

Keep real users out of the crossfire

The goal is not zero fake accounts at any cost, it's the best trade-off. Hard-blocking on a single signal creates false positives; graduated friction (an extra verification step for medium risk) stops the obvious abuse while letting genuine users through. Tune thresholds from your own data over time.

One call, one decision: RiskUnified scores email, phone and IP from a single API and credit pool, so you can gate signups on a combined verdict in one integration.

Frequently asked questions

How do I stop fake account signups?

Score email, phone and IP risk at registration, combine the signals into one verdict, and apply graduated friction: allow low risk, challenge medium, block high. Add velocity limits to catch distributed bot attacks.

What are the best signals for detecting fake accounts?

Disposable or undeliverable emails, VoIP and prepaid phone numbers, and datacenter or known-VPN IPs. Fraud clusters where several of these appear together.

Will blocking fake signups hurt real users?

Not if you use graduated friction instead of hard blocks on a single signal. Add an extra verification step for medium risk and reserve blocks for high-confidence cases.

Try RiskUnified free

Score email, phone and IP risk from one API. 100 free credits every month, no credit card required.

Keep reading

How to Block Fake Account Signups | RiskUnified