Every buyer on an x402 rail is an agent about to move money to an address it has never seen. Sentinel answers that question in one call: OFAC sanctions, known-bad labels, lookalike / address-poisoning detection and live on-chain hygiene — with a reason string for every point of the score. paid per callno account no KYC
Free feed: /v1/sanctions (the whole OFAC list, no payment) and /v1/sanctions/delta — first snapshot stored — the delta feed becomes meaningful from the second daily build.
| Route | Price | What you get |
|---|---|---|
POST /v1/screen | $0.02 | EVM address -> pre-payment risk verdict: OFAC sanctions, known-bad labels, lookalike/poisoning detection and on-chain hygiene |
GET /v1/lookup | $0.02 | EVM address (query param) -> pre-payment risk verdict: OFAC sanctions, known-bad labels, lookalike detection, on-chain hygiene |
POST /v1/screen/batch | $0.10 | Up to 25 EVM addresses -> risk verdicts in one call (5x cheaper per address; the tier to use before a payout run) |
USDC on Base, settled over x402. Call without payment and you get a
402 carrying the challenge; sign it and retry — that is the whole
protocol. Free routes stay free: /healthz, /v1/pricing,
/v1/sources, /.well-known/x402, /openapi.json.
# free — the whole sanctions list
curl https://sentinel.pentest.i.ng/v1/sanctions
# paid ($0.02) — a full verdict
curl -X POST https://sentinel.pentest.i.ng/v1/screen \
-H 'Content-Type: application/json' \
-d '{"address":"0x0330070FD38Ec3bB94F58FA55D40368271E9e54A","chain":"base"}'
# paid ($0.10) — up to 25 addresses in one call
curl -X POST https://sentinel.pentest.i.ng/v1/screen/batch \
-H 'Content-Type: application/json' \
-d '{"addresses":["0x...","0x..."]}'
| Category | Addresses |
|---|---|
| reported_scam | 2 530 |
| phishing | 376 |
| unknown_bad | 242 |
| sanctions | 120 |
| scam | 30 |
| exploit | 12 |
| darknet | 2 |
Public data only — OFAC SDN digital-currency addresses (US Government
public domain), ScamSniffer, MyEtherWallet ethereum-lists. Provenance, per-source
counts and the full scoring table are at /v1/sources.
Scores are additive and every point carries a reasons entry.