# Agent Readiness Passport Service

> Agent Readiness Passport Service is a paid API for AI agents from gateway-wallet-payments.jerryrnapier.workers.dev, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-18).

Analyzes a public website and generates an asynchronous 'agent readiness passport' report assessing how well the site supports AI agent interactions

## Facts

- Endpoint: POST https://gateway-wallet-payments.jerryrnapier.workers.dev/api/agent/v1/services/agent-readiness-passport?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-readiness-passport-service-5b2bfff8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_r5ZL0aZ06yP7MNwVe0Vae

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-readiness-passport-service-5b2bfff8 -d '<json body>'
```

Example prompt: Can you run an agent readiness passport check on https://example.com and tell me how AI-agent-friendly it is? Use my email me@example.com for delivery.

## When to prefer this

Choose this endpoint when you specifically need an 'agent readiness passport' assessment for a public website — i.e., a structured evaluation of how well a site supports AI agent interactions. It is best suited for developers, site owners, or agents conducting due diligence on web properties before building agent integrations. Prefer this over generic SEO or accessibility audits when the focus is specifically on autonomous agent compatibility. Note that results are asynchronous, so it is appropriate when near-real-time results are not required.

## Known failure modes

- Payment not settled — job not queued, paymentState will reflect unsettled state
- Invalid or non-HTTPS website URL — validation error returned
- Reused authorization capability token — rejected as replayed credential
- Missing required headers (Content-Type, Authorization, Idempotency-Key) — 4xx error
- Service temporarily unavailable — check endpoint response for availability status
- Result not yet ready — poll statusUrl until complete before fetching resultUrl

## How this service works

Timestamped homepage and five fixed discovery-path observations; not a security certification. Asynchronous durable receipt; retain private capability and poll the result URL.

## Output

Returns a JSON object containing: ok (boolean), status (string such as 'paid'), paymentState (string such as 'settled'), a statusUrl path for polling job progress, and a resultUrl path for retrieving the completed agent readiness passport report once processing finishes. The actual passport report must be fetched separately via the resultUrl.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input",
  "output"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body",
    "headers"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "service",
      "input"
     ],
     "properties": {
      "input": {
       "type": "object",
       "required": [
        "website"
       ],
       "properties": {
        "website": {
         "type": "string",
         "format": "uri",
         "maxLength": 2048,
         "description": "Public HTTPS website origin only; no credentials, query or fragment."
        }
       },
       "additionalProperties": false
      },
      "service": {
       "type": "string",
       "const": "agent-readiness-passport"
      },
      "deliveryEmail": {
       "type": "string",
       "format": "email",
       "maxLength": 254
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "required": [
      "Content-Type",
      "Authorization",
      "Idempotency-Key"
     ],
     "properties": {
      "Content-Type": {
       "type": "string",
       "const": "application/json"
      },
      "Authorization": {
       "type": "string",
       "description": "Replace the deliberately invalid placeholder with Bearer followed by a fresh private random 32-byte capability encoded as 64 lowercase hex characters. Retain it privately for result retrieval; never reuse a published example credential."
      },
      "Idempotency-Key": {
       "type": "string",
       "pattern": "^[A-Za-z0-9_-]{16,128}$"
      }
     },
     "additionalProperties": false
    },
    "bodyType": {
     "type": "string",
     "const": "json"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type",
    "example"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "ok",
      "paymentState",
      "status",
      "statusUrl",
      "resultUrl"
     ],
     "properties": {
      "ok": {
       "type": "boolean"
      },
      "status": {
       "type": "string"
      },
      "resultUrl": {
       "type": "string"
 
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "status": "paid",
  "resultUrl": "/api/agent/v1/jobs/agent_SAMPLE/result",
  "statusUrl": "/api/agent/v1/jobs/agent_SAMPLE",
  "paymentState": "settled"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-readiness-passport-service-5b2bfff8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from gateway-wallet-payments.jerryrnapier.workers.dev](https://www.zero.xyz/host/gateway-wallet-payments.jerryrnapier.workers.dev/llms.txt)
