Did your agent get what it paid for?

Real USDC. Real paid calls. Public receipts. Grades never for sale.

How do I check if an x402 API is trustworthy?

Look up the endpoint in the Kertivo Index: if we already paid it in a published run, you get a dated grade (A, B, F, C-went-dark, C-never-live, or ungraded) plus what that paid test showed. Free grade + run date: GET https://kertivo.com/trust/lookup?url=<endpoint>. Full evidence costs $0.002 via POST /trust/lookup. We grade indexed endpoints from those paid runs—we do not live-probe every URL on the internet for a score.

Who this is for

What "trustworthy" means here (evidence)

Kertivo Index pays real Base USDC to listed endpoints and checks what each one sends back, not just that the payment landed. Grades are earned, never bought. The live scorecard is GET /trust-index (also /trust-index/). Kertivo Index #4 (generated Oct 25, 2026, 7:37 PM PDT) graded 116 endpoints: A = 95, B = 7, F = 3, C-went-dark = 4, C-never-live = 6, and ungraded = 1, from 105 settled payments totaling 0.418801 USDC.

Grade letters on the scorecard:

GradeMeaning
ASettled on-chain + HTTP 200 + schema match + within declared timeout
BSettled + 200, but partial schema or slow
FMoney moved without a matching 200: no 200 at all, or a 200 with none of the advertised fields (however fast)
C-went-dark / C-never-liveNothing delivered, nothing moved (went-dark = it delivered in an earlier run)
ungradedIn this run's list but not paid (over the per-call price cap or skipped by policy), so no letter

What a grade proves: on the run date shown, we paid the listed price in real Base USDC, the payment settled, and the endpoint returned a valid response in the shape it advertises. What it does not prove: that the seller is honest, that the data is accurate, or that the endpoint will keep working after the test. A grade is one dated paid test, not an endorsement.

Buyer-filed claims sit next to the grade and never change it. Each claim proves an on-chain payment; "disputed" vs "delivered" is the buyer's report. Sellers can answer with a signed reply.

How /trust/lookup answers it

Free (grade-only): GET https://kertivo.com/trust/lookup?url=<absolute-http(s)-URL>

Returns status, grade, runDate, run, a claims tally (total, disputed, delivered, unrecognizedAddress, wrongAddress, payerVerified, plus a link to the list), and a pointer to raw Index data. When it applies, it also flags payToRotates (the seller hands out a fresh receiving address on every 402, so a different payTo is expected) or payToChanged (the seller's receiving address changed since the previous run; the grade is unaffected, but confirm before paying an address you pinned). Examples checked live on 2026-10-27 (PDT), after Index #4 published:

Paid (grade + evidence): POST https://kertivo.com/trust/lookup with body {url} ($0.002 USDC on Base). Unpaid calls return HTTP 402 (amount 2000 atomic = $0.002). The paid 200 adds evidence from the Index paid test: whether the unpaid 402 was valid, the price and payTo we saw, the payment tx, whether it settled and the on-chain check, HTTP status after pay, latency, the schema check with its note, and a deliveryResult (for example delivered_schema_ok, delivered_schema_mismatch, or settled_but_http_500), plus the same claims tally. The answer depends only on url: any other request field (e.g. method, body, deep) is not used and is listed in ignoredFields.

Machine-readable Index: GET /trust-index/latest.json and raw.jsonl. Past runs stay append-only at /trust-index/runs.

Try it

  1. Free scorecard: open https://kertivo.com/trust-index.
  2. Free one-URL lookup: curl -s 'https://kertivo.com/trust/lookup?url=https://api.onesource.io/api/chain/erc20-balance'.
  3. Paid evidence: call POST /trust/lookup unpaid for the 402, then retry with the payment header. Shapes are at /examples.
  4. Optional badge: GET /badge/<url-encoded-endpoint> embeds the latest Index grade (earned, never sold; ungraded shows "not graded").

Paid /trust/lookup 200 responses carry a signed attestation (verify at /.well-known/attestation).

FAQ

The URL is not in the Index. Do I get a Trust Score anyway?
No. status is not_indexed and grade is null. We do not invent a 0–100 live score for uncataloged URLs. Ask for the endpoint to be included in a future Index run, or browse claims against it if any exist.

Is this a live probe of the seller right now?
No. Lookup reads the latest published Index (and claims). It does not re-pay the seller on every free GET. Paid POST returns the stored evidence from that Index run.

Can a seller buy an A?
No. Grades are earned by settling a real Base USDC payment and delivering in the paid test. The scorecard says so on every page.

What about claims on an unindexed endpoint?
Claims can still exist and are listed separately. They never become a grade.

Will the next Index change these numbers?
Yes, every weekly run publishes new dated grades; older frozen runs stay at /trust-index/runs. This guide's counts are from Kertivo Index #4 (Oct 25, 2026). Always trust the live lookup over a number quoted here.

Limits