Skip to main content
This page describes the three primary user journeys through Proof:

New User (Direct)

Users who visit Proof directly to verify their identity and link wallets.

Flow

  1. User visits Proof directly
    • User navigates to the Proof application
    • Landing page explains the verification process
  2. Authenticates with email
    • User enters their email address
    • Proof sends a one-time code
    • User enters the code to authenticate
  3. Completes identity verification
    • User uploads a government-issued ID
    • User completes a liveness check (selfie matching)
    • Verification processes (may take time)
    • User sees status: pending, verified, or failed
  4. Links one or more wallets
    • User connects a Solana wallet
    • User signs a message to prove ownership
    • Proof verifies the signature and links the wallet
    • User can optionally add a label
  5. Manages linked wallets over time
    • User can view all linked wallets
    • User can add new wallets
    • User can update wallet labels
    • User can remove wallets

Sequence Diagram

New User (From Partner App)

Users redirected to Proof from a partner application that requires verification.

Flow

  1. User initiates action in partner app
    • User attempts an action requiring verification
    • Partner app detects user is not verified
  2. Partner app redirects to Proof
    • Partner app generates a deep link with:
      • Wallet address to link
      • Pre-signed ownership proof (signature)
      • Return URL for post-verification redirect
    • User is redirected to Proof
  3. User authenticates
    • User enters their email address
    • Proof sends a one-time code
    • User enters the code to authenticate
  4. User completes identity verification
    • User uploads a government-issued ID
    • User completes a liveness check
    • Verification processes
  5. Wallet is automatically linked
    • Proof verifies the pre-signed ownership proof
    • Wallet is linked without additional user action
  6. User is redirected back to partner app
    • Proof redirects to the provided return URL
    • Partner app can now query verification status

Sequence Diagram

Returning User

Users who have already completed verification and return to Proof.

Flow

  1. User visits Proof or is redirected from partner app
    • User navigates directly to Proof, or
    • Partner app redirects user to Proof
  2. Authenticates with email
    • User enters their email address
    • Proof sends a one-time code
    • User enters the code to authenticate
  3. Skips verification (already complete)
    • Proof recognizes the user is already verified
    • No additional verification required
  4. Manages wallets or is redirected back
    • If direct visit: User can manage wallets
    • If from partner: User is redirected back with existing wallet linked, or can link a new wallet

Sequence Diagram

Verification States

Throughout these journeys, users may encounter different verification states:
StateDescriptionNext Action
unverifiedUser has not started verificationBegin verification
pendingVerification is processingWait for completion
verifiedVerification successfulLink wallets or use services
failedVerification unsuccessfulContact support or retry