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

# Wallet types

> See which wallet material Gerfaut accepts, from descriptors and extended public keys to multisig, BSMS records and export files, and what it refuses.

Check what Gerfaut makes of what you paste, open or scan, and what to confirm before you add it.

## Give Gerfaut one of these inputs

| Input | Recognized as | What Gerfaut watches |
| - | - | - |
| An output descriptor (`pkh`, `wpkh`, `sh`, `wsh`, `tr`, `multi`, `sortedmulti`) | `Output descriptor` | The one branch the descriptor names, usually receive. See the note below. |
| A multipath descriptor with `<0;1>` | `Multipath descriptor (BIP-389)` | Both branches. |
| Two descriptors on two lines | `Descriptor pair (receive + change)` | Both branches. |
| An extended public key (`xpub`, `tpub`, or a SLIP-132 `ypub`, `zpub`, `upub`, `vpub`) | `Extended public key` | The `0/*` and `1/*` branches under that extended public key. |
| A single address, or a `bitcoin:` payment link that carries one | `Single address` | That address only. See [Watch an address](/docs/wallets/watch-an-address). |
| A JSON export of another wallet, with a `descriptor` field or Coldcard's `bip44` to `bip86` accounts | `Wallet export file` | The descriptor the file holds. When it holds several account types, Gerfaut picks the preferred one and says so. |
| A BSMS record (BIP-129) | `BSMS record` | The multisig descriptor in the record. Gerfaut refuses the file if its first address differs from the one the record promises. |

A text file reads as the descriptors it holds, such as the descriptor file Sparrow exports.

A multisig wallet arrives as a descriptor, pasted, scanned or read from a BSMS record. Every wallet has a [Policy page](/docs/wallets/policy-and-timelocks), where a Miniscript descriptor with timelocks gets one card per spending path.

> [!NOTE]
>
> A descriptor with a receive branch only, such as one ending in `/0/*`, shows `No change path was provided: change outputs will not be tracked.` Your balance then misses the change of every payment you send. Import the multipath descriptor (`/<0;1>/*`) or the pair of descriptors instead.

## Pick the script type of an extended public key

A bare `xpub` does not name its script type. Gerfaut reads it from the SLIP-132 prefix (`ypub` for Nested SegWit, `zpub` for Native SegWit), then from a key origin such as `[fingerprint/84'/0'/0']`, and falls back to Native SegWit.

* **SLIP-132 prefix:** A notice under the card reads `The SLIP-132 prefix was converted to a standard extended key.` The same conversion applies inside a descriptor.
* **No script type:** A notice under the card reads `This key carries no script type. Check the one selected below.` Select the type your wallet software uses.

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

> [!WARNING]
>
> Each script type gives other addresses. Compare the new `First address` with the one your signing device or wallet software shows before you select **Add wallet**.

**Android**

<video autoPlay muted loop playsInline preload="metadata" src="https://mintcdn.com/gerfaut/lxGkHstk_-7EsZEA/videos/wallets/pick-a-script-type-android.mp4?fit=max&auto=format&n=lxGkHstk_-7EsZEA&q=85&s=396b4aa91dcf06477affce31766b56db" aria-label="Picking a script type on Android: a bare tpub pasted, Continue, the notice This key carries no script type, the Script type list opened, then Taproot (P2TR) with a first address that starts with tb1p." />

**Desktop**

<video autoPlay muted loop playsInline preload="metadata" src="https://mintcdn.com/gerfaut/lxGkHstk_-7EsZEA/videos/wallets/pick-a-script-type-desktop.mp4?fit=max&auto=format&n=lxGkHstk_-7EsZEA&q=85&s=57c1f52578efa54da9cec767cf18b316" aria-label="Picking a script type on desktop: a bare tpub pasted, Continue, the notice This key carries no script type, the Script type list opened, then Taproot (P2TR) with a first address that starts with tb1p." />

## Pick a network

Gerfaut watches wallets on `Mainnet`, `Signet`, `Testnet 4` and `Regtest`. Gerfaut only shows the wallets of the network selected in **Settings** > **Network**.

The input sets which networks `Network` offers when you add the wallet:

* **`xpub` or mainnet address:** `Network` reads `Mainnet`, with nothing to select.
* **`tpub`:** Select `Signet`, `Testnet 4` or `Regtest`.
* **`tb1` address:** Select `Signet` or `Testnet 4`.

## Read a refusal

Each refusal names the input and says where it belongs:

* **Private key material:** Gerfaut refuses an `xprv`, a WIF key or a seed phrase, and never stores it.
* **Multisig cosigner key:** A `Ypub`, `Zpub`, `Upub` or `Vpub` key, or one whose origin path starts with `45'` or `48'`, belongs to a multisig. Import the full multisig descriptor instead.
* **Signed transaction or PSBT:** Send it from [Broadcast](/docs/everyday-use/broadcast-a-transaction).
* **Gerfaut backup:** Restore it from [Backup and sync](/docs/settings/backup-and-sync).
* **One part of an animated QR code pasted as text:** Scan the code with the camera.


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