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

# Manual signing (Advanced)

> Verify any single-signature wallet by pasting its public key and a signed message.

Use manual signing for any single-signature wallet Prove doesn't connect to directly. For example Keystone, Jade, BitBox, Passport, or a software wallet.

You'll paste your wallet's public key, then sign a message in your own wallet app.

## Start

Open **Claims**. Open **Manually Verify Your Self-Custodial Bitcoin Holdings**. Select **Verify with Manual Signing**.

## 1. Add the wallet

1. Enter a **Display name**.

2. Paste the **account descriptor or public key**. Need help finding it? See [Find your xpub](https://help.hoseki.app/prove/wallet-guides/find-xpub.md).

3. If you pasted an `xpub`, pick the **script type**. Match the start of your addresses:

   | Addresses start with | Pick |
   | - | - |
   | `1` | Legacy (P2PKH) |
   | `3` | Nested SegWit (P2SH) |
   | `bc1q` | Native SegWit (P2WPKH) |
   | `bc1p` | Taproot (P2TR) |

4. Select **Add Account**.

> [!TIP]
>
> A descriptor, `zpub`, or `ypub` already includes the script type. You don't need to pick one.

## 2. Sign the message

1. Copy the **Address** and **Message**.
2. Sign the message with that address in your wallet app. See [Sign a message in your wallet](https://help.hoseki.app/prove/wallet-guides/sign-message.md).
3. Paste the signature. Select **Verify**.

**"Failed to complete claim registration"?** Sign the exact message, unchanged, with the exact address shown.

> [!WARNING]
>
> Never paste a private key (`xprv`) or seed phrase. Prove only needs public keys.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.