# Agent Trust Lookup – Verify Signed Request

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

Verifies the cryptographic signature on an incoming agent request, checking the signing key against a published agent-card directory to confirm the agent's identity is legitimate.

## Facts

- Endpoint: POST https://agent-trust.agent-utils.workers.dev/v1/verify-request
- Price: $0.005/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-verify-signed-request-d22f3a28
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aZEB2HyGe0ex9wEKycWM6

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-verify-signed-request-d22f3a28 -d '<json body>'
```

Example prompt: Before I process this incoming request from that external AI agent, can you verify its signed headers and tell me whether its identity checks out — specifically whether the signing key matches its published agent card?

## When to prefer this

Use this endpoint when you need to cryptographically authenticate an inbound AI agent request by verifying its signed HTTP headers against its publicly hosted agent card or Web Bot Auth document. Prefer this over manual key management when you want a pay-per-call, keyless approach to agent authentication on Base-integrated infrastructure, especially when ERC-8004 identity signals and on-chain wallet history are also relevant to your trust decision.

## Known failure modes

- Invalid or malformed headers cause valid=false with a descriptive reason string
- Agent domain has no agent card or Web Bot Auth file, resulting in directoryKeys=0 and valid=false
- Signature mismatch between provided key and directory keys returns valid=false
- Missing headers field in request body causes a 400-level error
- Payment not fulfilled via x402 returns a 402 Payment Required response
- Network timeout fetching remote agent card returns an error reason

## 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

Returns a JSON object with: the agent's URL, the key ID used to sign the request, a boolean indicating whether the signature is valid, a reason field (null if valid, error string if invalid), a checkedAt ISO timestamp, and the count of public keys found in the agent's directory listing.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "headers": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "agent": "https://agent.example",
  "keyid": "abc",
  "valid": true,
  "reason": null,
  "checkedAt": "2026-09-06T21:00:00.000Z",
  "directoryKeys": 2
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-trust-lookup-verify-signed-request-d22f3a28/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)
