Free up to 10,000 events a month, no card. Try a check without an account →
[ 200 OK ][ /v1/score ]

Stop fraud before it costs you money

Fake signups, stolen accounts and bonus abuse drain your margin one account at a time. Kaidn checks every signup, login and payout in one API call and answers allow, review or block, with the reason in a sentence.

No credit card. One API call. No sales team to get past.

device intelligence — awaiting consent

This reads how your browser renders graphics, audio and text to build a device fingerprint — exactly what Kaidn does for customers. We don’t run it on you without asking.

What it reads →

Built for the operators big fraud vendors ignore. No enterprise contracts, no sales calls.

Rewards
Affiliates
Crypto
SaaS
Games
Fintech
01 / What it catches

Fraud caught at every step

Every answer says what we found and why, in words your support team could send to the customer. No mystery score.

01 / SIGNUP

Fake signups

One person with fifty accounts, throwaway inboxes and rented home connections, stopped at the door.

02 / LOGIN

Account takeovers

A stolen password used from a device and place your real customer has never been.

03 / CHECKOUT

Card testing & promo abuse

Bulk orders and the same bonus claimed again under a new name.

04 / WITHDRAWAL

Cash-outs

A suspicious device or location change right before money leaves your platform.

How it works → · Where it falls down, measured → · Guides by fraud type →

02 / See it work

Run a check without an account

Rate limited, no key required. Results appear inline.

[ SDK ]
03 / Get started

Live in five minutes

One POST with the fields you already collect: email, IP, user id. Everything except the event name is optional. Use the npm package, plain REST, or the browser tag.

USING CLAUDE OR CURSOR?

Ask your fraud data questions in plain English with the Kaidn MCP server.

npx -y @kaidn/mcp
score.ts
// npm install @kaidn/sdk
import { Kaidn } from "@kaidn/sdk";

const kaidn = new Kaidn({ apiKey: process.env.KAIDN_API_KEY });

const { verdict, reasons, reason_text } = await kaidn.score({
  event: "cashout",
  user_id: "u_8231",
  ip: req.ip,
  email: user.email,
  device_id: fingerprint,            // from @kaidn/fp in the browser
  event_country: offer.country,      // optional geo expectation
});

if (verdict === "block") return deny(reason_text);
if (verdict === "review") await queueForReview(user, reasons);

// the SDK covers every endpoint:
await kaidn.check.ip("3.5.140.1");
await kaidn.batch.score(rows);       // bulk, up to 1000 rows
await kaidn.label({ label: "chargeback", event_id });

Ready to stop paying fraudsters?

10,000 events every month, free, forever. No credit card.