
Every off-chain proof has an on-chain commitment. Contracts can trust TrustLayer without calling any centralised service.
trustScoreOf(address wallet) → uint256hasBadge(address wallet, bytes32 badgeId) → boolvouchedBy(address vouchee, address voucher) → boolmerkleRoot(uint256 epoch) → bytes32For gas-sensitive integrations, use the epoch Merkle root plus an off-chain proof. TrustProofVerifier.verify(proof, leaf, root) returns true if the wallet was included in that epoch snapshot.