Use case

New account fraud: stop fake and repeat sign-ups

New account fraud is the mass creation of accounts to collect sign-up bonuses, credits or other first-time rewards. Each account looks new, but the device, the person and the network behind them are not. FingerPrint Checker checks the device and the email when the account is created and answers allow, a human check or deny.

The threat

A sign-up reward that costs you money invites scripts and people who create account after account. Throwaway email addresses, plus-tag variants of one inbox and a second browser are the usual tools.

What we stop

  • The same device or the same normalised email claiming the reward again, including plus-tag variants.
  • Disposable email addresses.
  • Many claims from one network or one household.
  • Scripted and headless sign-ups, which meet a human check on a device’s first claim.
  • Claims from the same person across your website and your apps, when they share a claim group.

How to add it

Identify the device when the sign-up form is submitted, send the attestation to your backend, and ask for a decision before you grant the reward. Grant only on allow. A paid sign-up can stay open to everyone: refuse the reward, not the account.

Your project handles the trial kind out of the box. Further claim kinds, such as a coupon or a sign-up bonus, and named quotas are switched on for your project on request.

Ask before you grant

// Backend, after the app sends the attestation unchanged
const d = await (await fetch('https://api.fpchecker.com/v1/eligibility', {
  method: 'POST',
  headers: { 'content-type': 'application/json', 'X-Secret-Key': process.env.FPCHECKER_SECRET_KEY },
  body: JSON.stringify({ attestation, email, claim: true, kind: 'trial', subject: session.userId, clientIp }),
})).json();
// Grant the bonus on your side only when d.eligible is true.
return { eligible: d.eligible === true, action: d.action, reason: d.reason, powDifficulty: d.powDifficulty };

Frequently asked questions

Does it block the sign-up itself?

It does not have to. You decide what a deny means. Most teams let the account be created and withhold only the free reward.

What if a real user is refused?

A deny comes with a reason, so you can show a clear message and offer the paid path. Households that share a network can hit the network limit; you can adjust it in the console.

Try it on your own sign-up flow

Every new account gets 2,000 free checks. No card required.