Resources | Self-Hosted Wallets
Self-hosted Wallet Verification
Methods Compared
Self-hosted wallet verification is the process of confirming that a customer controls a cryptocurrency wallet address. For virtual asset service providers (VASPs), this can be an important part of meeting anti-money laundering (AML) and Travel Rule obligations when customers transfer digital assets to or from wallets they control themselves.
There are several ways to verify wallet ownership, each with different implications for security, privacy, cost and user experience. The four main methods are AOPP, the Satoshi Test, manual signing and visual proofs.
Why Is Self-Hosted Wallet Verification Important?
Unlike custodial wallets, self-hosted wallets allow users to control their own private keys. Examples include mobile wallets, desktop wallets and hardware wallets.
When a customer requests a transfer to a self-hosted wallet, the VASP may need to establish that the customer controls the destination address. The applicable requirements depend on the jurisdiction and the circumstances of the transaction.
Wallet verification methods provide different ways to establish control of an address. Some rely on visual evidence, while others use an on-chain transaction or a cryptographic signature.
Self-Hosted Wallet Verification Methods
Address Ownership Proof Protocol (AOPP)
Address Ownership Proof Protocol (AOPP) is a tool that allows cryptocurrency owners to prove that their self-hosted wallet (non-custodial wallet) belongs to them in an easy, fast and private way.
AOPP needs to be supported by both the self-hosted wallet and the VASP to exchange the signed message used to prove ownership. In practice, AOPP automates steps every wallet is capable of performing to send information to a VASP, but only with the user’s request and approval.
Rather than requiring customers to follow a manual signing procedure, AOPP guides them through the steps needed to generate and submit the proof.
How does AOPP work?
- The customer initiates a transaction with their VASP.
- An AOPP verification link is automatically generated.
- The customer opens the link and selects their supported wallet.
- Their wallet guides the customer through the ownership verification process.
- The signed proof is automatically returned to the VASP.
With an integrated solution such as the AOPP Portal, the process can be automated from the VASP's perspective, reducing the need for manual evidence review.
Pros of AOPP
- The process is fully automated; the proof can be submitted and processed without manual review of screenshots.
- The underlying signature provides evidence of control of the relevant private key.
- Customers do not need to send cryptocurrency or pay a blockchain transaction fee to prove ownership.
- The chances of wallet address reuse are virtually nonexistent as customers can verify an address without incurring the costs associated with repeated Satoshi Tests.
- The user experience is smoother due to the guided instructions, in turn reducing the technical effort required compared with manual signing.
- Supported verification flows can be completed in seconds.
- No copying and pasting of addresses and transaction proofs reduce the risk of users entering an incorrect address.
Download the AOPP Portal Guide
Satoshi Test
A Satoshi Test (Satoshi Test) is a method used to verify ownership of a self-hosted wallet address. To verify ownership, the wallet owner is required to transfer a small, predetermined amount of cryptocurrency from their address to their VASP within a specified timeframe. Successfully completing the transaction proves that the wallet owner controls the address.
Once the transfer is successful, the wallet owner is reimbursed for the amount sent. If the transaction fails, the wallet owner can attempt the test again, with the VASP issuing a new address and timeframe.
How does a Satoshi Test work?
- The VASP provides the customer with a test amount, destination address and deadline.
- The customer sends the specified amount from the wallet address they want to verify to the address provided by the VASP.
- The customer then submits the transaction ID or transaction hash to their VASP.
- Using the provided data, the VASP checks the blockchain transaction and confirms whether the test was completed correctly.
- Once the test is accepted, the address can be registered for subsequent transactions.
The transferred amount may be returned to the customer, depending on the provider's process. However, blockchain transaction fees are generally not refundable.
Pros of the Satoshi Test
- The transaction demonstrates the ability to initiate a transfer from the address being verified.
- Verification can rely on a publicly recorded blockchain transaction rather than an image supplied by the customer.
- Software can generate test instructions, monitor transactions and process verification results.
Cons of the Satoshi Test
- Customers must pay network fees, which can vary depending on the blockchain and network conditions.
- Customers must complete an additional transaction before proceeding with their intended transfer, adding friction to the process.
- Some wallets do not allow users to select the exact address or unspent outputs needed to perform the test. This is a particular challenge for UTXO-based cryptocurrencies such as Bitcoin.
- The test is recorded on-chain and can reveal relationships between addresses and the timing of planned transfers.
- Customers may prefer reusing a previously verified address to avoid repeating the test and paying further transaction fees.
- Confirmation times and manual checks can slow down the verification process, thus delaying transactions.
Download the Satoshi Test Workflow
Learn how to conduct a Satoshi Test step-by-step.
Manual Signing Method
Manual signing (Manual Signing) verifies wallet ownership through a cryptographic digital signature. The VASP asks the customer to sign a specified message using the private key associated with the wallet address.
The VASP then verifies the signature against the address and message. A valid signature demonstrates control of the relevant private key without requiring an on-chain transaction.
How does manual signing work?
- The VASP provides a message for the customer to sign.
- The customer opens their wallet software and signs the message using the appropriate private key.
- The customer submits the signed message and wallet address to the VASP.
- The VASP verifies the signature.
- If the signature is valid and corresponds to the address being verified, the proof can be accepted.
The process does not require the customer to transfer cryptocurrency, although wallet compatibility and signing procedures vary.
Pros of manual signing
- A valid signature provides strong evidence that the signer controls the private key associated with the address.
- Signing a message does not require an on-chain transaction.
- The customer does not need to create a public transaction to demonstrate control of the address.
- VASPs can automate signature verification and the processing of submitted proofs.
Cons of manual signing
- Not every wallet supports message signing in a way that is suitable for ownership verification.
- Customers may need to understand how to sign messages and submit the resulting signature, and those unfamiliar with the process may need assistance from their VASP.
- Different wallets can use different signing standards and formats, complicating verification.
Visual Proof Method
A visual proof (Visual Proof) is a screenshot or video recording showing a wallet address within the wallet software. The customer submits this evidence to their VASP, whose compliance team checks whether the displayed address matches the intended transaction address.
How does visual proof work?
- The customer initiates a transaction with their VASP.
- The customer captures a screenshot or video showing the relevant wallet address.
- The evidence is submitted to the VASP.
- A compliance team member reviews the evidence and checks the address.
- If the evidence is accepted, the transaction can proceed.
Pros of visual proof
- Most wallet users are familiar with taking screenshots or recording their screens.
- The method can be used with virtually any wallet, provided the address can be displayed.
- Customers do not need to send cryptocurrency or pay blockchain transaction fees to provide the proof.
Cons of visual proof
- Images and videos can be edited or fabricated, making it difficult to establish authenticity.
- The process requires compliance teams to manually inspect the evidence and compare the displayed address with the intended destination.
- Manual checks can delay transactions, particularly when review queues are busy.
- Wallet interfaces vary considerably, making it challenging to standardise evidence assessment across different wallets.
- Encourages address reuse due to the VASP trying to avoid inspections, which is bad for the customers and the VASP's privacy.
Comparing the Four Wallet Verification Methods
| Criterion | AOPP | Satoshi Test | Manual signing | Visual proof |
|---|---|---|---|---|
| Evidence type | Digitally signed proof via an automated workflow | On-chain transaction | Digital signature | Yes |
| Blockchain transaction required | No | Yes | No | No |
| Network fees | No | Yes | No | No |
| Cryptographic proof | Yes | Transaction-based evidence | Yes | No |
| Manual review | Can be automated | Depends on automation | Depends on implementation | Usually required |
| Wallet compatibility | Limited to supported integrations | Varies by wallet and blockchain | Limited to compatible signing methods | Broad |
| Customer effort | Low | Moderate to high | Moderate to high | Low |
| Privacy considerations | No test transaction required | On-chain activity is public | No test transaction required | Evidence may expose wallet information |
| Automation potential | High | High | High | Limited |
| Evidence type | |
|---|---|
| AOPP | Digitally signed proof via an automated workflow |
| Satoshi Test | On-chain transaction |
| Manual signing | Digital signature |
| Visual proof | Yes |
| Blockchain transaction required | |
|---|---|
| AOPP | No |
| Satoshi Test | Yes |
| Manual signing | No |
| Visual proof | No |
| Network fees | |
|---|---|
| AOPP | No |
| Satoshi Test | Yes |
| Manual signing | No |
| Visual proof | No |
| Cryptographic proof | |
|---|---|
| AOPP | Yes |
| Satoshi Test | Transaction-based evidence |
| Manual signing | Yes |
| Visual proof | No |
| Manual review | |
|---|---|
| AOPP | Can be automated |
| Satoshi Test | Depends on automation |
| Manual signing | Depends on implementation |
| Visual proof | Usually required |
| Wallet compatibility | |
|---|---|
| AOPP | Limited to supported integrations |
| Satoshi Test | Varies by wallet and blockchain |
| Manual signing | Limited to compatible signing methods |
| Visual proof | Broad |
| Customer effort | |
|---|---|
| AOPP | Low |
| Satoshi Test | Moderate to high |
| Manual signing | Moderate to high |
| Visual proof | Low |
| Privacy considerations | |
|---|---|
| AOPP | No test transaction required |
| Satoshi Test | On-chain activity is public |
| Manual signing | No test transaction required |
| Visual proof | Evidence may expose wallet information |
| Automation potential | |
|---|---|
| AOPP | High |
| Satoshi Test | High |
| Manual signing | High |
| Visual proof | Limited |
Frequently Asked Questions
What is self-hosted wallet verification?
Self-hosted wallet verification is the process of establishing that a customer controls a cryptocurrency address held in a wallet they manage themselves, rather than an account held by a custodial provider.
Is a screenshot sufficient to prove wallet ownership?
A screenshot can show that an address appears in a wallet interface, but it does not provide cryptographic proof that the customer controls the associated private key. Screenshots can also be manipulated, so their suitability depends on the VASP's risk assessment and applicable requirements.
What is the difference between a Satoshi Test and a digital signature?
A Satoshi Test uses an on-chain transaction to demonstrate the ability to transfer funds from an address. A digital signature demonstrates control of the associated private key by signing a message, without requiring a cryptocurrency transaction.
Is AOPP different from manual signing?
AOPP automates the exchange of information used in signature-based wallet verification. Manual signing requires the customer to perform more of the signing and submission process themselves, whereas AOPP guides and standardises the workflow for supported wallets.
Does wallet verification require a blockchain transaction?
No. A Satoshi Test requires an on-chain transaction, but visual proof, manual signing and AOPP-based verification do not inherently require one.
Automate Self-Hosted Wallet Verification with 21 Travel Rule
21 Travel Rule supports self-hosted wallet verification through the AOPP Portal, alongside workflows for Satoshi Tests, manual signing and visual proofs.
By automating supported verification processes, VASPs can reduce manual compliance work, streamline the customer journey and select an appropriate method for different wallet types.
Discover how 21 Travel Rule can support your self-hosted wallet verification requirements.