How do I get a free Kertivo verified badge for my endpoint?

Encode your endpoint URL and hit GET https://kertivo.com/badge/<url-encoded-endpoint> — the SVG is free, cached about an hour, and never sold. If that URL earned a letter in the latest published Kertivo Index run, the badge shows the grade and run date; otherwise it shows not graded (or last graded … in grey if an earlier run graded you but the latest did not). A letter appears only after a real Index paid test includes your endpoint — you cannot buy one.

Who this is for

What the badge is

From live OpenAPI / /llms.txt / the Get your badge section:

Live example (checked 2026-11-10)

Endpoint https://api.onesource.io/api/chain/erc20-balance:

How to embed it

Replace the example URL with your absolute endpoint, URL-encoded (encodeURIComponent in JS). Prefer kertivo.com hosts (same worker as the scorecard).

HTML

<a href="https://kertivo.com/badge/https%3A%2F%2Fapi.402rates.com%2Fv1%2Fping/evidence"><img src="https://kertivo.com/badge/https%3A%2F%2Fapi.402rates.com%2Fv1%2Fping" alt="Kertivo Index grade" height="20"></a>

Markdown

[![Kertivo Index grade](https://kertivo.com/badge/https%3A%2F%2Fapi.402rates.com%2Fv1%2Fping)](https://kertivo.com/badge/https%3A%2F%2Fapi.402rates.com%2Fv1%2Fping/evidence)

(These are the same copy-paste blocks the live scorecard's Get your badge section shows. The older paycheck.hectichustle.workers.dev host serves the same worker, but kertivo.com is the canonical site.)

The badge should link to /evidence so visitors see payment txs and frozen runs, not only a letter.

Path from "not graded" to a letter

  1. Embed anytime. You do not need permission to show the chip; unknown URLs honestly say not graded.
  2. Appear in a published Index run. Grades come only from Kertivo's capped weekly paid tests on Base USDC (see Guide #5). There is no checkout to purchase an A.
  3. Confirm: GET /trust/lookup?url=<your-endpoint> → status: indexed and a grade, or not_indexed / grade: null if you are not in the latest published selection.
  4. Between runs: Daily self-check — free GET or $0.002 POST /trust/lookup — reads grade/claims/payTo evidence only. It does not change grades.
  5. If a later run drops you: badge state becomes not_in_this_run (not tested in the latest run, which is not a fail) or ungraded_this_run (tested in the latest run without a grade), and the chip reads "last graded \<grade\> · \<date\>" in grey rather than inventing a current letter. Runs stay frozen at /trust-index/runs.

Discovery for Index selection comes from public x402 listings and unpaid probes under the weekly budget — not from paying Kertivo for placement. If your route is dark, mispriced above the per-call Index cap, or not yet selected, the honest badge stays ungraded until a published run includes you.

Try it

EP='https://api.onesource.io/api/chain/erc20-balance'
ID=$(python3 -c "import urllib.parse,os; print(urllib.parse.quote(os.environ['EP'], safe=''))" )
# or: node -e "console.log(encodeURIComponent(process.argv[1]))" "$EP"
curl -sS -D - -o /tmp/kbadge.svg "https://kertivo.com/badge/$ID" | rg -i 'x-kertivo'
curl -sS "https://kertivo.com/badge/$ID/evidence?format=json" | head -c 400

FAQ

How much does the badge cost?
$0 to fetch and embed. Index tests spend Kertivo's own capped USDC; sellers are not charged for a badge file.

Can I pay to guarantee an A?
No. Grades are earned, never bought; badges are never sold.

Why does my badge say not graded when I accept x402?
Either no published run has tested that exact URL yet, or the latest run did not include it. Check /trust/lookup and /badge/.../evidence.

Does the badge prove my API is safe forever?
No. It reflects the latest published Index letter (or last-graded state). See grade limits in Guide #5.

Will claims change my badge?
No. Buyer claims list beside grades and never rewrite them.

Limits