What this does
On Sui, a wallet’s standing can be expressed as a capability object it holds. Because the object cannot be transferred, simply holding it is proof the wallet earned its standing, nobody can buy, borrow, or pass it along. Your code requires the capability to run a gated action, and the check happens onchain. This is how TrustGate’s own gated pool works, and you build your own gate the same way.The pieces
A few onchain objects are involved.The capability
A non-transferable object held by wallets that meet the required standing. Holding it is the proof.
The score registry
Where reads live onchain, so standing can be referenced by contracts directly.
How gating works
1
Require the capability in your function
Write your gated action to take the capability. If the caller does not hold one, the call cannot succeed.
2
Holding it is the check
Because the object is non-transferable, you do not need to trust anything off-chain. Reaching the body of the function already means the caller earned a valid capability.
3
Standing is issued, not bought
A wallet receives the capability by meeting the required standing through its onchain behavior. The bar is set by the trust system, and the capability is the onchain expression of clearing it.
TrustedAgentCapElite and call assert_elite_valid instead. The guard sequence is the same: the non-transferable object ensures possession, and the assert rejects expired caps.
Onchain reference
<package> is the Package ID above. Full type strings for wallet queries:
Good to know
The gate is enforced onchain, so there is no off-chain trust step you have to wire up. It is non-transferable by design, which is the whole reason holding it means something. And it is on testnet today, so treat standing as a testnet signal. The required bar is set by the trust system and is not a public number, which keeps the gate honest without exposing how it is drawn.Next
Gated Pools product page
The concept, and why reputation makes a good door.
The Sui network page
What is Sui-specific, and the onchain reference.
