Signup Protection Pricing Documentation Sign up Log in

The Firewall for User Signups.

A rule-based decision engine for your authentication flow. Block bots, allow humans, and dynamically challenge suspicious traffic via a single API call.

Gates Dashboard Preview

Trusted by thousands of developers

  • Quizlet
  • Malt
  • Covery
  • Webflow
  • Speechlab
  • Opus Clip

Features

Rule-based protection for any user action in your application.

Stop bad actors at the door with intelligent validation that adapts without code changes.

Real-Time Analytics

Watch traffic in real-time

Monitor decision velocity and catch sudden spikes in bot activity before they impact your infrastructure.

Real-Time Analytics

Statistics

Identify risk patterns

View breakdowns of matched rules and high-risk signals to understand exactly who is targeting your app.

Statistics

Decision Logs

Debug issues instantly

Search any request to see the full "why" behind a decision. Perfect for resolving support tickets and auditing false positives.

Decision Logs

Rule Builder

Iterate without deploying

Create and update complex validation logic visually. Push new rules to production immediately, no code required.

Rule Builder

Signals

30+ Intelligence Signals

Build powerful rules using comprehensive email, domain, and IP data

Disposable Email
Domain Age
10,948 days
VPN Detected
Role Account
MX Records
Country
Hong Kong
Public Domain
ASN
13335
Subaddress
+test
Proxy Detected
Hosting Detected
Continent
Asia
Blocklisted
Tor Exit Node
Network Type
hosting
Spam Domain
Relay Domain
Abuse Detected
City
Hong Kong
TLD
.com
Relay Detected

Rule Engine

Logic that updates without a deploy

Build Gates for signups, password resets, high-value actions, or anywhere abuse starts. Mix email, domain, and IP signals with clear allow, challenge, and block outcomes.

Rules 3 active
Disposable email
Block
VPN or proxy detected
Challenge
No MX records
Block
No rules matched Allow

Integration

One API Call, Instant Protection

Send user data to your Gate and get a decision in milliseconds. Offload complex validation logic without slowing down your UX.

1

request.sh

curl --request POST \
    --url https://api.usercheck.com/v0/gates/{gate_id}/decisions \
    --header 'Authorization: Bearer V09XIFlPVSdSRSBBIEhBQ0tFUg==' \
    --json '{
        "email": "[email protected]",
        "ip": "1.1.1.1"
    }'
2

response.json

{
  "decision": {
    "action": "block",
    "matched_rule": {
      "name": "Block domains with no MX records",
      "message": "This domain is invalid."
    }
  },
  "signals": {
    "email": { "disposable": false, "role_account": true },
    "domain": { "mx": false, "age_days": 10948 },
    "ip": { "geo": { "country": "Hong Kong" } }
  }
}
{
  "input": {
    "email": "[email protected]",
    "ip": "1.1.1.1"
  },
  "decision": {
    "action": "block",
    "matched_rule": {
      "id": "01k1hxqrn2f7xfreq20y0p012d",
      "name": "Block domains with no MX records",
      "message": "This domain is invalid."
    }
  },
  "signals": {
    "email": {
      "address": "[email protected]",
      "normalized": "[email protected]",
      "domain": "example.com",
      "local_part": "user",
      "local_part_length": 5,
      "subaddress": null,
      "disposable": false,
      "role_account": true
    },
    "domain": {
      "name": "example.com",
      "tld": "com",
      "sld": "example",
      "subdomain": null,
      "age_days": 10948,
      "mx": false,
      "mx_records": [],
      "disposable": false,
      "public_domain": false,
      "relay_domain": false,
      "spam": false,
      "blocklisted": false
    },
    "ip": {
      "address": "1.1.1.1",
      "abuse": { "detected": false },
      "anonymity": {
        "proxy": { "detected": false },
        "relay": { "detected": false },
        "tor": { "detected": false },
        "vpn": { "detected": false }
      },
      "geo": {
        "city": "Hong Kong",
        "country": "Hong Kong",
        "country_code": "HK",
        "continent": "Asia",
        "continent_code": "AS"
      },
      "hosting": { "detected": true },
      "network": {
        "asn": 13335,
        "aso": "Cloudflare, Inc.",
        "domain": "cloudflare.com",
        "type": "hosting"
      }
    }
  },
  "meta": {
    "version": "0.1",
    "request_id": "01K1SKM0ZDCEEES5QA9N3M5EPX",
    "duration_ms": 52.62,
    "created_at": "2025-08-04T03:57:18+00:00"
  }
}

Comparison

Gates vs. Email/Domain API

Gates is built on top of our email/domain signals and adds IP intelligence + handles the decision logic for you.

  Email/Domain API Gates
Email & domain signals
IP intelligence
Decision logic You build it Visual rule builder
Update rules Requires deploy Instant, no code
Decision audit log You build it
Real-time analytics You build it

Included in Pro

Gates is available on all Pro plans, starting at $50/month.
No extra fees, unlimited rules.

Frequently asked questions

If you have anything else you want to ask, reach out to us.

Secure your signup flow in under 5 minutes

Create your first Gate today and start protecting your application with rule-based intelligence.

Create Your First Gate

1,000 free requests each month. No credit card required.