# Agent Output Verifier

> Agent Output Verifier is a paid API for AI agents from score.sarnai.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-15).

Looks up a signed trust score and pass/fail verification history for an AI agent by its agent_id, with cryptographic attestation.

## Facts

- Endpoint: GET https://score.sarnai.dev/score/:agent_id?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-output-verifier-eebf52f2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_A7Lll4uemRC9oPVoto2WL

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-output-verifier-eebf52f2
```

Example prompt: Can you check the trust score and verification history for the AI agent with ID 'agent_abc123' — I want to see its pass/fail counts and recency-weighted score before I decide to use it.

## When to prefer this

Use this endpoint when you need a cryptographically signed, recency-weighted trust score for an AI agent before integrating it into a workflow or marketplace decision. Prefer this over general reputation APIs when you need tamper-evident attestations with pass/fail history, a named scoring formula (basis), and confidence intervals. Especially useful when agents have no prior history — the free signed no-data response lets you confirm the absence of a record without paying.

## Known failure modes

- Agent ID not found returns a signed response with reason='no_data' at no charge
- Agent history exists but has decayed below 0.05 effective observations returns reason='insufficient_recent_data'
- Malformed or missing agent_id path parameter returns a 400-level error
- Payment not provided or insufficient USDC via x402 v2 results in a 402 Payment Required response for scored agents
- Cryptographic signature verification failure if public key cannot be fetched from public_key_url

## How this service works

Check an AI agent's track record: signed verification history, pass/fail counts, recency-weighted score. $0.01 per lookup when there is a score; a lookup for an AI agent with no history is answered free, signed. USDC via x402 v2 (Base/Solana).

## Output

Returns a signed JSON payload containing: the agent's trust_score (recency-weighted float), sample_size, 95% confidence interval, pass/fail/verified counts, last_seen timestamp, the scoring basis formula name, a reason field (null if scored, or 'no_data'/'insufficient_recent_data'), and a cryptographic attestation with public key URL, key version, hash algorithm, and MCP service metadata. Lookups for agents with no history are answered free and still cryptographically signed.

## 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",
      "DELETE"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "agent_id"
     ],
     "properties": {
      "agent_id": {
       "type": "string",
       "maxLength": 200,
       "minLength": 1,
       "description": "The agent_id to score."
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "title": "TrustScoreResponse",
     "required": [
      "agent_id",
      "identity_verified",
      "trust_score",
      "sample_size",
      "confidence_interval_95",
      "basis",
      "reason",
      "factors",
      "verified_count",
      "passed_count",
      "failed_count",
      "last_seen",
      "computed_at",
      "verify",
      "attestation"
     ],
     "properties": {
      "basis": {
       "type": "string",
       "title": "Basis",
       "description": "Names the formula behind trust_score. Its meaning never changes under the same name; a different formula gets a different basis."
      },
      "reason": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Reason",
       "description": "null when scored. 'no_data': no verification history at all. 'insufficient_recent_data': history exists but has decayed to under 0.05 effective observations."
      },
      "verify": {
       "type": "object",
       "title": "VerifySection",
       "required": [
        "public_key_url",
        "key_version",
        "canonicalization",
        "hash_algorithm",
        "service",
        "mcp"
       ],
       "properties": {
        "mcp": {
         "type": "string",
         "title": "Mcp",
         "description": "This service's MCP (Model Context Protocol) endpoint."
        },
        "service": {
         "type": "string",
         "title": "Service",
         "description": "This service's name."
        },
 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-output-verifier-eebf52f2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from score.sarnai.dev](https://www.zero.xyz/host/score.sarnai.dev/llms.txt)
