Skip to main content
LayerVerifierWhen
Walletownership-basicBaseline uniqueness
Socialownership-socialLinked account
Humanproof-of-humanAnti-bot

gateCheck examples

const basic = await client.gateCheck({
  address: walletAddress,
  verifierIds: ['ownership-basic'],
  since: Date.now() - 24 * 60 * 60 * 1000,
});

const layered = await client.gateCheck({
  address: walletAddress,
  verifierIds: ['ownership-basic', 'proof-of-human'],
  since: Date.now() - 60 * 60 * 1000,
});

Hosted social

<VerifyGate
  requiredVerifiers={['ownership-social']}
  onVerified={(result) => {
    // persist proof id for replay protection
  }}
>
  <button>Verify to continue</button>
</VerifyGate>
Use since on point-in-time checks. Store proof ids where replay matters.