Owners · not a public directory
Verify ownership.
See your snapshot. Optional badge.
x402check runs an internal periodic scanner. Results are
not a public dataset, directory, or free substitute for paid checks.
If you operate an x402 endpoint, you can prove ownership and view
only your stored snapshot. Agents that need a live trust check still pay
$0.01 via GET /preflight.
How owner verification works
- Start a challenge for your endpoint URL.
- Primary: sign the challenge with the endpoint’s
payTowallet (EIP-191 personal_sign; ERC-1271 smart wallets supported). - Fallback: publish a short-lived token as a DNS TXT
x402check-verify=…or at/.well-known/x402check-verify.txton your domain. - Your session can read snapshots for endpoints you verified — nothing else.
What you see after verifying
- Your endpoint’s latest periodic snapshot grade (pass / warn / fail) and timestamp.
- Clear labeling that a snapshot is not a live paid preflight.
- Upsells: $5 / 30-day watch, and paid
/preflightfor live verification. - Optional Verified by x402check badge (opt-in, revocable, unguessable id).
We do not publish ecosystem tallies, per-endpoint public pages, or a public JSON export of scan results.
Badge rules
Badges are issued only to verified owners who opt in. The image URL uses a random id (not your endpoint URL). It shows a simple pass mark and last-verified date when your latest snapshot is pass. Unknown, revoked, or non-pass badges return nothing useful.
API sketch
POST /owner/challenge {"url":"https://yours.example/x402"}
POST /owner/verify {"challengeId":"…","signature":"0x…"}
POST /owner/verify-dns {"challengeId":"…","method":"dns"|"wellknown"}
GET /owner/dashboard Authorization: Bearer <session>
POST /owner/badge {"url":"…"} // opt in
DELETE /owner/badge {"url":"…"} // revoke
GET /badge/<id>.svg // public image if active + pass
Agents: skip this page — use paid preflight, llms.txt, or OpenAPI. One free regular check per wallet is documented there (not a scan substitute).