# TrustAgent OFAC Sanctions Change Monitor (Bulk Address Re-screen)

> TrustAgent OFAC Sanctions Change Monitor (Bulk Address Re-screen) is a paid API for AI agents from trust-agent.io, paid per call via x402, $0.002007/call, status unknown (last checked 2026-10-11).

Re-checks up to 50 EVM addresses against OFAC sanctions designations and delistings since a caller-supplied timestamp, returning only what changed.

## Facts

- Endpoint: GET https://trust-agent.io/v1/watch/addresses?utm_source=zero.xyz
- Price: $0.002007/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/trustagent-ofac-sanctions-change-monitor-bulk-address-re-screen-68bfed23
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lRxnGcMO5EjXyU_x9hVmQ

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability trustagent-ofac-sanctions-change-monitor-bulk-address-re-screen-68bfed23
```

Example prompt: Re-check these 5 wallet addresses against OFAC sanctions for anything that changed since Unix timestamp 1714521600: 0xAbc…, 0xDef…, 0x123…, 0x456…, 0x789… — and pass back the checkedAt so we can use it as the cursor next time.

## When to prefer this

Choose this endpoint when you have already performed an initial full sanctions screen and need to detect incremental changes since a known timestamp — it is far more efficient than re-screening from scratch. Ideal for recurring compliance workflows (daily, hourly, or pre-settlement checks) where you store the previous 'checkedAt' as a cursor. Prefer the companion full-screen endpoint for first-time screening or when coverage.complete=false forces a baseline reset. Use this over a stored watchlist approach when you want stateless, on-demand change detection without server-side subscription management.

## Known failure modes

- More than 50 addresses supplied — request rejected
- Unsupported chain value supplied (only 'base' is served) — request refused rather than answered from wrong chain
- coverage.complete=false — change log does not reach the supplied 'since' cursor, meaning a full re-screen is required to re-establish baseline
- Invalid or malformed EVM address in the list — may cause rejection or per-address error
- Trial quota exceeded (3 free calls/wallet/24h) — payment required or 402 returned
- Network timeout or feed sync lag causing delayed or stale response

## How this service works

Has anything changed about counterparties you already screened? Re-checks a list of addresses against OFAC designations and delistings since a timestamp you supply, so a verdict you acted on last month does not go quietly stale. Stateless: no watchlist is stored and nothing is sent to you — pass the returned checkedAt back as `since`. Free alternative: GET /v1/watch. Trial: 3 free calls/wallet/24h — https://trust-agent.io/v1/trial.

## Output

Returns a JSON object with: a 'changes' array listing each address that moved (added to or removed from OFAC designations) since the supplied timestamp, with source, timestamp, and reason for each change; a 'feed' object describing the sanctions data source and its last sync time; a 'coverage' object indicating how far back the change log reaches and whether it fully covers the requested window (complete=false means a full re-screen is needed); and a 'checkedAt' Unix timestamp to use as the next 'since' cursor.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "addresses"
     ],
     "properties": {
      "chain": {
       "type": "string",
       "description": "OPTIONAL. Only \"base\" is served; any other value is refused rather than answered from the wrong chain. Defaults to base."
      },
      "since": {
       "type": "string",
       "description": "OPTIONAL. Unix seconds. Pass the previous response's checkedAt to receive only what changed since."
      },
      "addresses": {
       "type": "string",
       "description": "REQUIRED. Comma-separated EVM addresses, at most 50."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "feed": {
       "description": "source and lastSyncedAt of the sanctions feed behind the answer"
      },
      "changes": {
       "description": "array of {address, change: added | removed, source, at, reason}. Empty means nothing moved."
      },
      "coverage": {
       "description": "{coveredSince, complete}. complete=false means the change log does not reach your cursor and the answer may be incomplete — re-screen to re-establish a baseline."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/trustagent-ofac-sanctions-change-monitor-bulk-address-re-screen-68bfed23/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from trust-agent.io](https://www.zero.xyz/host/trust-agent.io/llms.txt)
