Stop fraud before it
touches your revenue.
One POST call. Works at signup, checkout, or anywhere Stripe can't reach. Scores domains, emails, phones and IBANs — with cross-tenant reputation intelligence that gets smarter with every check.
POST /api/check — no key required
Enter any domain to see a real fraud score.
10 free checks/hour per IP · Domain checks only in demo · Full API unlocks all entity types
Real fraud detections — powered by Kairos Check
How it works
In production in 30 minutes
No agents. No sales call. No contract. Self-serve from day one.
~ ✓ Subscription activated ~ ✓ API key generated ~ Key: kc_live_••••••••••••
$ curl https://kairoscheck.net/api/check \ -H "Authorization: Bearer kc_live_<key>" \ -H "Content-Type: application/json" \ -d '{"domain":"suspicious-shop.io"}' // Response { "score": 73, "verdict": "BLOCK", "signals": ["reputation-complaint", "checkout-dna"] }
{ "verdict": "BLOCK", "score": 94, "ms": 138 }
Live intelligence — verified 24 May 2026
We tested it.
Here are the real scores.
These are actual results from the Kairos Check API — not simulated. Tested against known phishing domains and verified legitimate services.
paypa1-verify.com — where "1" replaces "l" to fool the human eye. Score: 75. BLOCK. Zero of your competitors catch this.
The problem
Fraud is bleeding your revenue
While you sleep, fraudsters test your signup flow, burn your free tier, and file chargebacks. The numbers are brutal.
The math: one chargeback at €75 already pays for 2.5 months of Kairos Check Starter. One avoided per month = 900% ROI.
Start for €29/month →ROI Calculator
How much is fraud costing you?
Type your numbers. See the payback period in real time.
Architecture
How the intelligence works
Every check runs through 9 layers in under 200ms. Here's exactly what happens when you call the API.
Brand impersonation (37 brands), homograph attacks (paypa1→paypal), high-risk TLDs (.store .shop .xyz). Runs in <10ms before any OSINT.
DNS/WHOIS history, ASN reputation, scam pattern NLP (6 languages), checkout funnel analysis. Public signals only — no PII required.
Reputation evasion detection, n-gram similarity against confirmed scam corpus, live reputation data, and the cross-tenant reputation graph.
All layer scores are weighted and fused into a single verdict: BLOCK (≥60), REVIEW (30–59), or ALLOW (<30). Each signal is explainable.
Zero PII required. We analyse only publicly available signals — domain registration, DNS records, ASN reputation, scam patterns. Your users' personal data never leaves your server.
Full technical guide →Collective intelligence
Gets smarter with
every customer
Every verification you run contributes to a shared reputation graph. The more we see, the more accurately we score — for everyone.
Why Kairos Check
Radar stops card fraud. Nothing stops everything else.
Stripe Radar only sees Stripe transactions. Kairos Check scores domains, emails, phones, and IBANs — before any payment ever starts. That is the gap fraudsters exploit.
| Feature | Stripe Radar | Kairos Check |
|---|---|---|
| Works outside Stripe | ❌ | ✅ |
| Check domains, emails, phones, IBANs | Cards only | All 4 |
| OSINT signals (reputation, patterns) | ❌ | ✅ |
| Explainable scores with reasons | ❌ | ✅ |
| Audit trail exportable (GDPR Art.15) | ❌ | ✅ |
| GDPR Art.22 human oversight flag | ❌ | ✅ |
| Use before Stripe (pre-signup check) | ❌ | ✅ |
| Price | Free (within Stripe) | €29/mo standalone |
Use Stripe Radar for card fraud. Use Kairos Check for everything before the card. Full comparison →
Transparent by design
No fake reviews. Real numbers.
We launched in 2026. Real developers in production, zero fabricated testimonials. Your results will be the first case study.
Integration
Works with any stack
One REST endpoint. No SDK required. Copy, paste, ship.
// STEP 1 — Buy your key at kairoscheck.net/pricing (60 seconds, no KYC) // STEP 2 — No install. No npm. Uses native fetch() — zero dependencies. // STEP 3 — Add one call at signup or checkout: const KC_API_KEY = 'kc_live_your_key_here'; async function checkFraud(domain) { const res = await fetch('https://kairoscheck.net/api/check', { method: 'POST', headers: { 'Authorization': `Bearer ${KC_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ domain }), }); const { verdict, score, signals } = await res.json(); // STEP 4 — Handle the 3 possible verdicts: if (verdict === 'BLOCK') throw new Error('Signup denied — fraud detected'); if (verdict === 'REVIEW') flagForManualReview(domain, score, signals); return verdict; // 'CLEAR' — allow the user through } // Response: { verdict:'BLOCK'|'CLEAR'|'REVIEW', score:0-100, // signals:{ disposable, newDomain, asnRisk, ... }, ms:138 }
Zero dependencies
No npm install. Uses the Fetch API built into every modern browser and Node.js 18+. Nothing to maintain.
Under 200ms
Fast enough for every signup flow. Your users won't notice — but fraudsters will.
# STEP 1 — Get your key at kairoscheck.net/pricing # STEP 2 — One dependency: requests (already in your venv) # STEP 3 — One function at signup: import requests KC_API_KEY = "kc_live_your_key_here" def check_fraud(domain: str) -> dict: resp = requests.post( "https://kairoscheck.net/api/check", headers={ "Authorization": f"Bearer {KC_API_KEY}", "Content-Type": "application/json", }, json={"domain": domain}, timeout=10, ) resp.raise_for_status() data = resp.json() # STEP 4 — Handle the verdict: if data["verdict"] == "BLOCK": raise ValueError("Signup denied") if data["verdict"] == "REVIEW": flag_for_review(domain, data["score"]) return data # CLEAR — allow through
Django / FastAPI ready
Drop into any view, signal, or middleware. For async use httpx instead of requests — same interface.
pip install requests
Already in every Python project. No extra requirements.txt entries. No version conflicts.
# STEP 1 — Get your key at kairoscheck.net/pricing # STEP 2 — No install. cURL ships with every OS. # STEP 3 — Test in 10 seconds: curl -X POST https://kairoscheck.net/api/check -H "Authorization: Bearer kc_live_your_key" -H "Content-Type: application/json" -d '{"domain":"suspicious-shop.io"}' # STEP 4 — Response: { "verdict": "BLOCK", "score": 94, "signals": { "newDomain": true, "disposable": true }, "ms": 89 } # No key? Try the public demo (10 free/hour): # curl -X POST https://kairoscheck.net/api/check-public # -H "Content-Type: application/json" # -d '{"domain":"test.io"}'
Any language
Go, Ruby, Rust, Elixir, Java — if it makes HTTP POST requests, it works with Kairos Check.
Try before you buy
/api/check-public — 10 free checks per hour, no key, no signup. See real results instantly.
// STEP 1 — Get your key at kairoscheck.net/pricing // STEP 2 — Uses PHP curl — enabled by default, zero Composer deps // STEP 3 — One function at registration: define('KC_API_KEY', 'kc_live_your_key_here'); function checkFraud(string $domain): array { $ch = curl_init('https://kairoscheck.net/api/check'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 10, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer ' . KC_API_KEY, 'Content-Type: application/json', ], CURLOPT_POSTFIELDS => json_encode(['domain' => $domain]), ]); $data = json_decode(curl_exec($ch), true); curl_close($ch); // STEP 4 — Handle verdict: if ($data['verdict'] === 'BLOCK') throw new RuntimeException('Signup denied'); return $data; } // Works with Laravel, Symfony, WooCommerce, Magento — any PHP stack.
Laravel / WooCommerce
Drop in a Service Provider or WooCommerce hook. Pure PHP curl — no Composer package needed.
Zero Composer deps
curl_init() ships with PHP since 4.0.2. It just works. No vendor bloat, no lock-in.
Trust
Built for production from day one
Pricing
Founding member pricing
You're not buying a monthly subscription. You're locking in the founding rate — permanently — before we raise prices as the network grows.
Founding member pricing — rate locked forever
When Kairos Check adds more intelligence layers and raises prices, founding members keep this rate. No exceptions.
Founding spots
50 available
- 50 domain or email checks
- Score + verdict + signals
- SWIFT model included
- No credit card
- 150 fraud checks/month
- Domain, email, phone, IBAN
- SWIFT + CHECK models
- Webhook on BLOCK/REVIEW
- Cancel anytime
- 500 fraud checks/month
- All Starter features
- DEEP model (9 layers + graph)
- Audit trail CSV export
- 24h result cache (0.1 checks/hit)
- 1,500 fraud checks/month
- All Growth features
- Batch API (up to 100/call)
- GDPR Art.15/17/22 endpoints
- SLA 99.9% · Priority support
One POST call between you
and the next chargeback.
One POST call. 30 minutes to integrate. One chargeback avoided already pays for 2.5 months.
FAQ
Common questions
/api/check counts as one check, regardless of the result or the entity type (domain, email, phone, IBAN). Quota resets on the 1st of each calendar month.