credGates({
// Required
apiKey: process.env.CRED_API_KEY,
// Policy (pick one)
policy: 'standard', // Named template
// gates: ['human', 'verified'], // Or custom gates
// operator: 'AND',
// Dynamic pricing
pricing: {
enabled: true,
curve: 'step', // 'linear', 'exponential', 'step'
basePriceUsdc: 0.01,
},
// Failure handling
on402: 'challenge', // 'challenge' (402), 'deny' (403), 'pass' (allow)
onBlocked: 'deny', // 'deny' (403), 'challenge' (402), 'pass'
// Response headers
headers: true, // Set X-Cred-Trust-Score, X-Cred-Trust-Tier
// Custom wallet extraction
extractWallet: (c) => c.req.header('X-Agent-Wallet'),
// Callback for logging/analytics
onEvaluation: (result, c) => {
console.log(`${result.walletAddress}: ${result.trustTier} (${result.trustScore})`)
},
})