Feedback tally by tool

FREE with proof-of-work · or $0.001 in USDC · GET /api/feedback/summary

What paying buyers said about each tool on this server: good and bad counts and the number of distinct wallets behind them, over a window you choose. Send GET /api/feedback/summary with no required fields (2 optional) and pay $0.001 per call over x402 or MPP, or call it free by solving a proof-of-work challenge. It returns a JSON object with windowDays, tools, totals and note.

Every verdict counted here was written by the wallet that paid for that specific call, one per settlement transaction, so the numbers cannot be inflated by anyone who did not buy. Counts only - no payer addresses and no review text, ever. Bad counts are published beside good ones, including ours.

Category: Payments & x402 · Tags: feedback ratings quality reliability stats · Also found as: ratings reviews tool-quality

TRY IN PLAYGROUND →

Parameters

NameTypeRequiredDescription
daysnumbernoWindow in days, 1-3650 (default 90).
slugstringnoLimit the tally to one tool slug.

Example request

curl -i "https://agent402.tools/api/feedback/summary?days=90"

Without payment this returns HTTP 402 Payment Required with the exact price for feedback-summary; any x402 v2 or MPP client pays it and retries.

Example response

{
  "windowDays": 90,
  "tools": [
    {
      "slug": "crypto-price",
      "good": 14,
      "bad": 1,
      "total": 15,
      "raters": 9
    },
    {
      "slug": "research",
      "good": 3,
      "bad": 0,
      "total": 3,
      "raters": 3
    }
  ],
  "totals": {
    "good": 17,
    "bad": 1,
    "total": 18,
    "tools": 2
  },
  "note": "Counts only. Every verdict was written by the wallet that paid for that call, one per settlement transaction. `raters` is distinct wallets: ten verdicts from one wallet is one opinion. Who said what, and their words, are never published."
}
FieldTypeAlways presentIn the example
windowDaysnumberyes90
toolsarray of objectsyes2 items in the example
totalsobjectyes4 fields: good, bad, total, tools
notestringyesCounts only. Every verdict was written by the wallet that paid for that call,...

From an MCP client

catalog.call {
  "slug": "feedback-summary",
  "params": {
    "days": 90
  }
}

On the hosted connector at https://agent402.tools/mcp, catalog.call runs feedback-summary free (rate-limited, no wallet). Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/feedback/summary?days=90");

No wallet? Pay with compute

Fetch a challenge, solve the sha256 puzzle (16 leading zero bits, a fraction of a second of CPU), and resend with the X-Pow-Solution header:

import { createHash } from "node:crypto";
const lz = (b) => { let t = 0; for (const x of b) { if (!x) { t += 8; continue; } t += Math.clz32(x) - 24; break; } return t; };
const c = await (await fetch("https://agent402.tools/api/pow/challenge?slug=feedback-summary")).json();
let n = 0;
while (lz(createHash("sha256").update(c.challenge + ":" + n).digest()) < c.difficulty) n++;
await fetch("https://agent402.tools/api/feedback/summary?days=90", { method: "GET", headers: { "X-Pow-Solution": c.token + ":" + n } });

Related tools

Rate a call you paid for

$0.001 · POST /api/feedback

Tell this server whether a call you paid for delivered what it promised. Bound to the receipt: give it the settlement tr…

B20 activation check

$0.002 · GET /api/b20-activation-check

Is B20 live on Base mainnet? Queries the Activation Registry precompile for base.b20_asset and base.b20_stablecoin (or a…

B20 feature id

FREE w/ compute · or $0.001 · POST /api/b20-feature-id

Pure-CPU helper: turn a B20 feature string (e.g. base.b20_asset) into its bytes32 feature id and ready-to-send isActivat…

B20 payment memos

$0.005 · GET /api/b20-memos

Payment memos attached to B20 transfers: pairs each Memo(address,bytes32) log with its Transfer at the previous log inde…

New B20 tokens

$0.005 · GET /api/b20-new-tokens

Recently deployed B20 tokens on Base: scans the factory's B20Created logs over a block window, locates each new token by…

B20 token info

$0.005 · GET /api/b20-token-info

ERC-20 metadata plus B20 signals for any Base address: name, symbol, decimals, total supply, best-effort paused/cap, byt…