What it is
Behavioral access gating is how a DAO, lending market, launchpad, or agent permission layer uses TrustGate as an access-control signal without handing TrustGate the keys. TrustGate provides a hard-to-fake behavioral score and, optionally, a verifiable attestation of that score. Your protocol defines what each score band is allowed to do. TrustGate does not set borrow limits, assert token price, or act as a credit bureau. Live pilot UI: trustgated.xyz/gatingLiability fence, repeated on every response: TrustGate said the wallet scored N at time T under scoringVersion V. The protocol chose what N allows. Scores behaviour, not value or safety.
What it is not
Do not call this an onchain credit score, a safe-to-lend check, or TrustGate authorization. Theallowed bit on POST /api/gating/check is your ladder’s evaluation (allowedByCallerLadder, policySource: "caller_ladder"). Trust the attested score and signature. Do not treat allowed as TrustGate saying yes.
Do not sole-gate on score >= X. Combine with collateral, protocol history, staking, and domain signals. High-value paths must fail closed.
The three APIs
Gating is free for protocols on testnet.
Attestation shape
Every attestation is time-bound and signed. Domain:TrustGateAttestation / version 1.
Default TTL by
useClass:
Clients cannot request a near-permanent attestation. Minimum TTL is 60 seconds.
Protocol-owned ladder
You send bands. TrustGate never authors a production ladder.ladderPreset: "example_lending" and "example_governance" exist for demos on testnet only. They are forbidden on mainnet. Mainnet also requires protocolId and multi-factor acknowledgement.
On-chain verify
DeployTrustAttestationVerifier.sol yourself — it is not a shared singleton on Arc Testnet. Authorize your TrustGate issuer. Call verify before releasing funds. It checks signature, expiry, subject, chain, and issuer registry. It does not evaluate your ladder.
Integration guide: Gate with attestations.
Status
Phase A is implemented: attestations, ladder check, off-chain verify, and the on-chain verifier contract. Treat it as a pilot surface. SetATTESTATION_SIGNER_PRIVATE_KEY before any production gate. A demo signer is rejected when SCORING_ENVIRONMENT=mainnet.