# Sparrow Wallet Bitcoin Accounting Setup | Step-by-Step

> Step-by-step guide to connect your Sparrow wallet to Clams Bitcoin accounting software. Sync transactions automatically using Xpubs or Descriptors for seamless tax reporting and cost basis tracking.

Published 2025-08-24 at https://clams.tech/blog/sparrow-wallet-bitcoin-accounting-setup-guide/

Looking to integrate your Sparrow wallet with Bitcoin-only accounting software for seamless tax reporting? This guide walks you through connecting both single-sig and multisig Sparrow wallets to [Clams](/), automatically syncing your transaction history and calculating accurate cost basis for Bitcoin accounting.

## Why Connect Sparrow Wallet to Clams?

Sparrow is one of the best Bitcoin wallets available, and when paired with Clams' Bitcoin-only accounting software, you get:

- **Automatic transaction syncing** using Extended Public Keys (Xpubs) and Descriptors
- **Privacy** - your accounting data stays local (sign-in and exchange rates use Clams' hosted services, and chain scans query your configured Electrum, Esplora, or RPC source)
- **Fast setup** - connect in minutes
- **No address hunting** - Clams automatically derives all your addresses
- **Capital gains reports** - cost basis calculated from your own data, ready to review with your accountant

## Before You Start

**What You'll Need:**
- [Sparrow Wallet](https://sparrowwallet.com) installed and set up
- Your wallet's Extended Public Key (Xpub) or Descriptor
- [Clams](/downloads/) installed

If you have not set Clams up yet, install it and initialize your books:

```bash
curl -fsSL https://clams.tech/install.sh | sh
clams init
```

Syncing connections and generating reports require a signed-in Clams user, so sign in before you continue.

**Important:** Clams only needs your Xpub/Descriptor (read-only access). Clams **never** needs your private keys or seed phrase. Keep in mind that an Xpub or Descriptor shared with Clams (or any tool) reveals the wallet's full address graph, but it cannot be used to spend your funds.

## Single-Sig Wallet Setup

### Step 1: Export Your Xpub from Sparrow

1. Open Sparrow and select your wallet
2. Go to **Settings** → **Keystores**
3. Right-click on the xpub/ypub/zpub value and Copy the **Extended Public Key** (starts with `xpub`, `ypub`, or `zpub`)

<picture>
  <source srcset="./images/sparrow-single-sig-400w.webp 400w, ./images/sparrow-single-sig-800w.webp 800w, ./images/sparrow-single-sig-1200w.webp 1200w"
          sizes="(max-width: 768px) 100vw, 800px"
          type="image/webp">
  <img src="./images/sparrow-single-sig.png" alt="Sparrow Settings Keystores tab with the extended public key value to copy" />
</picture>

### Step 2: Add Your Xpub to Clams

Create an XPub connection, replacing `YOUR_XPUB` with the value you copied from Sparrow:

```bash
clams connections create \
  --label my-sparrow \
  --kind XPub \
  --configuration '{"xpub":"YOUR_XPUB","address_types":["bech32"]}'
```

Adjust `address_types` to match the script types your wallet uses (for example `bech32` for native SegWit or `bech32m` for Taproot). Then sync to discover your addresses and import history, and process the results into journal entries:

```bash
clams connections sync my-sparrow
clams journals process
```

## Multisig Wallet Setup

### Step 1: Export Your Multisig Descriptor

1. In Sparrow, open your multisig wallet
2. Go to **Settings** → **Script Policy**
3. Right-click and copy the full **Output Descriptor** (includes all co-signer Xpubs)

<picture>
  <source srcset="./images/sparrow-multi-sig-400w.webp 400w, ./images/sparrow-multi-sig-800w.webp 800w, ./images/sparrow-multi-sig-1200w.webp 1200w"
          sizes="(max-width: 768px) 100vw, 800px"
          type="image/webp">
  <img src="./images/sparrow-multi-sig.png" alt="Sparrow Settings Script Policy tab with the multisig output descriptor to copy" />
</picture>

### Step 2: Add Your Descriptor to Clams

Create a Descriptor connection, replacing `YOUR_DESCRIPTOR` with the output descriptor you copied from Sparrow:

```bash
clams connections create \
  --label my-sparrow-multisig \
  --kind Descriptor \
  --configuration '{"descriptor":"YOUR_DESCRIPTOR"}'
```

Then sync and process:

```bash
clams connections sync my-sparrow-multisig
clams journals process
```

## Pro Tips for Sparrow + Clams

Once your Sparrow wallets are connected Clams will automatically:
- Derive all addresses associated with your Xpub / Descriptor wallets
- Scan for transaction history
- Calculate cost basis for every transaction and for the balance as a whole
- Display your complete transaction history
- Automatically detect, label and account for transfers between your connected wallets

**Best Practices:**
- Always verify you're copying the Xpub / Descriptor, not private keys
- Consider using different Sparrow wallets for different purposes (spending vs savings)

**Organization Tips:**
- Use descriptive wallet names in Clams that match your Sparrow setup
- Label transactions in both Sparrow and Clams for better record-keeping
- Set up separate wallets for business vs personal Bitcoin

**Troubleshooting:**
- If transactions aren't appearing for your Xpub, make sure you are scanning for all addresses types that you know have balances.
- For multisig, make sure you copied the full descriptor, not just one cosigner's Xpub.

## Next Steps

1. **Review imported transactions** for accuracy
2. **Add custom labels** to improve organization
3. **Set up additional connections** to capture all your Bitcoin transactions
4. **Generate tax reports** when needed:

```bash
clams reports capital-gains --format csv
```

## Need Help?

Having trouble with your Sparrow integration? We're here to help:
- Join our [Discord community](https://discord.gg/eWfHuJZVaB)
- Email us directly: support@clams.tech
