Screen a payee before paying: wallet risk check API (OFAC)
Screen a payee before paying, trading or onboarding: one call vets an address on Base, Ethereum, Arbitrum or Optimism with an OFAC SDN match, account type and activity, USD holdings and, on Base, wallet or contract risk checks; add the payee's domain for its age and trust flags. One block, review or pass verdict with reasons. Screening aid, not legal advice or a security audit. Use before paying, trading with or onboarding an address.
When to use it
- Screen a payee's EVM address before sending funds
- Combine sanctions, account type, activity and USD holdings into one block, review or pass verdict
- Let an agent decide whether to pay an address it was given
Guide: OFAC wallet screening API
Inputs
| Name | Type | Description |
|---|---|---|
address (required) | string | 0x address to check |
chain | string | Network: base (default), eth, arb or op. One of: base, eth, arb, op. |
domain | string | Optional: the payee's domain or website URL, e.g. ethereum.org; adds domain age and trust flags |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/check/counterparty?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
Or one of your 25 free calls, no key:
curl "https://tools.funwords.eu/check/counterparty?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.
Example result
{
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"chain": "base",
"verdict": "pass",
"reasons": [],
"sanctions": {
"listed": false,
"matches": [],
"listDate": "2026-10-17T20:15:00.000Z"
},
"account": {
"type": "eoa",
"riskLevel": "low",
"riskFlags": [],
"accountNonce": 1234
},
"contract": null,
"domain": {
"name": "ethereum.org",
"trust": "high",
"ageDays": 4100,
"registeredAt": "2015-03-21T00:00:00Z",
"flags": []
},
"holdings": {
"totalUsd": 1234.56,
"tokensChecked": 9
},
"limitations": [],
"note": "Screening aid only: confirm any sanctions match against the official OFAC record; heuristics are not a security audit."
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is check_counterparty, and the first 25 successful calls are free:
https://tools.funwords.eu/mcp
Questions
Which networks?
Base, Ethereum, Arbitrum and Optimism.
What does the verdict mean?
Block, review or pass, with the reasons that produced it. It is a screening aid, not a security audit.
How do I pay?
Each successful call costs $0.01; failed calls are not charged. The first 25 calls are free. Then pay with card credits (from $1; the key goes in an Authorization header or, for clients that can only fetch a URL, as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.