AI token fraud_ AI token fraud_
Stop AI token fraud
with device intelligence Stop AI token fraud
with device intelligence
Prevent repeat signups from draining your AI credits without adding friction for real users. Prevent repeat signups from draining your AI credits
without adding friction for real users.
Install guide for AI agents: https://fingerprint.com/get-started.md. Or run npx fingerprint or npx skills add fingerprintjs/skills.
Or open in Claude Code, Codex, Cursor
Why Fingerprint_
Every fake account multiplies the inference you pay for Every fake account multiplies
the inference you pay for
One device, one account One device, one account
See every account behind one device, even after a new email, cleared cookies, or a new IP. See every account behind one device, even after a new email, cleared cookies, or a new IP.
Launch promos safely Launch promos safely
Promo credits attract bursts of repeat signups. Link each to a device before the bonus is paid out. Promo credits attract bursts of repeat signups. Link each to a device before the bonus is paid out.
Catch account farms Catch account farms
Flag bots, anti-detect browsers, and device farms at signup, before they spend GPU time. Flag bots, anti-detect browsers, and device farms at signup, before they spend GPU time.
Keep the free tier open Keep the free tier open
Withhold free tokens from repeat devices, not access. No CAPTCHAs. Stays GDPR and CCPA compliant. Withhold free tokens from repeat devices, not access. No CAPTCHAs. Stays GDPR and CCPA compliant.
One device. One free tier.One device. One free tier.
Every abused token is real GPU spend. Fingerprint recognizes the device behind each signup, even after a new email, a private window, or a VPN. Whether accounts are created in a burst or used one after another, the device stays the same.
Martin's device
[VISITOR ID: 2FKJSALFJGNNDO]
Step 1/4Step 1
Martin signs up and gets free tokens.
Bots and AI agents_
Catch account farms
before they burn inference
Bots, anti-detect browsers, and device farms get flagged at signup, before fake accounts spend GPU time or distill your model.
Allow signed agents
with confidence
ChatGPT Agent
Signed
Block spoofed agents
and impersonation
Sign In
user@example.com
Distinguish trusted agents
from malicious bots
Leather jacket
Size: L, Burgundy
Leather jacket
Size: L, Burgundy
Smart Signals_
Smart Signals for
token fraud prevention Smart Signals for
token fraud prevention
Spot the farms, scripts, and resets behind token abuse. Act on them in real time. 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.Count accounts per device and IPs per account.
{
"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
}
}Free credits
Grant free-tier tokens once per device, not once per email.
Usage
Throttle spoofed agents and abnormal request volume before they reach your models.
Shared accounts
Enforce per-plan device limits and catch logins rotating through VPNs and proxies.
Code example_
Device checks in every token path
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' }); }
Social proof_
ZBD cut multi-accounting
fraud by 95% ZBD cut multi-accounting
fraud by 95%
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.
$1 Billion +
7 Billion +
100 Million +