# P0 Agent Economy Index – Wallet Risk Screener

> P0 Agent Economy Index – Wallet Risk Screener is a paid API for AI agents from x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-19).

Returns a rule-based risk label (high/medium/low/unknown) for an EVM wallet address, including OFAC SDN sanctions screening and on-chain facts across Base, Ethereum, Arbitrum, and Polygon.

## Facts

- Endpoint: GET https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/wallet/risk?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/p0-agent-economy-index-wallet-risk-screener-84fb8a01
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XLEu_1h6b0SdQmunvGWgO

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 p0-agent-economy-index-wallet-risk-screener-84fb8a01
```

Example prompt: Can you run a sanctions and risk check on the wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 — I need to know if it's flagged on the OFAC SDN list and what its USDC balance looks like across Base, Ethereum, Arbitrum, and Polygon before I send a payment?

## When to prefer this

Use this endpoint when you need a fast, rule-transparent, multi-chain wallet risk assessment with explicit OFAC SDN screening and live balance facts — especially before executing a crypto payment, onboarding an agent wallet, or auditing a DeFi counterparty. Prefer this over generic blockchain explorers when you need a structured risk label with auditable rules and sanctions data in a single call.

## Known failure modes

- Invalid or malformed EVM address (not matching 0x + 40 hex) returns a validation error
- Blockchain node unavailable for one or more chains — affected chain listed with error, never assumed clean
- OFAC list unavailable or stale — listDate indicates age of the snapshot
- Address is a contract on some chains and EOA on others — handled per chain but may confuse callers expecting a uniform type
- Unknown risk returned when insufficient on-chain data is available to apply rules

## How this service works

An open index of the machine-to-machine (agent) economy. x402 routes: ranked discovery over the live x402 service market, every indexed service scored by real 30-day calls and paying-wallet bounds, with a receipt naming the snapshot hash and scoring revision. /economy routes, for Tempo MPP, Virtuals ACP, Olas, Masumi, ERC-8004 agent registries, Solana agent registries, Base agent contracts and MCP servers (Official MCP Registry): each protocol's published figures (agent or server counts, transactions or payment events; payers and USD volume only where the source publishes them: payers for x402 and Tempo MPP, USD volume for x402 and Virtuals ACP), each with its unit, window and source; units differ, so totals are not summed. L402 and per-service MPP listings are not covered.

## Output

A JSON object containing: a 'risk' field (high, medium, low, or unknown), the full rule set applied, OFAC SDN sanctions match details with list date, and per-chain facts for Base, Ethereum, Arbitrum, and Polygon — including USDC balance (raw and human-readable), native token balance, outgoing transaction count (nonce), contract code flag, block height at read time, RPC sources used, and any node errors. A 'note' field provides a fixed legal disclaimer. No ML scoring — only deterministic rule evaluation on stated facts.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "EVM address (0x + 40 hex); ENS names are not resolved here"
      },
      "request_key": {
       "type": "string",
       "pattern": "^[A-Za-z0-9._:-]{1,64}$",
       "description": "Idempotency key, echoed back"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "address",
      "risk",
      "reasons",
      "rules",
      "grade",
      "verdict",
      "sanctions",
      "chains",
      "checked_at",
      "sources",
      "note"
     ],
     "properties": {
      "note": {
       "type": "string",
       "description": "Fixed text: rule-based label, not a fraud score; not legal advice"
      },
      "risk": {
       "enum": [
        "high",
        "medium",
        "low",
        "unknown"
       ],
       "type": "string",
       "description": "high, medium, low or unknown - by the rules in 'rules'"
      },
      "grade": {
       "enum": [
        "A",
        "B",
        "C",
        "D",
        "F"
       ],
       "type": "string",
       "description": "A low; B medium (new address only); C medium (other); D unknown; F high (OFAC); E unused"
      },
      "rules": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "description": "The full rule set, fixed text"
      },
      "chains": {
       "type": "object",
       "required": [
        "base",
        "ethereum",
        "arbitrum",
        "polygon"
       ],
       "description": "Facts per chain (base, ethereum, arbitrum, polygon): contract code (Base, Ethereum), nonce, balances",
       "additionalProperties": {
        "type": "object",
        "required": [
         "chain",
         "chainId",
         "contract",
         "nonce",
         "e
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "note": "A rule-based label, not a fraud or machine-learning score: the rules are listed in full in 'rules' and are applied to the facts shown in 'sanctions' and 'chains'. Facts come from the OFAC SDN list as of listDate and from public blockchain nodes at the time of the call; a chain that did not answer is listed with its error, never assumed. Not legal advice. Screening against the OFAC SDN list as of 2026-10-02, not legal advice. Only the SDN list is checked (not OFAC's non-SDN Consolidated lists or other countries' lists). A possible name match needs human review, and no match does not mean a party is cleared. Not affiliated with or endorsed by OFAC or the U.S. Department of the Treasury.",
  "risk": "low",
  "grade": "A",
  "rules": [
   "high: the address is an exact match on the OFAC SDN list (Digital Currency Address entries)."
  ],
  "chains": {
   "base": {
    "usdc": {
     "raw": "25000000",
     "amount": "25",
     "contract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    },
    "block": 52207539,
    "chain": "base",
    "nonce": 41,
    "errors": [],
    "native": {
     "raw": "120000000000000000",
     "amount": "0.12",
     "symbol": "ETH"
    },
    "chainId": 8453,
    "sources": [
     "base.drpc.org"
    ],
    "contract": false,
    "code_bytes": 0
   },
   "polygon": {
    "usdc": {
     "raw": "0",
     "amount": "0",
     "contract": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359"
    },
    "block": 52207539,
    "chain": "polygon",
    "nonce": 0,
    "errors": [],
    "native": {
     "raw": "120000000000000000",
     "amount": "0.12",
     "symbol": "POL"
    },
    "chainId": 137,
    "sources": [
     "polygon.drpc.org"
    ],
    "contract": null,
    "code_bytes": null
   },
   "arbitrum": {
    "usdc": {
     "raw": "0",
     "amount": "0",
     "contract": "0xaf88d065e77c8cc2239327c5edb3a432268e5831"
    },
    "block": 52207539,
    "chain": "arbitrum",
    "nonce": 0,
    "errors": [],
    "native": {
     "raw": "120000000000000000",
     "amount": "0.12",
     "symbol": "ETH"
    },
    "chainId": 42161,
    "sources": [
     "arbitrum.drpc.org"
    ],
    "contract": null,
    "code_bytes": null
   },
   "ethereum": {
    "usdc": {
     "raw": "0",
     "amount": "0",
     "contract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
    },
    "block": 52207539,
    "chain": "ethereum",
    "nonce": 1375,
    "errors": [],
    "native": {
     "raw": "120000000000000000",
     "amou
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/p0-agent-economy-index-wallet-risk-screener-84fb8a01/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev](https://www.zero.xyz/host/x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/llms.txt)
