Integrate
Add IAM verification to your app in 5 lines of code.
Install
npm install @iam-protocol/pulse-sdkWalletless verification
Users verify without a wallet. The Pulse SDK generates a proof and submits it via the IAM relayer. Your API key identifies your escrow account.
import { PulseSDK } from '@iam-protocol/pulse-sdk';const pulse = new PulseSDK({ cluster: 'devnet', relayerUrl: 'https://relayer.iam-protocol.org',});// User completes Pulse challenge on your siteconst result = await pulse.verify();if (result.success) { // result.commitment — the on-chain TBH hash grantAccess(result.commitment);}Wallet-connected verification
For DeFi and DAO users who want self-custody. The user signs the verification transaction with their own wallet.
import { PulseSDK } from '@iam-protocol/pulse-sdk';import { useWallet, useConnection } from '@solana/wallet-adapter-react';const pulse = new PulseSDK({ cluster: 'devnet' });const { wallet } = useWallet();const { connection } = useConnection();// User completes challenge, signs tx with walletconst result = await pulse.verify( touchElement, wallet.adapter, connection);if (result.success) { // result.txSignature — Solana transaction signature grantAccess(result.commitment);}| Option | Type | Description |
|---|---|---|
| cluster | "devnet" | "mainnet-beta" | Solana cluster to connect to |
| rpcEndpoint | string | Custom RPC URL (optional) |
| relayerUrl | string | IAM relayer endpoint for walletless mode |
| relayerApiKey | string | API key identifying your integrator escrow account |
| wasmUrl | string | Path to iam_hamming.wasm circuit artifact |
| zkeyUrl | string | Path to iam_hamming_final.zkey proving key |
| threshold | number | Hamming distance threshold (default: 96) |
Integrator-pays model
Users never pay. Deposit SOL or USDC into your integrator escrow account. Each verification costs ~$0.01 — the relayer submits the on-chain transaction and deducts from your balance. First 1,000 verifications are free.
Your escrow, your rules.
Walletless mode follows the same model as reCAPTCHA Enterprise and hCaptcha: the integrator pays per verification, not the user. You control cost exposure and trust requirements through four mechanisms.
Rate limiting
Cap verifications per IP, per session, or per time window. The relayer enforces limits before a transaction reaches the chain.
Trust Score thresholds
Require a minimum Trust Score to access protected features. New identities start at zero. High-value actions (airdrops, governance) can require weeks of consistent verification history.
Escrow budgets
Set a deposit limit. When it runs out, verifications pause automatically. No surprise bills. Top up when ready.
Graduated trust tiers
First walletless verification is a liveness check. Returning verifications build device-bound consistency. Wallet-connected mode builds portable, on-chain Trust Score. Match the tier to the sensitivity of the action.