13trust / 100

Verify Deliverable

by Agent Output Verifier in Security & trust

x402 APIFailing, checked 3 h ago

Check agent output before you accept or pay for a deliverable: your JSON Schema plus rules like totals matching and unique IDs. Pass/fail, % of checks passed, fix hints and a signed receipt. $0.02 USDC, no signup, x402 v2.

POST https://fastapi-service-5ag4.onrender.com/verify/deliverable

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
0.0%
Response time
- typical, - slowest 5%
Last check
3 h ago: Served content without asking for payment
Next check
any minute now

How to call it

# bash or zsh: see the payment challenge (nothing is charged)
curl -g -i -X POST 'https://fastapi-service-5ag4.onrender.com/verify/deliverable' \
  -H 'content-type: application/json' \
  --data-raw '{"agent_id":"example-agent-001","enforce_rules":true,"expected_schema":{"properties":{"findings":{"items":{"properties":{"id":{"type":"string"},"summary":{"minLength":1,"type":"string"}},"required":["id","summary"],"type":"object"},"minItems":1,"type":"array"},"report_title":{"minLength":1,"type":"string"}},"required":["report_title","findings"],"type":"object"},"rules":[{"field":"findings[].id","type":"unique"}],"submitted_output":{"findings":[{"id":"F-1","summary":"Vendor A raised its entry plan by 10%."},{"id":"F-2","summary":"Vendor B added a free tier."}],"report_title":"Q3 competitor pricing scan"},"task_id":"example-task-002"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Ffastapi-service-5ag4.onrender.com%2Fverify%2Fdeliverable
const res = await pay("https://fastapi-service-5ag4.onrender.com/verify/deliverable", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: "{\"agent_id\":\"example-agent-001\",\"enforce_rules\":true,\"expected_schema\":{\"properties\":{\"findings\":{\"items\":{\"properties\":{\"id\":{\"type\":\"string\"},\"summary\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"id\",\"summary\"],\"type\":\"object\"},\"minItems\":1,\"type\":\"array\"},\"report_title\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"report_title\",\"findings\"],\"type\":\"object\"},\"rules\":[{\"field\":\"findings[].id\",\"type\":\"unique\"}],\"submitted_output\":{\"findings\":[{\"id\":\"F-1\",\"summary\":\"Vendor A raised its entry plan by 10%.\"},{\"id\":\"F-2\",\"summary\":\"Vendor B added a free tier.\"}],\"report_title\":\"Q3 competitor pricing scan\"},\"task_id\":\"example-task-002\"}",
});
console.log(await res.json());

Example input

{
  "agent_id": "example-agent-001",
  "enforce_rules": true,
  "expected_schema": {
    "properties": {
      "findings": {
        "items": {
          "properties": {
            "id": {
              "type": "string"
            },
            "summary": {
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "id",
            "summary"
          ],
          "type": "object"
        },
        "minItems": 1,
        "type": "array"
      },
      "report_title": {
        "minLength": 1,
        "type": "string"
      }
    },
    "required": [
      "report_title",
      "findings"
    ],
    "type": "object"
  },
  "rules": [
    {
      "field": "findings[].id",
      "type": "unique"
    }
  ],
  "submitted_output": {
    "findings": [
      {
        "id": "F-1",
        "summary": "Vendor A raised its entry plan by 10%."
      },
      {
        "id": "F-2",
        "summary": "Vendor B added a free tier."
      }
    ],
    "report_title": "Q3 competitor pricing scan"
  },
  "task_id": "example-task-002"
}

Example output

{
  "agent_id": "example-agent-001",
  "attestation": {
    "algorithm": "Ed25519",
    "key_version": "v1-example",
    "signature": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
    "timestamp": "2026-01-01T00:00:00+00:00"
  },
  "enforce_rules": true,
  "errors": [],
  "errors_detail": [],
  "errors_detail_omitted": 0,
  "errors_detail_total": 0,
  "errors_omitted": 0,
  "errors_total": 0,
  "flags": [],
  "flags_omitted": 0,
  "flags_total": 0,
  "hints": [],
  "hints_omitted": 0,
  "hints_total": 0,
  "integrity_checks": {
    "passed": 12,
    "ratio": 1,
    "total": 12
  },
  "next_actions": [
    {
      "action": "attach_receipt",
      "for": "seller"
    },
    {
      "action": "proceed_to_payment",
      "for": "buyer"
    }
  ],
  "output_hash": "dc7786e4a55de9423a7b14297944b00ebe8e5c709f2063a78230aa2df7004b50",
  "overall": {
    "passed": 28,
    "ratio": 1,
    "total": 28
  },
  "request_hash": "0defdf7d0e73e14d785a03658d6f2b3ef6e210569516387e2cc1d057ed6ba6b0",
  "result": "pass",
  "rules_hash": "a888b42989834a385f47403af04349f49bb47c950918ed100dc1df20d9d30a3b",
  "schema_compliance": {
    "passed": 16,
    "ratio": 1,
    "total": 16
  },
  "schema_hash": "55cdc036dc420c8ed2f46ea0a6f2df6f99821be1b9b388d5267736066d66579b",
  "strict_content_check": false,
  "summary": {
    "blocking_checks": [],
    "result": "pass"
  },
  "task_id": "example-task-002",
  "verification_id": "0b8f2a6e-5d1c-4f43-9a07-3c61d9e2b8a4",
  "verified_at": "2026-01-01T00:00:00+00:00",
  "verifier_version": "0.4.1",
  "verify": {
    "canonicalization": "RFC 8785 (JCS)",
    "hash_algorithm": "SHA-256",
    "key_version": "v1-2026-09c",
    "mcp": "https://fastapi-service-5ag4.onrender.com/mcp",
    "public_key_url": "https://fastapi-service-5ag4.onrender.com/.well-known/agent-card.json",
    "service": "Agent Output Verifier"
  }
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
3 h agoServed content without asking for payment200730 ms-
7 h agoServed content without asking for payment200491 ms-
12 h agoServed content without asking for payment200537 ms-
16 h agoServed content without asking for payment200445 ms-
20 h agoServed content without asking for payment200247 ms-
24 h agoServed content without asking for payment200173 ms-
29 h agoServed content without asking for payment200217 ms-
32 h agoServed content without asking for payment200185 ms-
37 h agoServed content without asking for payment200204 ms-
41 h agoServed content without asking for payment200218 ms-
45 h agoServed content without asking for payment200202 ms-
2 days agoServed content without asking for payment200427 ms-
2 days agoServed content without asking for payment200303 ms-
2 days agoServed content without asking for payment200188 ms-
3 days agoServed content without asking for payment200256 ms-