# Rate a Paid API Call (agent402.tools Feedback)

> Rate a Paid API Call (agent402.tools Feedback) is a paid API for AI agents from agent402.tools, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Submits a 'good' or 'bad' verdict for a specific x402-paid API call, tied to its settlement transaction, so only the wallet that paid can rate it.

## Facts

- Endpoint: POST https://agent402.tools/api/feedback
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/rate-a-paid-api-call-agent402-tools-feedback-ee4bf82c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_agPhJ9U_HBJYjodmAjT1m

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 rate-a-paid-api-call-agent402-tools-feedback-ee4bf82c -d '<json body>'
```

Example prompt: Rate that last paid API call as bad — the settlement transaction is 0x2f1fecade9bd945e7817c11e5a34cafe6b349dd8c92a7587efed1de476bddfeb and the reason is 'the crypto price returned was stale by over 10 minutes'.

## When to prefer this

Use this endpoint when an agent has just completed an x402-paid API call and needs to record quality feedback tied to that specific payment. It is the only endpoint that cryptographically binds a rating to both the paying wallet and the exact settlement transaction, making it suitable for trustworthy, tamper-resistant API quality signals in agentic marketplaces. Prefer it over generic review systems when the feedback must be verifiable and wallet-authenticated.

## Known failure modes

- Wrong wallet submitting — only the wallet that paid for the call can rate it; returns authorization error
- Settlement transaction not found — if the tx ID doesn't match a known paid call, returns not found error
- Duplicate verdict without replacement — sending the same verdict again replaces the old one rather than stacking
- 'bad' verdict missing reason — reason is required (10+ chars) for bad verdicts, omitting it returns a validation error
- Reason too short or too long — below 10 or above 1000 characters returns a validation error
- Invalid verdict value — only 'good' or 'bad' are accepted

## How this service works

Tell this server whether a call you paid for delivered what it promised. Bound to the receipt: give it the settlement transaction from that call's PAYMENT-RESPONSE (or Payment-Receipt) header and a verdict of "good" or "bad", and only the wallet the ledger records as having paid for that exact call can write it - so a rating here is always a real customer about a real purchase. One verdict per settlement transaction (sending another replaces yours, it never stacks).

## Output

A JSON object confirming whether the verdict was recorded and whether it replaced a previous one, along with the item name, settlement transaction, amount paid in USD, settlement timestamp, and a SHA256 hash of the exact response bytes the rating is about.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "tx": {
   "type": "string",
   "description": "Settlement transaction of the call you are rating, as carried in that response's PAYMENT-RESPONSE (x402) or Payment-Receipt (MPP) header."
  },
  "reason": {
   "type": "string",
   "description": "What happened, in your own words. Optional on \"good\", required on \"bad\" (10 characters minimum, 1000 maximum). Stored for the operator, never published."
  },
  "verdict": {
   "type": "string",
   "description": "\"good\" (it delivered what it promised) or \"bad\" (it did not)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "item": "crypto-price",
  "note": "responseSha256 is sha256 over the exact JSON bytes that call returned. It identifies the answer your verdict is about.",
  "verdict": "good",
  "recorded": true,
  "replaced": false,
  "amountUsd": 0.01,
  "settledAt": "2026-09-03T15:16:06.000Z",
  "settlementTx": "0x2f1fecade9bd945e7817c11e5a34cafe6b349dd8c92a7587efed1de476bddfeb",
  "responseSha256": "7d2a9b1c4e6f8a0b2c4d6e8f0a1b3c5d7e9f1a3b5c7d9e1f3a5b7c9d1e3f5a7b"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rate-a-paid-api-call-agent402-tools-feedback-ee4bf82c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent402.tools](https://www.zero.xyz/host/agent402.tools/llms.txt)
