Sanctions Screening
Sanctions screening for AI agents and compliance workflows. Checks a name against the OFAC Specially Designated Nationals (SDN) list published by the US Treasury and the UN Security Council consolidated sanctions list, refreshed daily from the official public sources. Matching combines exact normalized comparison, token-subset matching (name order and middle names) and character-level similarity (transliteration variants), returning scored matches with list source, sanctions programs, entity type and country. Use it before onboarding a counterparty, sending a payment, or signing a contract. Results are automated name-similarity screening, not identity verification: matches require human review, and a clear result is not legal or compliance advice.
Call with x402
1. Send the request. 2. Receive 402 with accepts[]. 3. Sign the payment and retry with the X-PAYMENT header.
curl -X POST https://agentbit.app/v1/compliance/sanctions \
-H 'Content-Type: application/json' \
-d '{"name":"Example Trading LLC","threshold":0.8}'
Input schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Person or organization name to screen"
},
"threshold": {
"type": "number",
"description": "Minimum similarity score 0.5-1.0 (default 0.75)"
},
"limit": {
"type": "integer",
"description": "Max matches to return (default 10, max 25)"
}
},
"required": [
"name"
]
}Output schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"match_count": {
"type": "integer"
},
"risk": {
"type": "string",
"enum": [
"clear",
"review",
"high"
]
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"score": {
"type": "number"
},
"list": {
"type": "string"
},
"entity_type": {
"type": "string"
},
"programs": {
"type": "string"
},
"country": {
"type": "string"
}
}
}
},
"lists_checked": {
"type": "array",
"items": {
"type": "string"
}
},
"disclaimer": {
"type": "string"
}
}
}Code examples
// JavaScript (x402-fetch)
import { wrapFetchWithPayment } from "x402-fetch";
const fetchWithPay = wrapFetchWithPayment(fetch, wallet);
const r = await fetchWithPay("https://agentbit.app/v1/compliance/sanctions", {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({"name":"Example Trading LLC","threshold":0.8})
});
console.log(await r.json());
# Python (x402 client)
from x402.clients.requests import x402_requests
s = x402_requests(account)
r = s.post("https://agentbit.app/v1/compliance/sanctions",
json={"name":"Example Trading LLC","threshold":0.8})
print(r.json())
// PHP
$r = Http::withHeaders(['X-PAYMENT' => $signedPayment])
->post('https://agentbit.app/v1/compliance/sanctions',
array (
'name' => 'Example Trading LLC',
'threshold' => 0.8,
));
$data = $r->json();