Exporting Bitcoin wallet transaction history is usually not hard because of the "export" action itself. The hard part is knowing whether the data you see is complete. If you export from only one address, the result is likely incomplete: a receiving address only records the part it received. The change address does not appear at all, and reconciliation will never add up.

A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
This article solves that problem. First, it explains why addresses are scattered. Then it gives practical export paths for different wallets. Finally, it explains how to check whether the exported data is complete.
Why the History Is Incomplete: Your Bitcoin Is Not in One Address
The "balance" in a Bitcoin wallet is a summary number, but behind it is a group of addresses. Every time you receive money, the wallet usually gives you a new address. Every time you spend, if the UTXO being spent is larger than the payment amount, the remaining part is sent to a change address.
There is no difference in control between a change address and a receiving address. Both are managed by the same set of mnemonic words. The only difference is their purpose: a receiving address is the one you share with others for payment, while a change address is generated automatically by the wallet and is not shown publicly.
This leads to two consequences. First, if you only export the history of a certain receiving address, you will miss all payments received and sent from change addresses. Second, change addresses usually do not appear in the address list on the wallet's main screen. You need to look for them actively.
| Address type | Purpose | Is it easy to see |
|---|---|---|
| Receiving address | Receiving transfers from others | Shown directly in the wallet interface |
| Change address | Receiving change from your own transaction | Hidden by default in most wallets; needs manual viewing |
So the correct understanding of "exporting Bitcoin wallet history" is: export the history of the entire wallet account, not the history of one address.
Export CSV Directly from Wallet Software
The easiest way is to use the export function built into the wallet software you are already using. The entry point differs by wallet, but the logic is the same: find the account or transaction record and choose export.
BitBoxApp has a clear export path. On the left side, select the account you want to export, click Account information, then click Export transaction history, and choose where to save it. The exported file is a CSV containing time, type, amount, fees, addresses, transaction IDs, and historical fiat value estimates. BitBoxApp exports per account separately. If you have multiple accounts, you need to export them one by one.
Sparrow Wallet supports exporting CSV from the transactions tab or from Export Wallet. If an exchange rate source is configured, the CSV will also include historical fiat values. For users who need to connect with accounting software, Sparrow can export an xpub or descriptor. Third-party tools use this information to automatically scan and collect transactions from all addresses, including change addresses.
Trezor Suite has its entry point on the account page. Scroll down to the Transactions area, click the three-dot menu, and choose Export as CSV. It also exports separately by asset.
BitPay supports export on both desktop and mobile. Go to Gear icon → Wallets & Keys, select the corresponding key and wallet, then choose Export Transaction History.
Bitcoin Core also provides a function in its wallet interface to export transaction history as CSV, which can be opened in Excel.
If your wallet has no export button, there is a common alternative: find the wallet's xpub (extended public key), and use an accounting tool or script that supports xpub import to automatically scan all associated addresses. The advantage of this method is that the tool automatically derives and queries both receiving addresses and change addresses, so you do not need to find them manually. hd-wallet-addrs is one command-line tool. After you enter an xpub, it derives receiving and change addresses, queries on-chain records, and outputs a CSV report.
How to Check Manually When There Is No xpub
Some wallets do not show an xpub, or you only want to quickly check a few transactions without adding extra tools. In that case, you need to manually confirm whether the change address is included in the history.
First, make a judgment: open your exported CSV and find a transaction where you sent Bitcoin. In that transaction record, besides the recipient's address, check whether there is another smaller address that you "do not recognize." If there is, it is likely the change address, which means the export is complete. If there is not, the export has missed the change part.
For Ledger users, the official help documentation clearly states: you cannot view change addresses in the Ledger Wallet interface. You need to connect your Ledger device to Electrum to see them. This means that if you only use Ledger Wallet to view history, payments related to change may not be fully displayed.
After Export: What to Check for Reconciliation
After getting the CSV, the core of reconciliation is to confirm that the totals match. Do not look at one single transaction. Instead, check whether the inflows and outflows over a period of time match your actual records.
Open the CSV, sort by time, and check at least three things:
Total received: the sum of all
receivedtransactions should match the total amount you actually received.Total sent: the sum of all
senttransactions plus fees should match the total amount you actually spent.Existence of change: in the transactions you sent, there should be an output "to yourself." In BitBoxApp exports, this is usually marked as
sent_to_yourself.
sent_to_yourself is a direct signal of whether the export is complete. If your export result has no such type at all, but you have made sending transactions, it means change address transactions were not captured, and reconciliation will be missing a piece.
An Easily Overlooked Limitation
Using xpub and descriptors in accounting tools means you are giving this public key information to a third party. An xpub itself cannot be used to spend funds, but it reveals the wallet's complete address map—the tool can see all your receiving addresses and change addresses, and the links between them. If privacy matters to you, prefer tools that run locally, or simply use the CSV export built into your wallet software.

A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
References
- Ledger·Change addresses for UTXO-based crypto assets, page published or updated: 2026-05-13; checked: 2026-10-05.
- BitBox·How to view used addresses in the BitBoxApp, page published or updated: 2026-05-19; checked: 2026-10-05.
- imToken·Why is the sending address in BTC account transaction details different from the account address?, page published or updated: 2026-05-21; checked: 2026-10-05.
- BitBox·How to export your transaction history in the BitBoxApp, page published or updated: 2026-05-19; checked: 2026-10-05.
- Sparrow Wallet·Releases, page published or updated: 2025-09; checked: 2026-10-05.
- clams.tech·Sparrow Wallet Bitcoin Accounting Setup, page published or updated: 2025-08-23; checked: 2026-10-05.
- CoinLedger·Trezor Wallet - File Import Guide, page published or updated: 2025-05-26; checked: 2026-10-05.
- BitPay·How do I export my wallets transaction history?, page published or updated: 2026-06-09; checked: 2026-10-05.
- 01net·Bitcoin Core, page published or updated: 2026-04-20; checked: 2026-10-05.
- Cryptact·DeFi: How to Upload a Trade History from Sparrow Wallet, page published or updated: 2025-09-17; checked: 2026-10-05.
- GitHub·dan-da/hd-wallet-addrs, page published or updated: 2024-06-03; checked: 2026-10-05.


