Counterparty check before paying an EVM address
One call to vet an address on Base, Ethereum, Arbitrum or Optimism before paying, trading or onboarding: OFAC SDN address match, account type and activity, USD holdings and, on Base, wallet risk heuristics (or contract bytecode and proxy checks), combined into a block, review or pass verdict with reasons. Cheaper than buying the parts. Screening aid, not legal advice or a security audit. Use before paying, trading with or onboarding an address.
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. |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/check/counterparty?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
Or one of your 25 free calls, no key:
curl "https://agent-data-tools.revmesh2074.workers.dev/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, Monad, World Chain or Tempo) 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,
"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://agent-data-tools.revmesh2074.workers.dev/mcp