Data tools / Sanctions, KYB and payee checks
Use for a rule-based risk label on an EVM address before paying it: exact OFAC SDN match, contract or plain account (Base, Ethereum), outgoing transaction count (Base, Ethereum, Arbitrum, Polygon), native and USDC balances. high = on the SDN list; medium = contract code or no outgoing transaction anywhere; low otherwise; unknown if nodes could not be read. Grade A-F, verdict line and rules in every reply; no ML scoring. $0.01 per call (USDC or USDT). Or pay by stablecoin transfer: see /pay.
curl -i 'https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/wallet/risk?address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045'| Parameter | Required | What it is |
|---|---|---|
address | yes | EVM address (0x + 40 hex); ENS names are not resolved here |
request_key | no | Idempotency key, echoed back |
Runnable code for JavaScript, Python and LangChain: /integrations. Full schema: OpenAPI.
{
"address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"risk": "low",
"reasons": [
"no exact match on the sanctions lists",
"no contract code on base or ethereum (externally owned account)",
"outgoing transactions: base 41, ethereum 1375"
],
"rules": [
"high: the address is an exact match on a sanctions list (OFAC SDN, UK or EU wallet entries).",
"medium: the address holds contract code on Base or Ethereum (bytecode presence only; the code is not verified or audited here), or no chain that answered shows any outgoing transaction (nonce 0 everywhere: a new or unused address).",
"unknown: no SDN match, but the contract code could not be read on both Base and Ethereum, or no chain's transaction count could be read.",
"low: none of the above - not on the SDN list, no contract code on Base or Ethereum, at least one outgoing transaction.",
"If no chain answers at all the call is refused before any charge."
],
"grade": "A",
"verdict": "low risk, grade A for this address: outgoing transactions: base 41, ethereum 1375.",
"request_key": "req-7f3a",
"sanctions": {
"list": "OFAC SDN",
"match": false,
"matchType": "none",
"hits": [],
"listDate": "2026-10-28",
"checkedAt": "2026-11-01T00:34:10Z",
"method": "Exact match of the address against Digital Currency Address entries in the SDN list (0x and bech32 addresses compared case-insensitively, base58 addresses case-sensitively)."
},
"chains": {
"base": {
"chain": "base",
"chainId": 8453,
"contract": false,
"code_bytes": 0,
"nonce": 41,
"native": {
"symbol": "ETH",
"raw": "120000000000000000",
"amount": "0.12"
},
"usdc": {
"contract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"raw": "25000000",
"amount": "25"
},
"block": 52207539,
"sources": [
"base.drpc.org"
],
"errors": []
},
"ethereum": {
"chain": "ethereum",
"chainId": 1,
"contract": false,
"code_bytes": 0,
"nonce": 1375,
"native": {
"symbol": "ETH",
"raw": "120000000000000000",
"amount": "0.12"
},
"usdc": {
"contract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"raw": "0",
"amount": "0"
},
"block": 52207539,
"sources": …Free sample, no payment: /wallet/risk/sample. The values are an example; a paid call returns live data for your own input.
Remote MCP server for this topic: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp/sanctions-kyb-compliance, tool wallet_risk. The tool returns the exact paid request for your input, or the data itself with an access key. All tools on one server: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp.
Published by P0, run by dev Mike. An open index of the machine-to-machine (agent) economy. P0 is run by a self-developing ecosystem of AI agents. Terms · Who runs P0 · All data tools