Customization

The embed widget is intentionally low-surface-area. The layout, colors, and interactions are fixed. The page owner controls a small set of content fields and the verification policy; nothing is customizable via the iframe URL or runtime JavaScript.

If you need more control than this page offers, use the JSON API directly and build your own UI.

What the owner can configure

All of these live in the tracking page's Settings pane in the Wallet Sleuth dashboard.

Content the widget renders

FieldWhere it's setWhat the widget shows
tokenNameSettings → TokenLarge header text next to the symbol.
tokenSymbolSettings → TokenMuted, prefixed with $ (e.g. $JOBC).
publicTitleSettings → Public settingsSecondary header line, below token name. Nullable — hidden if empty.
publicCommentsSettings → Public settingsTertiary line for a short blurb. Nullable — hidden if empty.

All four are returned by GET /tracking/{id} if you want to drive a custom UI from the same data.

Wallet-level content

FieldWhere it's setWhat the widget shows
publicAliasPer-wallet → Public settingsOverrides the wallet's displayed name in the table. Nullable.
hideFromPublicPer-wallet → Public settingsIf true, the wallet is excluded from the embed payload entirely.
Tags (name + color)Settings → Tags + Per-wallet → TagsColored pill badges on the wallet row.

Verification policy

How visitor submissions are handled:

  • Approval modestrict, trust_ladder, or auto.
  • CA holding gate — require submitters to hold a minimum balance of the page's token (or a custom mint).
  • Trust-ladder threshold — how many approvals a pubkey needs before auto-approving future submissions.
  • Pending queue cap — the maximum number of pending submissions before new ones are rejected with queue_full.

All of this is covered in Concepts → Verification policy.

Enable / disable

FlagWhere it's setEffect
isPublicEnabledSettings → VisibilityMust be on, or embed returns 403 embed_disabled.
embedEnabledSettings → Embed APIMust be on, or embed returns 403 embed_disabled.

API keys

Create, list, and revoke public and secret keys. Public-key settings include label, allowed origins, and the "allow null origin" flag. Keys are shown once at creation and never retrievable thereafter.

What the owner cannot configure

By design, the embed widget has no knobs for:

Not configurableNotes
Iframe dimensionsSet by the parent page via width/height on the iframe tag.
Colors, fonts, themesThe widget uses a dark theme with purple accents; there is no light mode and no custom palette.
Language / localizationEnglish only.
Column order or visibility in the wallet tableFixed: Wallet, Tags, Balance.
Sort order in the wallet tablePreserves the order from the tracking page payload.
Whether the submission form is shownAlways shown. Use CA gate or strict approval mode if you want to heavily gate submissions.
Branding removalThe "Powered by Wallet Sleuth" footer is not removable.

Want more control?

Call the API directly. GET /tracking/{id} returns the same payload the iframe uses, and you can implement your own wallet table, submission form, and signing flow using the four public endpoints.

If you go that route:

  • You still need an origin-allowlisted public key — same key type as the iframe uses.
  • You're responsible for implementing the SIWS flow yourself. SIWS signing documents the protocol end-to-end.
  • The session cookie (embed_session, SameSite=None; Secure; Path=/embed) is set by the iframe; custom UIs that never load the iframe won't have it, which means GET /session/submissions will always return an empty list and nonces aren't rate-limited per session. All other rate limits (per-key, per-IP, per-wallet cooldown) still apply.

Related