# AQUA Wallet Tax Guide: Bitcoin & Liquid Cost Basis

> Connect your AQUA wallet to Clams for tax-ready Bitcoin and Liquid accounting. Track your BTC and L-BTC cost basis plus your Liquid USDt balance in minutes.

Published 2026-06-16 at https://clams.tech/blog/aqua-wallet-bitcoin-liquid-accounting-setup-guide/

[AQUA](https://aqua.net/?ref=clams) is a mobile wallet that supports the Bitcoin and Liquid networks in one app: on-chain BTC, L-BTC, and Liquid assets like USDt (Tether). This guide connects AQUA to [Clams](/) so every transaction across both networks lands in tax-ready, double-entry books with accurate cost basis.

The best part: AQUA hands you everything Clams needs as **two watch-only exports**, one for Bitcoin and one for Liquid. There's nothing to convert. You copy them from AQUA's watch-only export screen, create two connections, and sync. Done in minutes.

## Why connect AQUA to Clams?

AQUA is non-custodial and spans two networks, which makes manual bookkeeping painful. Paired with Clams' Bitcoin-native accounting, you get:

- **Both networks in one ledger:** on-chain Bitcoin, L-BTC, and Liquid USDt tracked together
- **Watch-only, always:** Clams uses your zpub and descriptor read-only; it can never move funds
- **Accurate cost basis:** per-lot gains and losses on your BTC and L-BTC
- **Tax-ready reports:** capital gains and journal exports for your accountant
- **Privacy-first:** your data stays on your device

## Before you start

**What you'll need:**

- The [AQUA wallet](https://aqua.net/?ref=clams) app on your phone
- [Clams](/downloads/) installed
- A signed-in Clams user. Syncing and reports require one.

**Time required:** about 5 minutes.

AQUA keeps your Bitcoin and Liquid balances in one place: a Bitcoin savings account plus L-BTC and Tether USDt spending accounts.

<picture>
  <source srcset="./images/aqua-home-400w.webp 400w,
                  ./images/aqua-home-750w.webp 750w"
          sizes="(max-width: 768px) 100vw, 350px"
          type="image/webp">
  <img src="./images/aqua-home.png" alt="AQUA wallet home screen showing Bitcoin, L-BTC, and Tether USDt balances" style="max-width: 350px;">
</picture>

## Step 1: Open the watch-only export

In AQUA, go to **Settings → Wallet details → Watch-only export**. You'll see two wallets you can export, **Bitcoin** (Native SegWit) and **Liquid** (Nested SegWit):

<picture>
  <source srcset="./images/aqua-watch-only-export-400w.webp 400w,
                  ./images/aqua-watch-only-export-750w.webp 750w"
          sizes="(max-width: 768px) 100vw, 350px"
          type="image/webp">
  <img src="./images/aqua-watch-only-export.png" alt="AQUA Export Watch-Only Wallet screen with Bitcoin Native SegWit and Liquid Nested SegWit options" style="max-width: 350px;">
</picture>

You'll export each one and create a matching Clams connection.

## Step 2: Copy your Bitcoin zpub

Tap **Bitcoin**. AQUA shows a QR code and your native SegWit **zpub** as text, and copies it to your clipboard:

<picture>
  <source srcset="./images/aqua-bitcoin-export-400w.webp 400w,
                  ./images/aqua-bitcoin-export-750w.webp 750w"
          sizes="(max-width: 768px) 100vw, 350px"
          type="image/webp">
  <img src="./images/aqua-bitcoin-export.png" alt="AQUA Bitcoin watch-only export showing the zpub string and QR code" style="max-width: 350px;">
</picture>

## Step 3: Copy your Liquid descriptors

Go back and tap **Liquid**. AQUA shows your two Liquid **CT descriptors** (each starts with `ct(slip77(`). Tapping copy grabs both:

<picture>
  <source srcset="./images/aqua-liquid-export-400w.webp 400w,
                  ./images/aqua-liquid-export-750w.webp 750w"
          sizes="(max-width: 768px) 100vw, 350px"
          type="image/webp">
  <img src="./images/aqua-liquid-export.png" alt="AQUA Liquid watch-only export showing the ct() descriptor strings and QR code" style="max-width: 350px;">
</picture>

## Step 4: Set up Clams (the manual way)

**1. Set up chain sources.** Clams reads each chain through a chain source, set up once per profile. If you've used Clams before, you likely have these, so skip ahead (`clams chain-sources list` to check). Otherwise add one per network and select them, using [Blockstream's](https://blockstream.info) public servers or your own node:

```bash
clams chain-sources create --label bitcoin --kind Electrum \
  --url ssl://electrum.blockstream.info:50002 --select
clams chain-sources create --label liquid --kind LiquidElectrum \
  --url ssl://blockstream.info:995 --select
```

**2. Create the Bitcoin connection.** Replace `YOUR_ZPUB` with the native SegWit zpub from AQUA:

```bash
clams connections create --label aqua-bitcoin --kind XPub \
  --configuration '{"xpub":"YOUR_ZPUB","address_types":["bech32"]}'
```

**3. Create the Liquid connection.** Copy both Liquid descriptors into the array. Order doesn't matter, Clams scans both:

```bash
clams connections create --label aqua-liquid --kind LiquidDescriptor \
  --configuration '{"descriptors":["YOUR_LIQUID_DESCRIPTOR_1","YOUR_LIQUID_DESCRIPTOR_2"]}'
```

**4. Sync both connections** to pull your transaction history:

```bash
clams connections sync --all
```

**5. Generate journal entries** from the synced transactions:

```bash
clams journals process
```

That's it. Your AQUA Bitcoin and Liquid activity is now in your books.

## Or let your AI agent do it

Clams works with coding agents that can run shell commands, like Claude Code, Codex, and Opencode, through the [Clams agent skill](/blog/bitcoin-accounting-agent-skills/). The agent drives the Clams CLI on your machine, so a chat-only bot won't work. Instead of running the commands yourself, paste your two AQUA exports into a prompt and let your agent handle the whole setup:

```text
Set up Clams to track my AQUA wallet. Add a Bitcoin chain source
(Electrum) and a Liquid chain source (LiquidElectrum) and select them.
Create a connection named aqua-bitcoin (XPub, bech32) from my Bitcoin
zpub, and a connection named aqua-liquid (LiquidDescriptor) from my two
Liquid CT descriptors. Then sync everything and process the journals.

zpub: YOUR_ZPUB
liquid descriptors: YOUR_LIQUID_DESCRIPTOR_1, YOUR_LIQUID_DESCRIPTOR_2
```

The agent creates both connections, runs the sync, and processes your journals. No commands to memorize.

## What Clams tracks from AQUA

- On-chain **Bitcoin** from your native SegWit zpub
- **L-BTC** balances and transactions on Liquid
- **Liquid USDt** (Tether): Clams recognizes it as a US-dollar stablecoin and values it 1:1 with USD, tracked as its own balance. How USDt trades and L-BTC/USDt swaps are taxed depends on your jurisdiction, so review that classification with your accountant.
- **Cost basis and capital gains** on BTC and L-BTC, calculated per lot using your configured cost basis method
- **Peg-ins and peg-outs** between your Bitcoin and Liquid wallets: create a peg-bridge record (`clams records peg-bridges create`) to link the Bitcoin and Liquid transactions so the move isn't counted as income

## Keeping your books current

AQUA is an active, on-the-go wallet, so sync whenever you want fresh books:

```bash
clams connections sync --all && clams journals process
```

You can schedule that as a cron job to keep everything up to date automatically.

## Next steps

- See the [AQUA integration page](/integrations/aqua/) for a quick reference
- [Install Clams](/downloads/) if you haven't yet
- Explore [all supported wallets and exchanges](/integrations/)
