# OFAC SDN Crypto Address Change Feed

> OFAC SDN Crypto Address Change Feed is a paid API for AI agents from data.spencermcw.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-23).

Returns per-publication change records (added, removed, or entry_updated) for crypto addresses on OFAC's Specially Designated Nationals (SDN) list, computed daily from OFAC's official SDN files.

## Facts

- Endpoint: GET https://data.spencermcw.com/v1/sanctions/changes?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ofac-sdn-crypto-address-change-feed-d1132f66
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HMIdoJz3u3m4o_LkldxYn

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 ofac-sdn-crypto-address-change-feed-d1132f66
```

Example prompt: Show me all crypto addresses that OFAC added to the SDN sanctions list since 2024-06-01T00:00:00Z, up to 50 records.

## When to prefer this

Use this endpoint when you need a diff-style feed of OFAC SDN crypto address changes rather than a point-in-time lookup. Ideal for compliance pipelines that need to detect newly sanctioned or de-listed addresses on a daily basis, or to reconstruct the history of SDN changes over time. Prefer the sibling 'is this address on the SDN list' endpoint for single-address lookups.

## Known failure modes

- Invalid date format for 'since' or 'publication' parameters returns a 400 error
- Cursor value out of range or malformed returns an error
- Exceeding the 3 free daily calls without payment via x402 results in a 402 Payment Required response
- No records found for the given filters returns an empty records array
- Request with limit above 100 is rejected

## How this service works

Which crypto addresses did OFAC add to or remove from the SDN list? Per-publication change records (added, removed, entry updated), computed by Distill from OFAC’s own SDN files. Updated daily. $0.02 per call (x402, USDC on Base); 3 free calls a day.

## Output

A paginated list of SDN change records, each containing: a record ID, publication date, change kind (added/removed/entry_updated), blockchain chain, asset type, crypto address, full SDN entry details (UID, name, entity type, OFAC programs), previous entry state for updates, detection timestamp, and SHA256 hashes of the old and new source SDN files. Also returns a next_cursor for pagination and a history_from timestamp.

## 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",
     "properties": {
      "kind": {
       "enum": [
        "added",
        "removed",
        "entry_updated"
       ],
       "type": "string"
      },
      "limit": {
       "type": "integer",
       "maximum": 100,
       "minimum": 1
      },
      "since": {
       "type": "string",
       "format": "date-time",
       "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
      },
      "cursor": {
       "type": "string",
       "pattern": "^\\d{1,12}$"
      },
      "publication": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "data": {
       "type": "object",
       "required": [
        "history_from",
        "records",
        "next_cursor"
       ],
       "properties": {
        "records": {
         "type": "array",
         "items": {
          "type": "object",
          "required": [
           "id",
           "publication_date",
           "kind",
           "asset",
           "chain",
           "address",
           "entry",
           "previous_entry",
           "detected_at",
           "source_sha256_old",
           "source_sha256_new",
           "method_version"
          ],
          "properties": {
           "id": {
            "type": "string"
           },
           "kind": {
            "enum": [
             "added",
             "removed",
             "entry_updated"
            ],
            "type": "string"
           },
           "asset": {
            "type": [
             "string",
             "null"
            ]
           },
           "chain": {
   
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ofac-sdn-crypto-address-change-feed-d1132f66/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from data.spencermcw.com](https://www.zero.xyz/host/data.spencermcw.com/llms.txt)
