# Evidence Verification API

> Evidence Verification API is a paid API for AI agents from hermesplant.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-14).

Validates a collection of evidence artifacts (x402 receipts, payment decisions, approvals, logs) against a configurable policy and returns a machine-readable verified/rejected decision with confidence score.

## Facts

- Endpoint: GET https://hermesplant.com/api/agent-services/evidence/verify
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evidence-verification-api-42a51551
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UZ-G0v0rBqEoekacKi85N

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 evidence-verification-api-42a51551
```

Example prompt: Before we deploy this infrastructure change, verify these three artifacts — the x402 payment receipt, the human approval token, and the agent run log — against our policy that requires payTo 0xABC, minArtifacts 3, and maxArtifactAge of 300 seconds, and tell me if we're clear to proceed.

## When to prefer this

Choose this endpoint when an AI agent needs a deterministic, policy-driven safety gate before executing consequential or irreversible actions — particularly those involving x402 payments, infrastructure changes, shell commands, SQL mutations, Git operations, or MCP tool calls. It is especially valuable when you need machine-readable evidence preservation with confidence scoring and audit trails, rather than a simple boolean approval check.

## Known failure modes

- Missing required artifacts array causes 400 validation error
- Artifacts exceeding maxArtifactAgeSeconds result in decision 'rejected' with reason code 'evidence.stale'
- Policy field mismatches (wrong serviceId, payTo, or priceCents) return verified:false with specific reason codes
- Malformed artifact objects cause schema validation errors
- Network timeout or service unavailability returns 5xx with no decision
- Insufficient artifact count relative to minArtifacts yields rejection with missingArtifacts populated

## How this service works

Verify an agent-commerce evidence bundle before trusting a paid result. Checks x402 challenge, receipt, policy-decision, and service-response artifacts; endpoint, method, network, payTo, and price binding; artifact source, freshness, hashes, and synthetic-proof leakage. Returns verified / needs_review / rejected / insufficient_evidence with per-rule evidence. Deterministic — loop it over every paid call in an agent run.

## Output

A JSON object containing: a top-level verification status ('verified' or 'rejected'), a boolean verified flag, a confidence score (0–1), an array of reason codes, a summary of total/hashed/synthetic artifacts, a list of missing required artifacts, and a recommendedAction string (e.g. 'persist_evidence_and_use_result') plus a unique requestId for audit tracing.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "policy": {
   "type": "object",
   "description": "Verification policy: expected serviceId/endpoint/method/network/payTo/priceCents, allowedSources, minArtifacts, maxArtifactAgeSeconds, and require* flags per artifact type."
  },
  "subject": {
   "type": "object",
   "description": "Optional run subject: kind, serviceId, endpoint, method, resourceUrl, runId."
  },
  "artifacts": {
   "type": "array",
   "items": {
    "type": "object"
   },
   "description": "Evidence artifacts (shared Hermes contract): x402_challenge, x402_receipt, payment_policy_decision, service_response, agent_run_log, human_approval, and other typed artifacts."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "status": "verified",
  "service": "evidence-verify",
  "decision": "verified",
  "verified": true,
  "requestId": "ev_<uuid>",
  "confidence": 0.94,
  "reasonCodes": [
   "evidence.verified"
  ],
  "artifactSummary": {
   "total": 3,
   "hashed": 3,
   "synthetic": 0
  },
  "missingArtifacts": [],
  "recommendedAction": "persist_evidence_and_use_result"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evidence-verification-api-42a51551/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hermesplant.com](https://www.zero.xyz/host/hermesplant.com/llms.txt)
