Sanctions screening - crypto address
GET /api/sanctions/walletIs this blockchain address on the OFAC SDN list? Screens any address against every Digital Currency Address OFAC publishes (Bitcoin, Ethereum, Tron, USDT, USDC, Monero, Litecoin and more). A match names the sanctioned entity and its SDN id. A miss is reported as 'not on the lists checked, as of this date' and is never a clearance - the answer carries that caveat in the payload. Deterministic: a cached copy of the published list, no model in the path.
Input
| Field | Type | Description |
|---|---|---|
address * | string | The blockchain address to screen |
asset | string | Optional asset hint (BTC, ETH, TRX...). Only affects case handling for chains whose addresses are case-sensitive |
Example output
{
"address": "0x098b716b8aaf21512996dc57eb0615e2383e2f96",
"verdict": "match",
"entity": "LAZARUS GROUP",
"sdnId": "12345",
"asset": "ETH",
"listedAddress": "0x098b716b8aaf21512996dc57eb0615e2383e2f96",
"addressesOnList": 492,
"listsChecked": [
{
"list": "OFAC SDN",
"authority": "US Treasury OFAC"
}
],
"listsFetchedAt": "2026-09-12T00:00:00.000Z",
"confirmBeforeActing": "a match is a string match against a published list, not a confirmed identification..."
}
Try it - see the 402 challenge (free)
curl -i "https://agent402.tools/api/sanctions/wallet?address=0x098B716B8Aaf21512996dC57EB0615e2383E2f96"
The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:
Paid call (JavaScript agent)
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
import { metaTitle, metaDescription } from "./seo-meta.js";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/sanctions/wallet?address=0x098B716B8Aaf21512996dC57EB0615e2383E2f96");
Related tools
Contract inspect (multichain)
POST /api/contract-inspectDeep contract inspection on any Blockscout-hosted chain (dozens: Ethereum, Base, Polygon, Optimism, Arbitrum, Celo, Gnos…
try in playground →Address profile (multichain)
POST /api/address-profileExplorer-grade profile of any address on any Blockscout-hosted chain: native balance, contract vs EOA, verification stat…
try in playground →Token info (multichain)
POST /api/token-infoExplorer-grade metadata for any ERC-20/721/1155 token on any Blockscout-hosted chain: name, symbol, decimals, type, tota…
try in playground →