BitcoinDatabase.com
All posts
Buyer guides

Bitcoin Wallet Statement Tools for Accountants and Lenders

The best Bitcoin wallet statement tool for an accounting firm or lender pins the opening and closing balance to a named block, covers the whole wallet and nets out change. For the quarter ending 30 June 2026, UTC and Pacific cutoffs sit 41 blocks and 201,372 transactions apart.

By the BitcoinDatabase team

September 2026 · 8 min read

Query Console
btc
try:

Hit Run to query the Bitcoin blockchain.

Live from the chain for .

BTC

Balance trail

informational on-chain data · not financial advice

REST API · SQL · dashboards, one indexed dataset. Reading the chain ...

The short answer

For one borrower who needs one statement, a pay-per-statement tool at a few dollars is the right buy. For an accounting firm, lender or auditor producing or checking statements every month, the best Bitcoin wallet statement tool is one that pins the opening and closing balance to a named block, treats a whole wallet rather than one address, and nets out change. Two statements for the same wallet and the same dates can differ by tens of thousands of transactions if those three choices differ.

This guide is for the people who receive, produce or have to rely on a Bitcoin wallet statement: CPAs and bookkeepers preparing a client's books, mortgage and business lenders reviewing an applicant's crypto assets, and audit teams testing a balance. A wallet statement is the Bitcoin version of a bank statement: an opening balance, the transactions in a period, and a closing balance. There is no bank to issue one, so somebody has to build it from the blockchain, and the choices they make along the way change the numbers.

We sell Bitcoin on-chain data, so weigh that. Where a simpler tool is the better fit, we say so.

What should a Bitcoin wallet statement include?

A statement you can rely on shows seven things: the addresses or extended public key it covers, the period and the time zone of its cutoff, the opening balance, every transaction with its transaction ID, block height and fee, the net amount each transaction moved into or out of the wallet, the closing balance, and a check that opening plus net movements equals closing. That last line is the one most statements leave out, and it is the one that tells you the rest is complete.

Transaction IDs matter because they make the statement verifiable. Anyone can look each one up on a public block explorer and confirm the amount and the block. A statement without them is a table somebody typed.

Why do two wallet statements for the same period disagree?

Three reasons, and each one is large enough to fail a reconciliation.

The cutoff time zone. A period ends at midnight, but midnight where? We measured the quarter that ended 30 June 2026. The last block before midnight UTC was 956,140. The last block before midnight Eastern was 956,162, and before midnight Pacific it was 956,181. Between the UTC and Pacific cutoffs sit 41 blocks and 201,372 transactions. A US client's books close on US time, and a statement tool that silently uses UTC moves up to seven hours of activity into the wrong quarter. Block timestamps are not even strictly in order: inside that window, block 956,180 carries a timestamp 123 seconds earlier than block 956,179. Pinning the cutoff to a block height, and writing that height on the statement, removes the argument.

Change counted as a deposit. When a wallet spends, it usually sends the leftover back to itself. On 15 September 2026, in block 967,201, a large exchange hot wallet spent 5,644.62874647 BTC from 77 of its own outputs, paid 5,623.137 BTC to a cold address and a 26,645 satoshi fee, and received 21.49148002 BTC back as change to the same address. A statement that lists inputs and outputs separately shows that as 5,644.63 BTC sent and 21.49 BTC received. The economic event was one payment of 5,623.137 BTC plus a fee. On a bookkeeper's ledger the first version inflates both deposits and withdrawals.

One address or the whole wallet. Modern wallets use a new address for almost every receipt and send change to yet another address, all derived from one extended public key. A statement run per address shows each internal hop as money leaving one line and arriving on another. Over a longer window the effect is enormous: we traced that same hot wallet across blocks 967,239 to 968,069, 5,094 transactions in all, and found 199,166.42 BTC of gross flow for a balance that moved by minus 3,032.34 BTC. Both figures are true. Only one belongs on a statement of what the wallet holds.

Best Bitcoin wallet statement tools, compared

ToolBest forScopePrice we could read
CryptoBankStatementOne person needing a bank-style PDF and CSV for a lender or accountantOne wallet address per statement, Bitcoin and Ethereum$3.99 per statement, one time
Blockchair wallet statementsA portfolio view across chains in PDF or CSVMultiple addresses and xpubs in one statement, per its own descriptionNot readable: the page answered our request with HTTP 401
btcver.comProof of funds with a signed message proving control of the addressBalance plus ownership signature in a PDFNot readable: the site returned HTTP 502 when we checked
The wallet's own exportA holder pulling their own historyWhatever that wallet tracks, in its own formatIncluded with the wallet
BitcoinDatabaseFirms producing or checking statements for many clientsAny address set or xpub, balance at any block height$49 Developer, $199 Growth, $799 Scale a month

Prices and scope were read from each vendor's own page on 25 September 2026. Where a page would not load for us, we say so rather than guess.

Which wallet statement tool fits which buyer?

If you are one borrower with one address, buy the few-dollar statement and move on. An API is the wrong tool for a single document, and the lender mostly wants something readable with transaction IDs they can spot-check.

If you are a lender reviewing statements applicants hand you, the statement is the applicant's claim. Re-perform the closing balance yourself at the block the statement names, which takes one query per address. If the applicant used a UTC cutoff and your policy uses Eastern time, you will see it immediately rather than in a dispute. Ask for a signed message too, because a balance proves coins sit at an address, not who controls it.

If you are an accounting firm with crypto clients, you are producing the same statement for 20 or 200 wallets every quarter, and per-statement pricing and PDFs stop scaling. What you want is the data: balance at the period-end block, net movements per transaction with change removed, and a CSV your ledger imports. Our xpub balance API expands a client's extended public key into its addresses and totals the wallet in one call, so internal hops never reach the ledger. And where a client still keeps personal books in Quicken, a QIF to QBO conversion gets that file into QuickBooks before the wallet lines are added.

If you are auditing a balance, a vendor-produced statement is evidence you still have to test. The Bitcoin audit trail API page lists the year-end 2025 cutoff blocks for UTC, Eastern and Pacific, and our guide to crypto audit software for CPA firms covers the rollforward.

How do I get a statement for my Bitcoin wallet?

Export your wallet's extended public key or list its addresses, choose the period and the time zone of the cutoff, and generate the history from a tool that reads the blockchain. Never hand over a seed phrase or private key: a statement needs only public data. Check that the opening balance plus every net movement equals the closing balance before you send it anywhere.

Is a Bitcoin wallet statement accepted as proof of funds?

Often, but it depends on the lender, and a statement alone proves less than it looks. It shows that coins sat at certain addresses at a certain block. It does not show that the applicant controls those addresses. Lenders that accept crypto assets usually want the statement plus a signed message from the address, or a statement from a regulated custodian. Ask the underwriter which they need before you buy anything. A signed message is harder than it sounds for modern wallets, because Bitcoin Core only verifies legacy addresses, and our crypto proof of funds verification guide covers the test transaction and seasoning checks that fill the gap.

Can I use a Bitcoin wallet statement for taxes?

Partly. A statement gives you the dates, amounts and transaction IDs, which is the raw material. US tax reporting on Form 8949 also needs cost basis and proceeds per disposal, and since 2025 the IRS expects basis tracked per wallet. A statement does not calculate that. It feeds the tool or accountant that does, which is the job our crypto tax API page describes. When the holder has died, the statement has to stop at the last block before death instead of a quarter end, which our guide to crypto date of death valuation walks through with a measured example.

How do you build Bitcoin wallet statements from an API?

Four calls cover it. GET /v1/xpub/{xpub} derives the wallet's addresses and returns the combined balance, and says so if the scan stopped early. GET /v1/address/{addr}/txs returns each address's transactions with block heights and fees. The opening and closing balance at a named block is one SQL query over the outputs and inputs tables, available from the Growth plan, and the Bitcoin address balance history API page shows the query. For a large client book, the Scale plan exports the rows as CSV. The Developer plan keeps one year of history, which covers a current-year statement but not a multi-year lookback.

Run the reconciliation line on every statement you produce. When the transactions and the two balances tie to the satoshi, the statement defends itself, and when they do not, you have found the missing address before the client's lender or auditor does.

Query the Bitcoin blockchain yourself

Pull balances, UTXOs, transactions, on-chain metrics and fund flows from the Bitcoin blockchain by REST API, SQL and dashboards. Address history since 2009, new blocks within seconds, no node to run.

Keep reading

More from the BitcoinDatabase blog

Buyer guides

Crypto Proof of Funds Verification Tools for Escrow and Lenders

Crypto proof of funds has to show the balance at a named block, control of the address and how long the coins have sat there. On 30 September 2026, 96% of the bitcoin value created in blocks 969,294 to 969,296 went to address types Bitcoin Core's verifymessage cannot check, and one exchange wallet moved 28,702 BTC gross in 20 hours behind a 564 BTC net change.

Read
Buyer guides

Best Bitcoin API for Crypto Tax Software and Cost Basis

Crypto tax software needs the USD value of every transaction at the moment it confirmed, and the Bitcoin chain does not contain it. On 8 September 2026 we asked four public Bitcoin transaction APIs for the same confirmed transaction. All four returned HTTP 200 and not one carried a USD amount, a price, or any fiat field. Cost basis is a join, not a lookup. We cover where that join belongs, the block timestamp traps that corrupt it silently, what wallet-by-wallet tracking under Rev. Proc. 2024-28 means for your data model, and the five questions to ask a Bitcoin data vendor before you sign.

Read
Buyer guides

Crypto KYT Software for Exchanges and Money Transmitters

Crypto KYT software screens every deposit and withdrawal before you credit or sign. On 8 October 2026 the 531 valid Bitcoin addresses on the OFAC SDN list held 9,305.64 BTC, while 650 unlisted addresses paid straight from them held 42,992.34 BTC, so a list check alone misses most of the exposure.

Read
Buyer guides

Bitcoin Balance History API Providers for Auditors

A Bitcoin balance history API fit for audit work returns integer satoshis at a named block for every address type. On 29 September 2026 BlockCypher matched our independent trace to the satoshi at block 900,000, Esplora ignored its height parameter, and Santiment refused P2WSH and Taproot wallets holding 226,942 BTC.

Read

Query the whole Bitcoin blockchain

BitcoinDatabase indexes the public Bitcoin blockchain block by block and returns balances, UTXOs, transactions, on-chain metrics and fund flows by REST API, SQL and dashboards, with no node to run.

REST + SQL + dashboards · address history since 2009 · new blocks within seconds

Informational on-chain data only · not financial, investment or legal advice · AML features are compliance tooling to support your own review.