Bitcoin DCA and taxes: tax lots and cost basis
Dollar-cost averaging has one consequence almost nobody mentions when they recommend it. Every single purchase becomes its own tax lot: a parcel of Bitcoin with its own cost basis (what you paid for it) and its own holding clock. Buy weekly for three years and you are not holding "some Bitcoin". You are holding 156 separate parcels that an accountant has to be able to tell apart. This page explains the concepts so the paperwork stops being a surprise.
This is general educational information, not tax advice. Tax treatment of Bitcoin differs enormously between countries, changes over time, and depends on facts specific to you. Nothing here states a rate, a threshold, a filing requirement or a country's rules as fact, because we are not in a position to.
Everything below is framed as a concept. It is vocabulary and mechanics, meant to help you understand your own situation and have a shorter, cheaper conversation with someone qualified. Before you act on any of it, consult a tax professional licensed in your own jurisdiction.
What a tax lot is
A tax lot is a single purchase of an asset, recorded as three things: how much you bought, what it cost you, and when. That cost is the lot's cost basis, and it is usually the purchase price plus the fees you paid to acquire it.
The confusing part is that Bitcoin is fungible in every practical sense. The satoshis you bought in 2019 are indistinguishable from the ones you bought last Tuesday, and your wallet shows one balance. Accounting does not care. For tax purposes each purchase stays a separate parcel with its own history until you dispose of it. The parcels are only merged on paper if a rule in your jurisdiction says they should be. Some countries do use a pooled or averaged basis instead of individual lots, which is another reason local rules matter.
Each lot also carries its own holding period: the clock that starts on the day you acquired it. Many tax systems treat gains differently depending on how long the specific parcel was held. The clock belongs to the lot, not to your account. So a stack built by DCA holds lots at every possible stage of that clock at once.
Why DCA multiplies the paperwork
A lump-sum buyer creates one lot. A DCA buyer creates one per purchase, forever. The arithmetic is trivial and the result is not:
| Buying cadence | 1 year | 3 years | 5 years | 10 years |
|---|---|---|---|---|
| Daily | 365 | 1,095 | 1,825 | 3,650 |
| Weekly | 52 | 156 | 260 | 520 |
| Every two weeks | 26 | 78 | 130 | 260 |
| Monthly | 12 | 36 | 60 | 120 |
Purchases per year times years. Daily figures ignore leap days. Each purchase is one lot.
Weekly buying for three years is the headline case: 52 × 3 = 156 lots. One hundred and fifty-six acquisition dates, 156 cost bases, 156 independent holding clocks. If you ever sell, gift, spend, or swap even a fraction of that stack, something has to decide which of those 156 parcels the disposal came out of. That decision changes the number you report.
None of this makes DCA a bad idea. It gives DCA an administrative cost, and that cost is worth knowing about on day one. Setting up a folder and a spreadsheet takes ten minutes at the start. Leaving it until year four means reconstructing three exchanges' worth of history from memory.
What counts as a disposal
A disposal is the event that turns an unrealized paper gain into a realized one that the accounting has to deal with. Buying and holding generally does not do that; parting with the asset generally does. The concept most people get wrong is how many everyday actions count as parting with it. Depending on the jurisdiction, the list commonly includes:
- •Selling Bitcoin for fiat currency, meaning ordinary money like dollars or euros.
- •Trading Bitcoin for another crypto asset. That often counts as a disposal of the Bitcoin even though no cash changed hands.
- •Spending Bitcoin on goods or services. Buying a coffee can be a disposal of a fraction of a lot.
- •Gifting or donating, in some frameworks and not others.
Moving coins between wallets you control is usually a transfer rather than a disposal, because you have not given anything up. It is still the single most common place cost-basis records get destroyed. The receiving platform has no idea what those coins cost you, and if you did not keep the record yourself, nobody has it. Whether any of the above applies to you is a question for a professional where you live. The point here is only that "disposal" is broader than "sold for cash".
FIFO, LIFO, HIFO and specific identification
When you dispose of part of a stack made of many lots, something must decide which lots the disposal is matched against. These four names are just the answers to that question. They are accounting conventions, not tax strategies in themselves. Which of them you are permitted to use, and what you must document to use it, depends entirely on your jurisdiction.
- •FIFO (first in, first out). The oldest lots leave first. Simple and predictable. In a rising market it tends to match your cheapest coins against the sale, which means the largest gain but also the longest holding period.
- •LIFO (last in, first out). The newest lots leave first, so the coins you just bought are the ones considered sold. Not permitted everywhere.
- •HIFO (highest in, first out). The most expensive lots leave first, which minimizes the gain on that disposal. It is usually not a standalone method but a way of applying specific identification, with the documentation burden that implies.
- •Specific identification. You nominate exactly which lots the disposal came from. It is the most flexible approach and the most demanding. It generally requires contemporaneous records, meaning ones written at the time, identifying the specific units. That is why lot-level record-keeping is worth doing even if you never intend to use it.
The same sale, three answers
Round, made-up numbers chosen to make the arithmetic obvious. These are not market prices and not a recommendation of any method.
| Lot | Order acquired | Amount | Price paid | Cost basis |
|---|---|---|---|---|
| Lot A | Bought first (oldest) | 0.01 BTC | $20,000 | $200 |
| Lot B | Bought second | 0.01 BTC | $60,000 | $600 |
| Lot C | Bought third (newest) | 0.01 BTC | $40,000 | $400 |
Now you sell 0.01 BTC at $80,000, for proceeds of $800. One sale, one amount of Bitcoin, one price. The realized gain depends entirely on which lot the accounting says it came from:
| Method | Lot used | Basis | Realized gain |
|---|---|---|---|
| FIFOFirst in, first out | Lot A | $200 | $600 |
| LIFOLast in, first out | Lot C | $400 | $400 |
| HIFOHighest in, first out | Lot B | $600 | $200 |
- •FIFO: The oldest lot is used up first. Often the default when no other method is chosen or documented.
- •LIFO: The newest lot goes first. Whether it is permitted at all depends on your jurisdiction.
- •HIFO: The most expensive lot goes first, which minimizes the gain on this disposal. It is normally a specific-identification strategy rather than a method in its own right.
Notice the second-order effect. The highest-cost lot here happens to be the middle one by date, so HIFO does not reliably shorten or lengthen your holding period. That depends entirely on where your expensive buys happen to sit in time. Whether a shorter or longer holding period helps or hurts depends on how your jurisdiction treats them. And a smaller gain today is not automatically the better outcome. Which is, again, a question for a professional and not for a web page.
Record-keeping is the real burden
Choosing a method takes an afternoon. Being able to evidence it takes years of discipline, and that is the part DCA makes harder. A lump-sum buyer needs one receipt. A weekly buyer needs a complete, unbroken chain of hundreds of them, surviving every exchange they ever used.
The failure modes are boringly predictable:
- •The exchange shut down, or you closed the account, and the export went with it. Export your history on a schedule, not when you need it.
- •You withdrew to self-custody and the basis did not follow. The blockchain records the movement, not what you paid.
- •Fees were left out of the basis. Acquisition fees are commonly part of what a lot cost you; dropping them overstates gains on every one of your lots at once.
- •You bought in one currency and report in another. The value at the time of each acquisition is what matters; converting everything at today's exchange rate is a different, wrong number.
- •Small spends went unrecorded. Paying for something in Bitcoin is easy to forget and, in many frameworks, is a disposal like any other.
The practical version of all this is unglamorous. Keep a running ledger with one row per acquisition: date, amount of BTC, price, fee, total cost, and where it happened. Add one row per disposal, and back the whole thing up somewhere that is not the exchange. Do that from the first buy and the eventual conversation with a professional is short. Start it in year four and it is archaeology.
How this site's CSV export fits in
The calculator on the homepage can export its purchase-by-purchase breakdown as CSV. That is genuinely useful for seeing the lot structure of a schedule before you commit to it. Open the file and every simulated buy is a row, which is exactly the shape a lot ledger takes. The columns are:
| Column | What it holds |
|---|---|
| Date | The purchase date as yyyy-MM-dd, in UTC. |
| BTC Price | The simulated price for that day, to two decimal places, in your selected display currency. |
| Amount Invested | The amount put in on that date: the gross contribution, before any fee percentage is applied. |
| BTC Bought | The Bitcoin acquired by that single purchase, to eight decimal places. This is the size of the lot. |
| Cumulative Invested | Running total invested up to and including that row. |
| Cumulative BTC | Running total of Bitcoin held after that row. |
| Portfolio Value | Cumulative BTC valued at that row’s price. |
The currency columns are labeled with whichever display currency you have selected. The file is written with a UTF-8 byte-order mark so spreadsheets read the encoding correctly.
What the export is not:
- •It is a simulation of a hypothetical schedule, not a record of trades you actually made. Your real basis comes from your real exchange records.
- •There are no disposals in it. It only ever accumulates, so it cannot tell you a realized gain under any method.
- •There is no separate fee column. The fee percentage reduces the Bitcoin acquired rather than appearing as its own line, so the file does not show the fee component of a lot's cost.
- •Non-USD figures are converted at current exchange rates, not the rate on each historical date. That is fine for getting a feel for the numbers and wrong for anything resembling a tax record.
- •It is not a tax report, and this site does not produce one.
If you want to see the average cost of a set of purchases worked out rather than the lot structure, the Bitcoin cost basis calculator does that directly. It is the same caveat there: an average across purchases is a useful summary number, and it is not the same thing as the per-lot basis your accounting needs.
See the lots your schedule would create
Run a schedule in the calculator, open the purchase breakdown, and export it. Every row is one lot. It is the quickest way to understand what you are signing up to administratively before you set up a recurring buy.
Open the calculatorCommon questions
What is a tax lot in Bitcoin?
A tax lot is one purchase of Bitcoin, recorded three ways: how much you got, what you paid for it including fees, and the date. Bitcoin itself is fungible, so every satoshi looks like every other one. Accounting does not work that way. For accounting purposes each purchase stays a distinct parcel, with its own cost basis and its own acquisition date, until you dispose of it. This is general educational information and not tax advice; rules differ by country.
How many tax lots does dollar-cost averaging create?
One per purchase. Buying weekly for three years creates 52 x 3 = 156 lots. Buying daily for three years creates roughly 1,095. Each lot carries its own cost basis and its own holding-period clock. That is why DCA generates far more record-keeping than a single lump-sum purchase.
What is the difference between FIFO, LIFO and HIFO?
They are ordering rules that decide which lots a disposal is matched against. FIFO uses the oldest lots first, LIFO the newest first, and HIFO the highest-cost lots first. Each lot has a different cost basis, so the choice changes the realized gain or loss on the same sale. It also changes which acquisition dates are used, and that can change whether the gain counts as short-term or long-term. Which methods are permitted, and what documentation they require, varies by jurisdiction. Consult a qualified tax professional where you live.
Is moving Bitcoin to my own wallet a taxable disposal?
Moving coins between wallets you control is generally treated as a movement rather than a disposal in most frameworks, because you have not parted with the asset. But it is exactly the kind of question where local rules and your own circumstances matter. It is also the moment where lot records most often get lost: an exchange cannot see what coins cost you if they arrived from outside. Keep the records and ask a professional in your jurisdiction.
Does the Bitcoin DCA Calculator produce a tax report?
No. The calculator simulates a hypothetical purchase schedule and can export that simulation as CSV, one row per simulated buy: date, price, amount invested, BTC bought, and running totals. That shape is useful for seeing how lots accumulate. It is not a record of your actual trades, it does not track disposals, and it is not a tax report. Use your exchange records and, where appropriate, dedicated tax software or a professional.
Keep reading
- Bitcoin cost basis calculatorWork out the average cost of a set of purchases.
- The DCA calculatorBacktest a schedule and export the purchase-by-purchase breakdown.
- Self-custodyWhere withdrawals happen, and where basis records tend to go missing.
- MethodologyWhat the calculator models, and the fact that taxes are not among it.
Once more, plainly: this page is general educational information about accounting concepts. It is not tax advice, legal advice or financial advice. Tax rules for Bitcoin differ by country, differ by your personal circumstances, and change. Nothing here should be relied on for filing anything. Consult a qualified tax professional in your own jurisdiction before making decisions about cost-basis methods, disposals or reporting.
Not financial advice. Bitcoin is volatile and you can lose money. Past performance does not guarantee future results.