Initiates identity verification process for a wallet address using Self.xyz ZK identity verification.
function verifyIdentity( options: Options ): Promise<Response>;
import { TrustEngineSDK } from '@trust-engine/sdk'; import { useState } from 'react'; const sdk = new TrustEngineSDK(); export default function IdentityVerifier() { const [walletAddress, setWalletAddress] = useState(''); const [isVerifying, setIsVerifying] = useState(false); const [result, setResult] = useState<any | null>(null); const handleVerify = async () => { if (!walletAddress) return; setIsVerifying(true); try { const verificationResult = await sdk.verifyIdentity({ walletAddress: walletAddress, disclosures: { name: true, nationality: true, date_of_birth: true, issuing_state: false, passport_number: false, gender: false, expiry_date: false } }); setResult(verificationResult); } catch (error) { console.error('❌ Identity verification failed:', error.message); } finally { setIsVerifying(false); } }; return ( <div> <input type="text" placeholder="Enter wallet address" value={walletAddress} onChange={(e) => setWalletAddress(e.target.value)} /> <button onClick={handleVerify} disabled={!walletAddress || isVerifying}> {isVerifying ? 'Starting Verification...' : 'Verify Identity'} </button> {result && ( <div> <pre>{JSON.stringify(result, null, 2)}</pre> {result.details?.qrCodeUrl && ( <p> <a href={result.details.qrCodeUrl} target="_blank" rel="noopener noreferrer"> Open Verification QR Code </a> </p> )} </div> )} </div> ); }
{ message: "Identity verification session created successfully", details: { qrCodeUrl: "https://trustengine.org/identity-verification?walletAddress=...", walletAddress: "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU", selectedDisclosures: { name: true, nationality: true, date_of_birth: true }, status: "pending", createdAt: "2024-01-15T10:30:00.000Z", expiresAt: "2024-01-16T10:30:00.000Z", instructions: "Visit the QR code URL and scan with Self app to verify your identity" } }
{ message: "You already have a pending identity verification session", details: { qrCodeUrl: "https://trustengine.org/identity-verification?walletAddress=...", walletAddress: "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU", requestedDisclosures: { name: true, nationality: true, date_of_birth: true, issuing_state: false, passport_number: false, gender: false, expiry_date: false }, status: "pending", createdAt: "2024-01-15T09:30:00.000Z", expiresAt: "2024-01-16T09:30:00.000Z", instructions: "Complete your existing verification or wait for it to expire before starting a new one" } }
linkWallet
createWallet
qrCodeUrl
checkIdentityStatus