Skip to content

Wallet Verification

Understand self-hosted wallet verification and choose the right flow

Wallet verification helps you confirm that a customer controls a self-hosted wallet before you rely on that wallet in your compliance process. It gives your team evidence that the wallet address belongs to the person or business you are serving.

Use wallet verification when a customer sends funds from a self-hosted wallet, withdraws to a self-hosted wallet, or links a wallet that your compliance team needs to trust.

What Wallet Verification Confirms

Wallet verification answers three practical questions:

  • Which wallet? The customer provided a specific blockchain address.
  • Who controls it? The customer completed a verification challenge connected to that address.
  • What evidence exists? CryptoSwift stores the verification result, status, timestamps, and proof metadata for audit and operational follow-up.

Wallet verification does not replace customer due diligence, sanctions screening, transaction monitoring, or Travel Rule messaging. It complements those workflows by giving you wallet-ownership evidence.

Verification Flows

CryptoSwift supports multiple flows so you can choose the right balance of assurance, customer effort, and blockchain support.

Signature Proof

The customer signs an off-chain message with the wallet. This is usually the strongest and fastest user experience when the wallet and chain support signing.

Use it when:

  • You want cryptographic proof of wallet control.
  • The customer can connect or use a wallet that supports message signing.
  • You want a mostly automated verification result.

Satoshi Test

The customer sends a small specified amount from the self-hosted wallet to a deposit address. CryptoSwift monitors the blockchain and verifies the transaction.

Use it when:

  • Message signing is unavailable or not practical.
  • You need on-chain movement as proof of control.
  • The selected blockchain is supported for transaction monitoring.

Visual Proof

The customer uploads screenshots or media that show wallet ownership. Your team reviews the evidence manually.

Use it when:

  • Automated verification is not available for the wallet or chain.
  • Your compliance process accepts manual review.
  • You need a fallback path for users who cannot sign or send a micro-transaction.

Self-Declaration

The customer declares that they own or control the wallet.

Use it when:

  • Your policy allows lower-friction ownership confirmation.
  • You need a fallback for low-risk or manual-review cases.
  • You want a clear user acknowledgement in the verification record.

Reusable Verification

Reusable wallet verification can reduce repeated user challenges. When you include reusable verification data, CryptoSwift checks whether a previous eligible verified wallet verification can be reused for the same wallet address and blockchain. Reuse matching is cross-tenant.

CryptoSwift does not need the customer's plain-text name for reusable matching. You send a SHA-256 hash of the owner's full name after NFKC normalization, trimming, lowercasing, and collapsing repeated whitespace to one space. CryptoSwift stores matching data in a way that avoids storing raw owner-name PII for the reuse feature.

Learn more in Reusable Wallet Verification.

Choosing an Integration

Choose the integration path based on how much UI you want to build.

IntegrationBest forWhat you build
Wallet Verification WidgetFast launch, hosted or embedded verification UICreate a verification and send the user to the widget
Wallet Verification APICustom web or mobile UICreate the verification, collect proof, submit proof, and handle statuses

Most teams start with the widget because it handles the customer-facing flow. Use the API when you need a fully custom experience or native mobile integration.

Typical Workflow

  1. Create a wallet verification request with the wallet address, asset, blockchain, and allowed flows.
  2. Ask the customer to complete a verification challenge through the widget or your own UI.
  3. Receive a webhook notification or check the verification status by API.
  4. Store the verification ID with your customer, wallet, transaction, or case record.
  5. Use the result in your compliance workflow.

Next Steps