Network
0x3600000000000000000000000000000000000000. Native gas is a different USDC (18 decimals). Do not mix them.
Addresses
Sources live in the TrustGate repo under
contracts/. ABIs are exported from frontend/src/lib/abi/.
TrustAttestationVerifier.sol is implemented. Deploy it per protocol (constructor: initial issuer). It is not a shared singleton on the table above.
Read a tier from another contract
0 = LOW, 1 = MEDIUM, 2 = HIGH. HIGH_ELITE shares 2. Uncached or expired plaintext reads revert (TierUncached / ScoreExpired) — fail closed.
These three bands are the payment-routing map. They are not a recommended lending policy. For access control prefer a protocol-owned ladder plus attestations.
Register an agent
An address can only register itself.CallerMustBeAgent. The caller is recorded as the agent owner.
Lifecycle after that:
There is no
transferOwnership on an agent, and the agent owner cannot suspend themselves or anyone else.
Claim USDC
- Depositor
deposit(amount)— USDC pulled into TrustGate. - Depositor
setAllowance(agent, cap). - Agent
claim(depositor, amount). - Routing:
- HIGH → transfer now
- MEDIUM → pending, 24h, then
releaseClaim() - LOW → pending escrow, depositor
approveClaim()(orcancelClaim())
setTrustScore and reverts unless the connected wallet is an authorized oracle. Partners read scores; they do not write them.
Dashboard: trustgated.xyz/dashboard. Product writeup: Agent payments.
Verify an attestation onchain
See Gate with attestations for the EIP-712 types. Afterverify(...) succeeds, apply your ladder in your own module. The verifier never sets a borrow limit.