> ## Documentation Index
> Fetch the complete documentation index at: https://developer.uphold.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet Ownership Proof Types

> Understand the cryptographic and declarative proof types used for address verification and Travel Rule compliance.

When verifying an external crypto address—either during a standalone address verification flow or when resolving a Travel Rule Request for Information (RFI) — the platform collects proof from the user to demonstrate ownership or control of the wallet.

The applicable proof types depend on the action being performed (onboarding whitelisting vs. an active transaction) and the destination wallet type. This guide explains the three available proof types.

## Proof types

### Message signing

**Type Slug:** `message-signing`

Message signing uses digital signatures to establish absolute ownership and cryptographic control of a self-custody address. The user signs a specific, randomized text string using their wallet's private key without broadcasting a transaction to the blockchain.

* **How it works:** The user signs an off-chain plaintext message string directly inside their wallet interface.
* **Processing Time:** Instant (\< 1 minute).
* **Best For:** Self-custodial wallets on EVM networks (Ethereum, Base, Arbitrum), Solana, and modern hardware wallets.

**When used:**

* Wallet whitelisting flows.
* High-value withdrawals and deposits requiring the highest level of cryptographic certainty.

***

### Satoshi test

**Type Slug:** `satoshi-test`

A Satoshi test verifies ownership of a destination address through an on-chain micro-transfer. The user demonstrates control over the wallet by sending an exact, randomized micro-amount of cryptocurrency to a designated platform verification address.

* **How it works:** The user manually transfers an exact, randomized micro-amount of crypto to a specific platform verification address.
* **Processing Time:** 10 to 60 minutes (dependent on blockchain block confirmation times).
* **Best For:** UTXO-based blockchains like Bitcoin, Litecoin, or Dogecoin where native message signing is poorly supported by standard user wallets.

**When used:**

* Wallet whitelisting flows when cryptographic messaging signing is unavailable.
* Peer-to-peer transfers on non-EVM chains.

***

### Self-Declaration

**Type Slug:** `self-declaration`

A self-declaration is a declarative form of proof that relies entirely on the user's legal assertion about the transaction and beneficiary details. No cryptographic validation or financial movement is required.

* **How it works:** The user checks a digital compliance box confirming they are the sole owner and beneficiary of the address.
* **Processing Time:** Instant (\< 10 seconds).
* **Best For:** Low-value, retail-tier withdrawals and deposits where minimizing user friction is prioritized over strict cryptographic proof.

**When used:**

* **Strictly limited to active deposits and withdrawals.**

***

## Next steps

* See [Withdrawal flow](/developer-guides/travel-rule/withdrawal) for a walkthrough of resolving Travel Rule RFIs on withdrawals.
* See [Deposit flow](/developer-guides/travel-rule/deposit) for handling RFIs on deposits.
* See [Request for information](/rest-apis/core-api/requests-for-information) endpoint for more details on Travel Rule RFIs.
