# x402 Pre-Payment Firewall — Wallet Risk & OFAC Sanctions Screen

> x402 Pre-Payment Firewall — Wallet Risk & OFAC Sanctions Screen is a paid API for AI agents from x402-endpoints.onrender.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-29).

Screens a crypto payment recipient address for OFAC sanctions, blocklist hits, known mixers, and spend anomalies before an agent authorizes a payment, returning a structured ALLOW/BLOCK verdict with confidence score.

## Facts

- Endpoint: GET https://x402-endpoints.onrender.com/x402/payment-firewall?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-pre-payment-firewall-wallet-risk-ofac-sanctions-screen-b0e1add3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cYY1Zr-RJLKKH_hIpkdHw

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 x402-pre-payment-firewall-wallet-risk-ofac-sanctions-screen-b0e1add3
```

Example prompt: Before you send that 0.01 USDC payment on Base to wallet address 0x1D1B81247C407521E2A01F3E21514870dcf1620f, run a pre-payment firewall check to make sure it's not OFAC-sanctioned or on any blocklist — I need an ALLOW or BLOCK verdict before we proceed.

## When to prefer this

Use this endpoint immediately before any agent-initiated crypto payment when you need a real-time, structured ALLOW/BLOCK verdict backed by the OFAC SDN list and internal blocklists. Prefer it over manual lookups or generic compliance APIs when the agent must make an autonomous payment decision, needs machine-readable risk reasons with weights, or when regulatory compliance (OFAC, US Treasury) is a hard requirement. It is particularly suited for multi-chain payments (EVM, Solana, BTC, TRON, XRP) where chain inference from address format is convenient.

## Known failure modes

- Missing or malformed to_address returns a validation error
- Unsupported chain identifier results in a 400-level error
- OFAC list temporarily unavailable may reduce confidence or return a partial result
- Amount or expected_price mismatch triggers a spend-anomaly reason code
- Address not recognized by chain detector returns detected_chain as unknown

## How this service works

Pre-payment risk firewall for AI agents: validate {recipient, amount, chain} BEFORE sending an x402 payment and get ALLOW/REVIEW/BLOCK in <200ms — OFAC blocklist, sanctioned-mixer check, runaway-overspend vs expected price and anomalous-amount guard. Stop an agent from overpaying or paying a bad address; transaction risk screening and payment guardrail before send. The hosted spending guard / agent budget protection an offline SDK cannot give.

## Output

Returns a JSON object with a top-level 'verdict' field (ALLOW or BLOCK), a 'confidence' score (0–1), an array of 'reasons' each with a code, label, and weight, a 'recipient' object indicating validity, known_mixer status, detected chain, and OFAC sanctioned boolean, plus a 'data_freshness' block showing blocklist sources and age. Also includes any 'error', cached status, and a disclaimer that this is automated pre-payment risk screening.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "to_address"
     ],
     "properties": {
      "chain": {
       "type": "string",
       "description": "base | ethereum | solana | bitcoin | tron (optional; inferred from address)"
      },
      "amount": {
       "type": "number",
       "description": "Payment amount in USD, e.g. 0.01"
      },
      "to_address": {
       "type": "string",
       "description": "Recipient/payTo address (EVM 0x.., Solana, BTC, TRON, XRP)"
      },
      "expected_price": {
       "type": "number",
       "description": "Price the resource advertised — flags runaway overspend"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "error": null,
  "query": {
   "chain": "base",
   "amount": 0.01,
   "to_address": "0x1D1B81247C407521E2A01F3E21514870dcf1620f",
   "expected_price": 0.01
  },
  "cached": false,
  "reasons": [
   {
    "code": "NO_RISK_SIGNAL",
    "label": "No blocklist hit or spend anomaly detected",
    "weight": -0.5
   }
  ],
  "verdict": "ALLOW",
  "recipient": {
   "valid": true,
   "known_mixer": false,
   "detected_chain": "evm",
   "ofac_sanctioned": false
  },
  "timestamp": "2026-06-29T12:00:00Z",
  "confidence": 0.9,
  "disclaimer": "Automated pre-payment risk screen, not legal/financial advice. ALLOW is not a guarantee.",
  "data_freshness": {
   "as_of": "2026-06-29T12:00:00Z",
   "sources": [
    "OFAC SDN crypto addresses (0xB10C mirror)",
    "local chain validation",
    "internal spend baseline"
   ],
   "age_seconds": 0,
   "retrieved_at": "2026-06-29T12:00:00Z",
   "deterministic": true,
   "ofac_lists_loaded": {
    "ETH": true
   },
   "blocklist_size_evm": 612
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-pre-payment-firewall-wallet-risk-ofac-sanctions-screen-b0e1add3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-endpoints.onrender.com](https://www.zero.xyz/host/x402-endpoints.onrender.com/llms.txt)
