How do I calculate crypto cost basis without records?
Jul 23, 2026
Convert your bank statement to Excel now
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Uploading...
Last updated July 2026.
Short answer: you reconstruct it. The IRS expects you to establish cost basis with records, and if the exchange never had them, the burden falls on you. In practice that means pulling every statement you can still access, converting them into one spreadsheet, and rebuilding the purchase history lot by lot. If a lot cannot be substantiated at all, its basis is treated as zero, which means the entire sale price becomes gain.
Why so many people have this problem in 2026
Two rule changes collided. Brokers now file Form 1099-DA, and starting with tax year 2026 that form reports cost basis to the IRS rather than proceeds alone. At the same time, a broker can only report basis for assets bought and held on its own platform, and is not required to track basis for crypto purchased before January 1, 2026.
So a taxpayer who bought Bitcoin in 2018, moved it between wallets twice, and sold it recently gets a form showing a large number of dollars in proceeds with nothing behind it. The form is correct. The gap is real. And the IRS now has a machine readable figure to compare against whatever the return claims.
What counts as adequate records
There is no single approved document. What matters is that the record establishes the date, the quantity, the asset, and what was paid in US dollars. In descending order of how convincing they are:
| Record | Establishes | Strength |
|---|---|---|
| Exchange monthly statement | Date, asset, quantity, USD paid, fee | Strongest, it is the platform own document |
| Exchange CSV export | Same fields, self generated | Strong, easier to question |
| Bank statement showing the ACH to the exchange | Date and dollars leaving your account | Good corroboration, no asset detail |
| On chain transaction hash | Date, quantity, addresses | Proves the movement, not the price paid |
| Historical price lookup alone | A market price on a date | Weakest, an estimate rather than a record |
The combination is what carries weight. A bank statement showing 5,000 dollars leaving your checking account on a date, paired with an on chain receipt of coins arriving that same day, is a far more defensible reconstruction than either piece alone.
Step 1: pull every statement you can still get
Start with the exchanges. Most let you generate statements by date range for as long as the account is open. Coinbase, for example, produces statements under Settings, then Accounts, then Statements, in HTML, PDF, or CSV. Do this for every year you held the account, and do it now rather than later, because a closed or restricted account may lose the statement generator entirely.
Then pull the bank side. The ACH debits to the exchange are your independent proof that dollars actually left. Most US banks keep statement PDFs for around seven years even when the transaction download window is only 90 days, so the older purchases are usually still recoverable from the statement archive even though they are long gone from the activity search.
Step 2: get everything into one spreadsheet
This is the part people underestimate. Ten years of records arrive as a mix of PDFs, CSVs with different column names, and screenshots. None of it adds up until it shares one layout.
Convert the PDFs so they become rows rather than documents. Converting a Coinbase statement to Excel gives you date, transaction type, asset, quantity, spot price, USD amount, and fee as columns, and uploading a year of statements at once merges them into a single sheet. Do the same on the bank side with the bank statement converter, and for brokerage accounts use the brokerage statement to Excel converter. Once every source shares a column layout you can sort the whole history by asset and then by date, which is the only view that makes a lot schedule possible.
Keep a column naming the source file for every row. When a number gets challenged, tracing it back to a specific statement page is the difference between a documented position and an assertion.
Step 3: rebuild the lots
With the history sorted by asset and date, walk forward through it. Each purchase creates a lot: a quantity, a date, and a dollar basis that includes the transaction fee. Each sale consumes lots. The default accounting method is FIFO, meaning the oldest lot goes first, applied separately to each wallet or account.
Transfers are where reconstructions usually break. Moving coins between your own wallets is not a sale and creates no gain, but the lot has to travel with the coins. If you record a transfer as a disposal at one end and an acquisition at the other, you invent a gain that never happened and give the receiving wallet a basis equal to the market price rather than what you actually paid. Match every outbound transfer to its inbound counterpart before you calculate anything.
What is Revenue Procedure 2024-28?
It is the rule that ended universal basis tracking. Under Rev. Proc. 2024-28, each wallet or account is treated as its own independent ledger rather than pooling everything you own into one basis pot. It also provided a one time safe harbor: taxpayers had until January 1, 2025 to allocate unused basis from pre-existing holdings to specific wallets and accounts using any reasonable, documented allocation method, which protects that allocation from penalty.
If you made that allocation and wrote down the method, keep that documentation with the reconstruction, because it explains why each wallet starts where it does. If you did not, you are working under the general rules, which makes the per wallet reconstruction below more important rather than less.
What happens if a lot really cannot be substantiated?
The conservative treatment is a basis of zero, meaning the whole sale price is gain. That is unpleasant, but it is defensible and it is what an examiner will assume in the absence of records. A middle path used in practice is a reasonable, documented estimate: a historical market price on the acquisition date, corroborated by whatever partial evidence exists such as a bank transfer of a matching size on a matching day, with the method written down and applied consistently.
What is not defensible is a number with no stated basis and no supporting document. Whichever position you take, the reasoning has to be written down at the time, not reconstructed under examination.
The order that saves the most time
- List every wallet, exchange, and account ever used, including ones that are closed.
- Download statements for every period, for every account you can still access.
- Convert everything into one column layout, keeping a source file column.
- Match transfers in to transfers out so no false disposals remain.
- Sort by asset and date, build the lot schedule per wallet, and apply FIFO.
- Compare total proceeds to Form 1099-DA and document every difference.
- Flag the lots you could not substantiate, and write down the treatment you chose and why.
Do this before you need it
The single most expensive mistake is waiting. Exchange accounts get closed, platforms shut down, and support cannot always recover what was never retained. A statement PDF saved today converts into a usable spreadsheet a decade from now. An account you can no longer sign into is gone. If you have any position you plan to hold for years, download the purchase statements once and store them alongside the rest of your tax records.
The same logic applies to the other documents that support a return. Receipts, invoices, and closing statements are easier to keep as structured data than as a folder of scans, and running them through an document data extraction tool at the time turns them into something searchable rather than something you have to reread. Preparers doing this across a client base will also want the converter built for tax preparers, and anyone building the reconstruction for a dispute rather than a return should read forensic bank statement analysis. If the underlying question is how far back the records go at all, how far back you can get bank statements covers what each institution actually keeps.
Ready to convert your bank statement?
Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.
Convert to Excel nowFree to try, no credit card required