> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trustgated.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Sui

> TrustGate on Sui. The same scoring core, delivered through Sui objects and an onchain capability gate.

## The same brain, a Sui surface

TrustGate runs the same scoring engine here as everywhere. The tiers, flags, signals, and confidence all mean exactly what they mean on Arc. What changes is the delivery and the gate, and on Sui those lean into Sui's object model in a way EVM cannot.

On Sui, scores and capabilities are objects. That makes some of TrustGate's trust primitives live directly onchain rather than only being read off it.

The live Sui surface is [sui.trustgated.xyz](https://sui.trustgated.xyz).

## What is the same

The [scoring core](/scoring/overview) is unchanged. Both lanes work, wallet and token. Tiers run BLOCKED through ELITE with VERIFIED for confirmed issuers. Flags are the same patterns. Confidence and states behave the same way. Every surface stays non-invasive.

## What is specific to Sui

<CardGroup cols={2}>
  <Card title="A non-transferable capability gate" icon="key">
    The headline difference. Standing is expressed as a capability object a wallet holds. It cannot be transferred, so nobody buys their way past the gate, and the check is enforced onchain.
  </Card>

  <Card title="Scores as onchain objects" icon="cube">
    Reads are written to an onchain registry rather than living only off-chain, so a score is something other Sui contracts can reference directly.
  </Card>

  <Card title="A gate around the native order book" icon="book">
    The gated pool wraps Sui's native order book, so the trust requirement sits in front of real trading, not a stand-in.
  </Card>

  <Card title="Coin-type reads" icon="coins">
    TokenShield reads Sui coin types, and the wallet Trust Score reads Sui addresses, through the same scoring brain.
  </Card>
</CardGroup>

## Onchain reference

The Sui package and its objects are public by design, since you need them to integrate. Drop the canonical testnet values in here.

```text theme={null}
Network          Sui testnet
Package ID       0x3f06bb8ed79aecdaeecb97feafba276689fcc0fda706953a83718e5a68d4a41a
ScoreRegistry    0x02d2ee0f4d0f8aabd79ed10ee02ddb98ce31823fa84757245509b960ddd99c22
Gated pool       0x5dca7b3bda58a5ac3596bf1dd67b88af2aa89226ac4f82d9eb01675d3fae92eb
```

The capability object, how to require it, and a worked example all live in the [Sui integration guide](/integrate/sui-cap).

<Note>
  Sui support is on testnet. Reads reflect testnet behavior, so weigh them as a signal rather than a settled mainnet judgment.
</Note>

## Go

<CardGroup cols={2}>
  <Card title="Open the Sui app" icon="arrow-up-right-from-square" href="https://sui.trustgated.xyz">
    Read a coin type or a wallet live.
  </Card>

  <Card title="Gate by capability" icon="lock" href="/integrate/sui-cap">
    Require the capability object in your own Sui flow.
  </Card>
</CardGroup>
