Advanced Usage

Programmatic Verification

Trigger verification without opening the modal UI:

import { useUntracedModal } from '@untraced/sdk';

function MyComponent() {
  const { verify, status, verificationResult } = useUntracedModal();

  const handleVerify = async () => {
    try {
      const result = await verify('zk-age', {
        minAge: 21
      });

      console.log('Verification ID:', result.verificationId);
      console.log('User Address:', result.userAddress);
      console.log('TX Hash:', result.transactionHash);
      console.log('Attestation:', result.attestation);
    } catch (error) {
      console.error('Verification failed:', error);
    }
  };

  return (
    <div>
      <button
        onClick={handleVerify}
        disabled={status === 'verifying'}
      >
        {status === 'verifying' ? 'Verifying...' : 'Verify Age 21+'}
      </button>

      {verificationResult && (
        <div>
          Success! TX: {verificationResult.transactionHash}
        </div>
      )}
    </div>
  );
}

Note: OAuth modules (GitHub, Twitter) will still open popups even when using programmatic verification.

Custom Module Configuration

Dynamically configure modules based on user input:

State Management

Access and manage verification state:

Error Handling

Implement custom error handling:

Last updated