# Agent Trust Lookup

> Agent Trust Lookup is a paid API for AI agents from agent-trust.agent-utils.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Assesses the trustworthiness of an EVM wallet address on Base by analyzing on-chain transaction history, micro-payment behavior, ERC-8004 agent identity, and agent-card presence to produce a trust score and tier.

## Facts

- Endpoint: GET https://agent-trust.agent-utils.workers.dev/v1/wallet
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-trust-lookup-a3113723
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oi5SYmZFcvoOiTJm-2GhX

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 agent-trust-lookup-a3113723
```

Example prompt: Can you check if the wallet 0x4eFB… is a trustworthy agent — I want to see its trust tier, micro-payment history on Base, and any ERC-8004 agent registrations before I decide whether to serve it.

## When to prefer this

Use this endpoint when you need a holistic, multi-signal trust assessment of an AI agent wallet on Base — combining on-chain payment behavior, ERC-8004 identity registration, agent card presence, and community feedback into a single scored verdict. Prefer it over raw blockchain explorers when you want an opinionated trust tier (established/emerging/new/risky) with actionable recommendations rather than raw transaction data. It is especially suited for API providers deciding whether to grant elevated access, enable session payments, or apply rate limits to an incoming agent.

## Known failure modes

- Missing or invalid 'address' query parameter returns a validation error
- Non-Base or non-EVM address format causes a parsing failure
- Address with no on-chain history returns 'new' tier with score near 0 and minimal signals
- Payment failure over x402 (insufficient USDC) returns 402 Payment Required
- Network or RPC errors querying Base may return 5xx temporarily
- ERC-8004 registry unavailable may cause partial results with missing agent fields

## How this service works

Know your agent before you serve it: wallet history and micro-payment behaviour on Base, ERC-8004 identity and feedback, Web Bot Auth and agent-card presence on a domain, and signed-request verification. Pay per call over x402, no API key.

## Output

A JSON object containing the wallet address checked, a timestamp, on-chain activity summary (USDC balance, transaction count, 30-day USDC transfer stats including micro-payment count and distinct counterparties, ERC-8004 agent IDs, token transfer count, ENS name), a list of matched ERC-8004 agent records (with agent card URI, owner, feedback count, average feedback score), and an assessment object with a numeric trust score (0–100), a tier label (new, emerging, established, or risky), human-readable signals explaining the score, and recommendations for how to treat the wallet.

## 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": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "description": "EVM address (Base)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "agents": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "uri": {
          "type": [
           "string",
           "null"
          ]
         },
         "owner": {
          "type": [
           "string",
           "null"
          ]
         },
         "agentId": {
          "type": "string"
         },
         "clients": {
          "type": "integer"
         },
         "agentWallet": {
          "type": [
           "string",
           "null"
          ]
         },
         "registration": {},
         "feedbackCount": {
          "type": "integer"
         },
         "recentFeedback": {
          "type": "array",
          "items": {
           "type": "object"
          }
         },
         "feedbackAverage": {
          "type": [
           "number",
           "null"
          ]
         }
        }
       }
      },
      "address": {
       "type": "string"
      },
      "activity": {
       "type": "object"
      },
      "checkedAt": {
       "type": "string"
      },
      "assessment": {
       "type": "object",
       "properties": {
        "tier": {
         "enum": [
          "established",
          "emerging",
          "new",
          "risky"
         ],
         "type": "string"
        },
        "signals": {
         "type": "array",
         "items": {
          "type": "string"
         }
        },
        "trustScore": {
         "type": "integer",
         "maximum": 100,
         "minimum": 0
        },
        "recommendations": {
         "type": "array",
         "items": {
          "type": "string"
         }
        }
       }
      }

… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "agents": [
   {
    "uri": "https://…/agent.json",
    "owner": "0x4eFB…",
    "agentId": "1234",
    "clients": 5,
    "agentWallet": null,
    "registration": {
     "name": "…"
    },
    "feedbackCount": 12,
    "recentFeedback": [],
    "feedbackAverage": 0.8
   }
  ],
  "address": "0x4eFB…",
  "activity": {
   "ensName": null,
   "txCount": 1,
   "isContract": false,
   "usdcBalance": 12.5,
   "erc8004AgentIds": [
    "1234"
   ],
   "usdcTransfers30": {
    "last": "2026-09-06T20:00:00Z",
    "count": 30,
    "first": "2026-08-30T10:00:00Z",
    "sumIn": 0,
    "sumOut": 1.2,
    "microPayments": 28,
    "distinctCounterparties": 9
   },
   "tokenTransferCount": 49
  },
  "checkedAt": "2026-09-06T21:00:00.000Z",
  "assessment": {
   "tier": "established",
   "signals": [
    "30 recent USDC transfers",
    "28 micro-payments (<= $0.50): pays per call like an agent"
   ],
   "trustScore": 72,
   "recommendations": [
    "eligible for session/streaming payments (MPP) and higher rate limits"
   ]
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-trust-lookup-a3113723/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent-trust.agent-utils.workers.dev](https://www.zero.xyz/host/agent-trust.agent-utils.workers.dev/llms.txt)
