A Sui surface, not a copy of Arc
Sui is a separate app and a separate contract package. It is not the Arc HTTP API with different addresses.- Live app: sui.trustgated.xyz
- Repo: TrustInfra/TrustGate-Sui
- Last published source: 2026-06-17
ScoreRegistry. Access is a non-transferable capability object. There is no x402, no AgentRegistry, and no Knowledge Graph.
TokenShield on Sui scores mainnet coin types. Wallet scores, caps, and the gated pool are Sui testnet. Do not mix those environments in one sentence to a user.
What is the same
Tiers still read as BLOCKED through ELITE / HIGH_ELITE, with VERIFIED for official assets such as0x2::sui::SUI. Flags are still plain-language warnings. Surfaces stay non-invasive. You consume a signal; you keep the interface.
What is specific to Sui
Non-transferable capability
Standing is a
TrustedAgentCap or TrustedAgentCapElite object. No store, so it cannot be transferred. Validity is 30 epochs. Standard mint threshold 70, elite 85.Scores as onchain objects
The oracle writes a shared
ScoreRegistry. Other Move packages read get_score / get_tier / is_trusted with devInspect, no gas.Demo gated pool
deepbook_gated_pool records orders if you hold a valid cap. It is a self-contained demo table, not a fork of DeepBook and not wired into the native order book.Coin-type widget
https://sui.trustgated.xyz/widget.js plus data-trustgate-coin="0x2::sui::SUI". This is not the Arc widget.js.Onchain reference (Sui testnet)
LOW=0, MEDIUM=1, HIGH=2, HIGH_ELITE=3. Confidence is LOW=0, MEDIUM=1, HIGH=2. Score is 0..=100.
OracleCap and MintAuthority object IDs are owned by the publisher after init. They are not in the public frontend constants.
HTTP surface
Open CORS on the coin route. Wallet scoring forwards to
SUI_WALLET_ORACLE_URL (not in this docs repo). The oracle is expected to write ScoreRegistry and optionally mint a cap.
Go
Open the Sui app
Read a coin type or a wallet live.
Gate by capability
Require the capability object in your own Move package.
