Receipts, not claims

Us vs OathNet

Every row below is testable. Push the button to re-run the proof live from your browser.

$0price vs paid plans
0accounts vs required
0api keys vs x-api-key
quota vs daily cap
TestOathNetSWAT-1800Winner
Anonymous API callHTTP 403 — key requiredHTTP 200 — real JSONus
Account neededemail signup + ToS modalnoneus
Daily quotacapped per plan ("Daily Quota Exceeded")unlimitedus
Time to first resultsignup → verify → key → searchone Enter keyus
Bulk searchplan-gatedfree textarea + CSV/JSON exportus
Breach searchproprietary corpus (deep)XON + HIBP + LeakCheck jointhem*
Stealer intelfull logs + victim filesHudson Rock metadata (free)them*
OSINT lookups10+ platforms, keyed13 endpoints + 34-site sweep, keylessus
Page weightNext.js — 20+ JS chunks, auth client~60KB total, no frameworkus
Pricemonthly invoice$0us

*honest note: OathNet's proprietary breach corpus is deeper than any free source. Everything else — access, price, speed to first result, OSINT coverage — is ours.

Recorded proof — live API test

The receipts

Captured against the real endpoints at build time.

$ curl -i "https://oathnet.org/api/service/v2/breach/search?q=test@example.com" HTTP/2 403 Forbidden (335ms) — access denied, x-api-key required $ curl -i "https://oathnet.org/api/service/discord-userinfo?id=80351110224678912" HTTP/2 403 Forbidden (132ms) — access denied, x-api-key required $ curl -i "https://oathnet.org/api/service/v2/analytics/stats" HTTP/2 403 Forbidden (70ms) — access denied, x-api-key required $ curl -i "https://evidence-logger-swat-1800.pages.dev/api/search?q=test@gmail.com" HTTP/2 200 OK — verdict: COMPROMISED — 70+ known breaches listed, stealer intel, leakcheck index — no key sent $ curl -i "https://evidence-logger-swat-1800.pages.dev/api/discord?id=80351110224678912" HTTP/2 200 OK — profile found, snowflake decoded, badges enumerated — no key sent $ curl -i "https://evidence-logger-swat-1800.pages.dev/api/username?name=builderman" HTTP/2 200 OK — 34-platform sweep — no key sent
// push the button — we'll hit both APIs from your browser and print the raw results