Skip to main content

When to use this

Use the oracle when you need an authoritative wallet read, or the same ERC-20 score Token Shield uses, and you are willing to settle a micropayment. The widget and batch paths are free and thinner. This is the paid, hardened path. Do not send contract addresses to the wallet oracle. It returns CONTRACT_NOT_WALLET and tells you to use Token Shield.

Endpoints

Integrator-facing proxy (recommended):
Open CORS. Forwarded payment headers: X-Payment, X-Payment-Required, X-Payment-Tx. There is also an upstream host configured as ORACLE_URL / NEXT_PUBLIC_ORACLE_URL. Browser clients should not call it. The proxy exists so they never hold those credentials.

Payment: x402

Paid endpoints use the x402 payment standard.
1

Challenge

Send the GET with no payment header.
Body names the recipient, amount (0.001), currency (USDC), network (arc-testnet), and memo.
2

Settle

Transfer 0.001 USDC (6 decimals) on Arc Testnet to the stated recipient. USDC token: 0x3600000000000000000000000000000000000000.
3

Replay

Repeat the same GET with:
Successful payment replays return 200 with the score body. Rejected proofs return 422.

Wallet response (200)

The proxy re-scores a successful upstream body, strips any raw breakdown, and adds TrustGate fields:
recommendation is how TrustGate’s own payment rails would route this score. It is not an instruction to your protocol. tier is one of BLOCKED | LOW | MEDIUM | HIGH | HIGH_ELITE. publicExplain.tone is positive | neutral | caution | danger. NFT/contract branches on /api/oracle/token/{address} return confidence as HIGH|MEDIUM|LOW (string), not a number.

TypeScript sketch

Token oracle

GET /api/oracle/token/{address} is the Token Shield path. Official issuers short-circuit to VERIFIED. NFTs and non-token contracts are scored locally (free). ERC-20s go upstream and require x402 the same way. For a compact, free ERC-20 badge payload use /api/widget/score/{address} instead. TrustGate pays that hop.

Errors

Wallet Trust Score

What the read means.

API reference

Every oracle-adjacent path.