What you will end up with
A live trust badge sitting wherever you place it. No backend on your side, no wallet popup for your users, no API key. This is the fastest way to ship TrustGate. There are two scripts.
They are additive. They do not share state.
Single-token widget
1
Load the script once
Add this anywhere on the page. One include covers every badge on it.Always use the
www host. The apex trustgated.xyz 307-redirects, and browsers drop Access-Control-Allow-Origin on that hop.2
Mark what to score
Two modes. Choose based on how the address arrives.
3
Pick a style
data-trustgate-style applies to inline mode.What the single-token widget scores
Only ERC-20s. Everything else isNTT and the badge is omitted.
A MutationObserver picks up fields added later, so SPAs are fine.
React / Next.js
Rate limits and payment
- Auth: none. Open CORS (
GET,OPTIONS). - Default 8 requests per minute per client IP.
429withRetry-After. - The embedder does not pay. TrustGate’s server wallet settles the 0.001 USDC upstream query for ERC-20s. Cached addresses (1 hour) do not re-spend.
- A global payment budget protects the hot wallet. If it is exhausted you get
429/scoring_unavailablerather than a hanging badge.
Discovery widget
POST /api/batch once, and fills a compact mark (58 MID).
Optional attributes on the <script> tag:
On each result row, the address may be
data-address, data-token, or data-token-address.
Search-results intercept:
- Arc (EVM)
- Sui
Both widgets are live on Arc Testnet addresses (
0x + 40 hex).Good to know
The scripts load asynchronously and will not block your page. They need no wallet connection. They are framework-agnostic. During testnet they are free to embed.The badge is non-invasive by design. It reports a signal in the spot you choose and never touches your wallet flow or the rest of your interface.
Next
Want raw data instead?
Skip the badge and consume tiers and flags.
API reference
Widget and batch status codes.
