SCIENTER

Embeddable badge

Put the verdict where people already are.

One line. It renders inline as an SVG, carries no script, sets no cookie, and refreshes every 5 minutes. Anyone who clicks it lands on the full breakdown, where every weight and every threshold is written out.

Live example of the Scienter reputation badgeDemo data

Snippets

Swap the address for your own. Everything after /badge/ is a 0x-prefixed address; the .svg is optional but worth keeping, because some hosts will not treat an extensionless URL as an image.

HTML<img src="https://scienter.xyz/badge/0x1966374a32a29d76b0acbb9bfa68a95f86f4208b.svg" alt="Scienter score" />
Markdown[![Scienter score](https://scienter.xyz/badge/0x1966374a32a29d76b0acbb9bfa68a95f86f4208b.svg)](https://scienter.xyz/wallets/0x1966374a32a29d76b0acbb9bfa68a95f86f4208b/why)
URLhttps://scienter.xyz/badge/0x1966374a32a29d76b0acbb9bfa68a95f86f4208b.svg
X / Farcasterhttps://scienter.xyz/wallets/0x1966374a32a29d76b0acbb9bfa68a95f86f4208b/why

X and Farcaster bios do not render images, so the last row is a link to the breakdown rather than to the badge — which is the better link anyway. Use the image form in a README, a Discord embed, a Notion page, a docs site, or anywhere else that accepts HTML or Markdown.

What it will and will not say

It shows a score when

  • the deployment is reading a live engine, and
  • the address has enough closed observations to be judged, and
  • the judgment survived the input gates.

Otherwise it says so

  • not judged — no published judgment. Not a clean bill of health; nobody has looked.
  • demo data — this deployment is serving the seeded world. No digits are rendered at all.
  • bad address — the URL is not a 0x-prefixed 20-byte address.

The refusals are the point. A badge travels without its context and carries our name as an endorsement, so it will not render a seeded number and it will not render a zero for an address nobody has judged. That costs reach, deliberately: a badge that lies is a liability sitting on somebody else’s profile.

Caching and rate limits

Every response carries max-age=300, s-maxage=300, stale-while-revalidate=600 and a weak ETag over the rendered bytes, so a repeat view usually costs a 304. There is no per-caller rate limit: the badge is meant to be hotlinked, and rate-limiting the thing whose whole purpose is to be embedded on other people’s pages would be self-defeating.

A score can change between refreshes. It is a judgment about a track record, and a track record moves.

Browse judged wallets·See a full breakdown