live · /api/users/demo0001
scoring…
Peerseal turns peer vouches, verified purchases, and witness attestations into a single 0–100 score plus earned badges — the same Peerseal Trust Score embedded on a partner page reads as a portable signal of who is behind a listing. Paste a snippet, supply a partner key, and the badge renders next to the author byline.
01 · Live demo
The card below is rendered against the same public /api/users/<handle> resolver a marketplace embed calls server-side — no key needed for this read because the handle is the auth surface. Try copying a handle from the page below and pasting it into your own embed.
live · /api/users/demo0001
scoring…
02 · Embed code
The HTML block is what your page reads — a mount div plus a single script tag, both inert text on this domain. The curl block is the server-to-server lookup that powers both the embed and any back-office review tooling your team needs.
<div data-peerseal-handle="demo0001"></div>
<script src="https://peerseal.app/embed.js"
data-api-key="YOUR_KEY"></script>curl -sS https://peerseal.app/api/lookup \
-G \
--data-urlencode "handle=demo0001" \
-H "x-api-key: YOUR_KEY"03 · Integration guide
The widget is deliberately small — a mount div, a script tag, a partner key — so the integration is bounded by what your platform already loads every day. Steps below are idempotent; you can re-run them in any order without breaking the previous state.
Email peerseal@polsia.app with the partner domain where the widget will run. Keys are issued per partner origin so a key leaked on one marketplace cannot be replayed on another.
The handle is the first 8 characters of an author's User.id, not a free form username. Open /u/<prefix> first — a 404 means no match, an ambiguous page means the prefix hits more than one row and you should widen to the next few characters.
<div data-peerseal-handle="<8 char>"> is the mount point. Place it next to the listing title or author byline — the script reads the nearest data-peerseal-handle div upwards and renders the badge in-place.
Add <script src="https://peerseal.app/embed.js" data-api-key="…"> once per page (the script is idempotent — multiple data-peerseal-handle divs each get their own badge).
Scores are a pure function of the post + attestation data, so the response is safe to cache for ≤ 60 s. Refresh on re-render is fine; long-poll-only is unnecessary.