For AI products that give free credits without a card

Be generous
to humans.
Stingy to farms.

Nolgard checks whether a signup comes from a device, network or mailbox it has seen before, then tells your backend how many free credits to give. Someone new gets the full trial. A repeat gets a fifth of it.

Start in observe mode, where Nolgard blocks nothing.

One person · one laptopTrial 100
SignupLaptopInboxCredits
maria@gmail.comnewnew100
maria+2@gmail.comseensame20
m.kowal@proton.meseennew20
mk@zq7mail.ioincognitoseentemp20
maria2@gmail.comVPNseennew20
CAPTCHA alone: 500With Nolgard: 180
The problem

The same person can sign up five times and pass every bot check

The fifth account costs what the first did

You give 100 credits with no card, because that is how people try an AI product. The fifth burns the same GPU time.

Your bot check is working

A real browser driven by a real person is not a bot. A fresh email walks through Turnstile and Clerk.

The usual fixes cost honest users

Asking for a card or a phone number turns away people who would have stayed. Heroku ended free plans and blamed fraud and abuse (TechCrunch, 2022).

How it works

What happens when someone signs up

  1. Your signup page

    Our script reads device signals in the background. The visitor sees no puzzle.

  2. Nolgard

    Your backend sends us the token and the email. We match them against earlier signups from the same laptop, network or mailbox, including incognito windows and VPNs.

  3. Your backend

    You get back a decision and a credit number: 100 for someone new, 20 for a repeat, 0 for a bot. Your code grants them.

Browser

<script src="https://nolgard.com/v1/client.js"
  data-site-key="YOUR_SITE_KEY" defer></script>

// In your signup submit handler:
await Nolgard.ready;
const token = await Nolgard.execute({
  action: 'signup'
});
// Send token + email to your backend.

Node · your backend

import { createNolgard } from '@nolgard/node';
const { verify } = createNolgard({
  secret: process.env.NOLGARD_SECRET
});
const r = await verify({ token, action: 'signup',
  account: { email }, remoteIp });
if (!r.success ||
    !['allow', 'limit'].includes(r.decision)) {
  // Reject, step up, or shadow. No credits.
  return;
}
user.credits = r.grant.credits ?? 100;

Fallback covers unconfigured credits and fail-open. Node guide · Step-up

Outcomes

The four decisions we return

Trial: 100 credits.

Allowed

  1. SignalNew laptop, new inbox
  2. Decisionallow → 100 credits

Limited

  1. SignalLaptop or inbox seen before
  2. Decisionlimit → 20 credits

Challenged

  1. SignalSeen before and looks scripted
  2. Decisionchallenge → 0 until verified

Blocked

  1. SignalA bot, in block mode
  2. Decisionblock → 0 credits
Your stack

Works with your auth

Keep your login provider and CAPTCHA.

Product

What ships today

Observe mode changes nothing and reports would have stopped N, est. $. Next: spend guard. Also in the box →

Proof

Try to farm the demo yourself

The demo grants 100 credits to a new person. Open it in a fresh profile, a new email, a VPN, an antidetect browser. Get a second full grant and tell us how.

No logos, no customers yet. In our lab, humanized Patchright passes the bot check. Its second account was still caught as a repeat device.

Limits

What it doesn't do

Bot detection

Stealth browsers pass the bot check. Repeat signals are separate from it.

Edge protection

We don't do DDoS defence or traffic inspection. Keep your edge.

Identity checks

Device and email links aren't proof of identity.

What Nolgard adds to Turnstile →
Pricing

What it costs today

Pro and Business open when billing ships.

Free

$0

1,000 new accounts/month. No card, no time limit.

Start free

Pro · planned

$49 / month

10,000 new accounts, then $0.006 each.

Request access

Business · planned

$199 / month

50,000 new accounts, then $0.004 each.

Request access

Quota details and Enterprise →

Design partners

A free 60 day pilot

We take ten pilots, and the founder does the integration with you.

What you get

  • 60 days free. One site, 25,000 new accounts.
  • Farm report on day 14.
  • 50% off your tier for 12 months when billing ships.

What we ask

  • 30 minutes a week.
  • One before/after number we may publish.
  • At most 10 pilots.
Questions

What people ask us

Stripe Radar already does this

Radar scores payments. A trial without a card never reaches it.

We'll just require a card

You lose everyone who tries without one, and you get card testing instead.

We have Clerk and Turnstile

They stop bots. A fifth account in a real browser is not a bot. We link by device, network and mailbox.

Won't this cut real users?

We don't block anyone. We return a number and your backend decides what to do with it. A repeat still gets a smaller trial.

Can't we build it ourselves?

You can. It is a standing race against Camoufox, Patchright and next quarter's build.

What if you go down?

Signups go through. The SDK fails open by design. DPA

Get started

See how much of your free tier goes to the same people.

Free during the beta, with no card. After 14 days you get an estimate in dollars.