Api Endpoint

Wallet Sanctions Monitoring

Sanctions monitoring for wallets you already screened: send up to 50 addresses and a since timestamp, get every OFAC SDN designation or delisting that touched them since then, plus when the list was last synced and whether the change log reaches back that far. Stateless: nothing is stored or pushed; pass the returned checkedAt back as since. Free: GET /v1/watch. Trial: /v1/trial.

Open interactive test console

Offering

Provider
trust-agent.io
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Legal And Compliance
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://trust-agent.io/v1/watch/addresses
MIME type
application/json
First seen
2026-10-16T01:50:24.663Z
Last seen
Tags
sanctions, OFAC, Monitoring, compliance, aml

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.002007 USDC
Atomic price: 2007 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "2007",
    "payTo": "0x6121654D3Fd4C8B42a90d30472E4D40927C3e6BB"
  }
]

Observed health

Status
Healthy
Latest latency
74 ms
Average latency
408 ms
HTTP status
402
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "addresses": {
          "type": "string",
          "description": "REQUIRED. Comma-separated EVM addresses, at most 50."
        },
        "since": {
          "type": "string",
          "description": "OPTIONAL. Unix seconds. Pass the previous response's checkedAt to receive only what changed since."
        },
        "chain": {
          "type": "string",
          "description": "OPTIONAL. Only \"base\" is served; any other value is refused rather than answered from the wrong chain. Defaults to base."
        }
      },
      "required": [
        "addresses"
      ]
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "addresses": {
              "description": "REQUIRED. Comma-separated EVM addresses, at most 50.",
              "type": "string"
            },
            "chain": {
              "description": "OPTIONAL. Only \"base\" is served; any other value is refused rather than answered from the wrong chain. Defaults to base.",
              "type": "string"
            },
            "since": {
              "description": "OPTIONAL. Unix seconds. Pass the previous response's checkedAt to receive only what changed since.",
              "type": "string"
            }
          },
          "required": [
            "addresses"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "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."
            },
            "feed": {
              "description": "source and lastSyncedAt of the sanctions feed behind the answer"
            }
          },
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}