AQUA 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 app on your phone
- Clams installed
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.
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):
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:
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:
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 public servers or your own node:
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:
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:
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:
clams connections sync --all
5. Generate journal entries from the synced transactions:
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 Claude, ChatGPT, Opencode, and other agents through the Clams agent skill. Instead of running the commands yourself, paste your two AQUA exports into a prompt and let your agent handle the whole setup:
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
- Cost basis and capital gains on BTC and L-BTC, calculated per lot (USDt is a stablecoin tracked as a balance, with no meaningful gains)
- Transfers detected between your Bitcoin and Liquid wallets, so internal moves aren't counted as income
Keeping your books current
AQUA is an active, on-the-go wallet, so sync whenever you want fresh books:
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 for a quick reference
- Install Clams if you haven't yet
- Explore all supported wallets and exchanges