Real-time fraud detection that stops VPNs, residential proxies, antidetect browsers, and AI bots — in under 40 ms.
Website · API Docs · Blog · Free API Key
Maskbreak is a fraud detection API built for teams who've outgrown IP blocklists.
Modern attackers don't use datacenter VPNs anymore — they rent residential proxies, spoof browser fingerprints with Kameleo/GoLogin, and run automation at scale. Tools built around IP reputation (IPQS, SEON, Sift) miss most of that traffic.
Maskbreak combines network analysis with device fingerprinting to catch what they can't:
- 🏠 Residential proxy detection — BrightData, Smartproxy, IPRoyal, ShadowNode
- 🎭 Antidetect browser tampering — Kameleo, GoLogin, AdsPower, Multilogin
- 🤖 Bot & automation detection — Puppeteer, Playwright, Selenium, agentic AI
- 🆔 Persistent visitor ID — survives incognito, VPN switching, cookie clears
- 🌍 <40 ms p95 globally — runs in your critical path without slowing it down
1,000 requests per hour, every detection signal, no credit card.
| Language | Repository | Package |
|---|---|---|
| Node.js | maskbreak-node |
|
| Python | maskbreak-python |
|
| PHP | maskbreak-php |
|
| MCP server | maskbreak-mcp |
The three SDKs are zero-dependency; everything here is MIT licensed. Package names keep the
sentinelsup prefix from before the rename — renaming a published package
breaks every existing install.
Node.js
npm install @sentinelsup/sdkconst Sentinel = require('@sentinelsup/sdk');
const sentinel = new Sentinel({ apiKey: process.env.SENTINEL_KEY });
const result = await sentinel.evaluate({ token: req.body.sentinelToken });
if (result.decision === 'block') return res.status(403).end();Python
pip install sentinelsupfrom sentinel import Sentinel
sentinel = Sentinel() # reads SENTINEL_KEY
result = sentinel.evaluate(token=request.json["sentinelToken"])
if result.decision == "block":
abort(403)PHP
composer require sentinelsup/sdk$sentinel = new \Sentinel\Client(); // reads SENTINEL_KEY
$result = $sentinel->evaluate(['token' => $_POST['sentinelToken']]);
if ($result->isBlocked()) {
http_response_code(403);
exit;
}Any other stack — point your AI coding assistant at
maskbreak.com/integrate.md and it wires the
integration for you, or call POST /v1/evaluate directly (API docs).
| Use case | What it stops |
|---|---|
| Stripe checkout | Card testing, chargeback-prone sessions |
| Shopify drops | Sneaker bots, scalpers, scrapers |
| SaaS signup | Multi-accounting, bonus abuse, fake Google sign-ins |
| Fintech KYC | Synthetic identities, proxy-masked applications |
vs IPQS · vs SEON · vs Sift · vs Kount · vs minFraud
© Sentinel Edge Networks LTD · Registered in England & Wales 17150600 · London, UK