# IntentFence x402 Quote Verifier

> IntentFence x402 Quote Verifier is a paid API for AI agents from agentpass-protocol.rmalka06.chatgpt.site, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-11).

Probes a target x402-gated URL and verifies whether the payment quote is safe to pay — checking asset type, price ceiling, payee address, and resource binding before an agent commits funds.

## Facts

- Endpoint: POST https://agentpass-protocol.rmalka06.chatgpt.site/api/x402-readiness?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/intentfence-x402-quote-verifier-e39a3234
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aHYPONytkOaudVwbPxCWf

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 intentfence-x402-quote-verifier-e39a3234 -d '<json body>'
```

Example prompt: Before paying for that x402-gated API at https://data.example.com/report, check that the price is under $0.10 USDC, the asset is Base USDC, and the payee is 0xAbC1234...def5678 — give me a readiness verdict so I know it's safe to proceed.

## When to prefer this

Use IntentFence when an AI agent is about to execute an x402 micropayment and needs an independent, caller-side verification that the quote is legitimate — especially when payee address whitelisting, price ceiling enforcement, or redirect-spoofing detection is required. Prefer this over blindly trusting the payment challenge returned by the target server itself.

## Known failure modes

- Target URL is not reachable or returns non-402 status — status reflects endpoint not x402-ready
- Price exceeds max_price_usdc — returns a non-ready status flagging the price violation
- Payee address not in allowed_payees allowlist — returns ready_with_review or rejected status
- Target URL uses non-HTTPS or non-standard port — rejected as invalid input
- Malformed payee address (not valid 0x hex) — input validation error
- URL exceeds 2048 character limit — request rejected
- POST body exceeds 4096 encoded bytes — input validation error

## How this service works

Fail-closed, action-bound authorization for AI agents with five-minute ES256 receipts, MCP risk scanning, and x402 payment safety.

## Output

Returns a JSON object with a 'status' field (e.g. 'ready'), an 'intentfence' confidence score (0–1), the observed HTTP status code, whether a 402 Payment Required was present and if redirects were blocked, a verification tier indicating how the assessment was performed, and a signed receipt confirming live endpoint readiness.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "body": {
   "description": "Optional JSON request body for POST probes, limited to 4096 encoded bytes."
  },
  "method": {
   "enum": [
    "GET",
    "HEAD",
    "POST"
   ],
   "type": "string",
   "default": "GET"
  },
  "policy": {
   "type": "object",
   "required": [
    "max_price_usdc"
   ],
   "deprecated": true,
   "properties": {
    "allowed_payees": {
     "type": "array",
     "items": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$"
     },
     "maxItems": 20,
     "minItems": 1,
     "description": "Optional explicit payee allowlist. Omission yields ready_with_review for an otherwise valid quote.",
     "uniqueItems": true
    },
    "max_price_usdc": {
     "type": "string",
     "pattern": "^(?:0|[1-9][0-9]{0,11})(?:\\.[0-9]{1,6})?$",
     "description": "Maximum acceptable x402 price in USDC."
    }
   },
   "description": "Legacy nested policy input. New buyers should use the optional top-level fields.",
   "additionalProperties": false
  },
  "subject": {
   "type": "string",
   "default": "agent:anonymous-marketplace-buyer",
   "maxLength": 200,
   "minLength": 1,
   "description": "Optional buyer identifier. Omit for anonymous marketplace delivery."
  },
  "target_url": {
   "type": "string",
   "format": "uri",
   "maxLength": 2048,
   "description": "Public HTTPS x402 resource URL on the standard HTTPS port."
  },
  "allowed_payees": {
   "type": "array",
   "items": {
    "type": "string",
    "pattern": "^0x[0-9a-fA-F]{40}$"
   },
   "maxItems": 20,
   "minItems": 1,
   "description": "Optional explicit payee allowlist. Omission yields ready_with_review for an otherwise valid quote.",
   "uniqueItems": true
  },
  "max_price_usdc": {
   "type": "string",
   "default": "1.00",
   "pattern": "^(?:0|[1-9][0-9]{0,11})(?:\\.[0-9]{1,6})?$",
   "description": "Optional maximum acceptable x402 price in USDC."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "status": "ready",
  "receipt": {
   "signed": true,
   "assurance": "live-x402-endpoint-readiness"
  },
  "observed": {
   "http_status": 402,
   "redirect_blocked": false,
   "payment_required_present": true
  },
  "request_id": "7d7fbf44-3c39-4eca-89d6-b44d756c8df1",
  "intentfence": "0.9",
  "verification_tier": "live-x402-readiness+x402-settled"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/intentfence-x402-quote-verifier-e39a3234/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentpass-protocol.rmalka06.chatgpt.site](https://www.zero.xyz/host/agentpass-protocol.rmalka06.chatgpt.site/llms.txt)
