AI token fraud_

AI token fraud prevention.
Powered by device intelligence.

Stop free-tier farming, account sharing, and automated abuse. Protect your inference budget without adding friction for real users.

Why Fingerprint_

Don’t let abusers
burn your tokens

Stop free-tier farming

Link new signups to devices that already claimed free credits.

Enforce plan limits

Catch paid accounts shared across devices and locations.

Block automated abuse

Stop bots, VMs, and spoofed AI agents before they reach your models.

Keep signup frictionless

No CAPTCHAs for real users. Stays compliant with GDPR and CCPA.

How it works

One device. One free tier.

https://yourcompany.com

Step 1

Martin signs up and gets free tokens.

Get 100K free tokens!

No credit card required. Start building now.

Martin's device

[VISITOR ID: 2FKJSALFJGNNDO]

Bots and AI agents_

Allow trusted agents.
Block the rest.

Let signed AI agents through. Stop spoofed agents and bots before they spend your tokens.

Allow signed agents
with confidence

ChatGPT Agent

Signed

Verified AI Agent

Block spoofed agents
and impersonation

Sign In

user@example.com

•••••••••
Sign In
ClaudeBot

Distinguish trusted agents
from malicious bots

acme.com/cart
Shopping Cart (2 items)

Leather jacket

Size: L, Burgundy

Leather jacket

Size: L, Burgundy

Checkout
Analyzing

Smart Signals_

Smart Signals for
token fraud prevention

Spot the farms, scripts, and resets behind token abuse. Act on them in real time.

Velocity Signals

Count accounts per device and IPs per account.

Velocity Signals, signal 1 of 10
{
  "distinct_ip": {
    "5_minutes": 1,
    "1_hour": 1,
    "24_hours": 1
  },
  "distinct_country": {
    "5_minutes": 1,
    "1_hour": 2,
    "24_hours": 2
  },
  "events": {
    "5_minutes": 1,
    "1_hour": 5,
    "24_hours": 5
  }
}

Code example_

Device checks in every token path

Free credits

Grant free-tier tokens once per device, not once per email.

related signals
Velocity SignalsVirtual MachineTampering
async function grantFreeCredits(req, res) {
  const { eventId, userId } = req.body;

  const event = await client.getEvent(eventId);
  const visitorId = event.identification?.visitor_id;

  const isBadBot = event.bot === 'bad';
  const isVirtualMachine = event.virtual_machine;
  const isTampered = event.tampering;
  // Needs linkedId (the account ID) sent from the client
  const accounts = event.velocity?.distinct_linked_id?.['24_hours'];
  const priorGrants = await countGrantsForVisitor(visitorId);

  if (isBadBot || isVirtualMachine || isTampered ||
      accounts > 1 || priorGrants > 0) {
    return res.status(403).json({ error: 'Free credits unavailable' });
  }

  await addCredits(userId, FREE_TIER_TOKENS);
  res.json({ status: 'granted' });
}

Usage

Throttle spoofed agents and abnormal request volume before they reach your models.

related signals
AI AgentSuspect ScoreHigh-Activity Device
async function handleCompletion(req, res) {
  const { eventId, accountId, prompt } = req.body;

  const event = await client.getEvent(eventId);
  const visitorId = event.identification?.visitor_id;

  const spoofedAgent = event.bot_info?.identity === 'spoofed';
  const suspectScore = event.suspect_score;
  const highActivity = event.high_activity_device;
  const knownDevice = await isKnownDevice(accountId, visitorId);

  if (spoofedAgent || suspectScore > 20 ||
      (highActivity && !knownDevice)) {
    return res.status(429).json({ error: 'Request throttled' });
  }

  res.json(await runModel(prompt));
}

Shared accounts

Enforce per-plan device limits and catch logins rotating through VPNs and proxies.

related signals
Velocity SignalsVPNProxy
async function handleLogin(req, res) {
  const { eventId, email } = req.body;

  const event = await client.getEvent(eventId);
  const visitorId = event.identification?.visitor_id;

  // Needs linkedId (the account ID) sent from the client
  const ips = event.velocity?.distinct_ip_by_linked_id?.['24_hours'];
  const usingVpn = event.vpn;
  const usingProxy = event.proxy;
  const devices = await countDevicesForAccount(email, visitorId);

  if (devices > PLAN_DEVICE_LIMIT ||
      (ips > 3 && (usingVpn || usingProxy))) {
    return res.status(403).json({ error: 'Plan device limit reached' });
  }

  await completeLogin(email);
  res.json({ status: 'authenticated' });
}

Social proof_

ZBD cut multi-accounting
fraud by 95%

Fintech and gaming platform ZBD combined Fingerprint’s persistent Visitor ID and Smart Signals to detect fake account creation and block it in real time. Read the case study
Multi-accounting creation has dropped by 95%. We used to see spikes where thousands of fake accounts were created in a single hour — now that’s practically gone.
Ben Rice, VP of Growth@ ZBD

$1 Billion +

in fraud losses prevented in the last 12 months_

7 Billion +

unique browsers and mobile devices identified annually_

100 Million +

real-time device intelligence API events per day_

Frequently
Asked Questions

AI token fraud is any abuse that spends your inference budget without paying for it: farming free-tier credits with repeat signups, sharing one paid plan across many people, or sending automated traffic through bots and spoofed AI agents.

Ready to identify?

Start building with a free trial or speak to an expert to explore our Enterprise plan.