A crypto DCA calculator can show more than how much an investment is worth today. By recording each recurring purchase in the asset and fiat currency used, you can estimate your weighted average purchase price, include trading fees, compare performance across USD, EUR, and GBP, and keep a clearer record for future tax or portfolio reviews. This guide provides the formulas, inputs, worksheet, and workflow needed to track Bitcoin, Ethereum, stablecoin, or other recurring crypto purchases consistently.
Overview
Dollar-cost averaging, or DCA, means investing a chosen amount at regular intervals rather than making one purchase at a single market price. The method can simplify recurring investing, but the resulting average cost is not always obvious. Every installment may use a different crypto exchange rate, fee structure, execution price, and fiat currency conversion.
Your average crypto purchase price is usually calculated using a weighted average, not by simply averaging the prices shown on each trade. The basic calculation is:
Weighted average cost per unit = total cost basis ÷ total crypto acquired
For a DCA portfolio, total cost should normally reflect the amount spent to acquire the asset, including purchase fees when those fees reduce the amount of fiat invested or form part of the acquisition cost under the record-keeping method you use. Because tax treatment varies by jurisdiction, treat the calculator as a planning and record-keeping aid rather than a substitute for local professional advice.
A useful crypto DCA calculator should separate three measurements:
- Acquisition cost: the fiat value assigned to each installment.
- Quantity received: the crypto units credited after execution and applicable fees.
- Current value: the quantity held multiplied by a selected current crypto-to-fiat rate.
The first two determine average cost. The third helps estimate unrealized performance and changes whenever the market rate moves.
How to estimate your average crypto purchase price
Start by choosing one reporting currency, such as USD, EUR, or GBP. Then convert every installment into that currency using a clearly documented rate and timestamp. Do not mix a USD purchase, a EUR purchase, and a GBP purchase in one total without first translating them into a common reference currency.
- Record the transaction date and time. Use the execution time shown by the exchange or wallet record where possible.
- Record the fiat amount. Enter the amount spent before or after fees, but apply the same convention to every row.
- Record the crypto quantity received. Use the credited quantity rather than the quoted order size if a fee was deducted in crypto.
- Record the trading fee separately. Note the fee currency and whether it reduced the fiat amount or the crypto received.
- Convert the installment to your chosen reporting currency. Keep the source and timestamp for the exchange rate.
- Sum the converted costs and quantities. Divide total cost by total quantity to obtain the weighted average cost.
For a single row, the implied purchase price is:
Installment price = converted total cost ÷ crypto quantity received
For multiple rows:
Average cost = (cost 1 + cost 2 + cost 3...) ÷ (quantity 1 + quantity 2 + quantity 3...)
To estimate current performance, select a current market rate from a consistent crypto-to-fiat converter. Then calculate:
Estimated current value = total quantity held × current reference rate
Unrealized gain or loss = estimated current value − total recorded cost
These figures are estimates. They do not necessarily equal the amount you would receive after a sale because spreads, withdrawal charges, network fees, slippage, and off-ramp costs may reduce the final payout.
Inputs and assumptions
Use the following worksheet for each recurring purchase. A spreadsheet is sufficient, although a dedicated crypto cost basis calculator can automate the totals.
| Date | Asset | Fiat spent | Rate to reporting currency | Cost in reporting currency | Crypto received | Fee | Source or note |
|---|---|---|---|---|---|---|---|
| YYYY-MM-DD | BTC, ETH, USDT, or other | Amount and currency | Documented conversion rate | Fiat amount × rate | Units after execution | Amount and currency | Exchange, wallet, or rate source |
Before calculating, decide how you will handle these assumptions:
- Fees: If a fee is paid in fiat, add it to the acquisition cost when appropriate to your records. If it is deducted from the crypto amount, record the smaller quantity actually received and keep the fee detail separately.
- Fiat conversion: Use one reporting currency for the portfolio. For example, convert EUR purchases to USD before combining them with USD purchases.
- Stablecoins: Do not automatically assume that a stablecoin equals exactly one unit of its target fiat. Record the execution rate and fees, especially when converting USDT or USDC into another fiat currency.
- Asset separation: Calculate BTC, ETH, and each other asset separately. Combining different cryptocurrencies would produce a figure with no meaningful per-unit interpretation.
- Transfers: Moving coins between your own wallets is generally a record transfer, not a new purchase. Preserve the original acquisition date, quantity, and cost information.
- Tax method: A weighted average is useful for portfolio analysis, but local tax rules may require a specific cost-basis method, such as identification of individual lots or a jurisdiction-specific pooling approach. Keep the transaction-level data needed for the applicable method.
Worked examples
Consider three simplified monthly purchases, all reported in USD. The figures below are illustrative rather than current market data.
| Asset | Purchase 1 | Purchase 2 | Purchase 3 | Total quantity | Total cost | Weighted average |
|---|---|---|---|---|---|---|
| BTC | $100 for 0.0018 BTC | $100 for 0.0016 BTC | $100 for 0.0014 BTC | 0.0048 BTC | $300 | $62,500 per BTC |
| ETH | $75 for 0.025 ETH | $75 for 0.022 ETH | $75 for 0.020 ETH | 0.067 ETH | $225 | $3,358.21 per ETH |
| USDC | $100 for 99.70 USDC | $100 for 99.60 USDC | $100 for 99.80 USDC | 299.10 USDC | $300 | $1.003 per USDC |
For BTC, the calculation is $300 ÷ 0.0048 = $62,500 per BTC. For ETH, it is $225 ÷ 0.067 = approximately $3,358.21 per ETH. The stablecoin example shows why the purchase price may differ slightly from the intended peg: execution prices and fees affect the number of units received.
To compare these positions with a live crypto rate, multiply each total quantity by the selected reference price. If your purchases were made in EUR or GBP, convert each installment before adding it to the total. A historical crypto price converter can help review the market value at a past date, while a rate-timestamp record helps explain why your worksheet differs from a later price lookup.
When to recalculate
Update the worksheet after every recurring purchase rather than waiting until the end of the year. This preserves the execution details while they are easy to locate and makes the next average-cost calculation automatic.
Recalculate or review the portfolio when:
- a new DCA installment settles;
- you pay a fee in a different currency or through a different exchange;
- you move assets between wallets and need to reconcile quantities;
- you change your reporting currency from USD to EUR or GBP;
- you sell, swap, spend, or transfer crypto in a way that may affect cost-basis records;
- you compare a live rate with a historical date or a specific transaction timestamp; or
- your jurisdiction or tax adviser requires a different cost-basis treatment.
For a practical monthly routine, export exchange records, add each new transaction to the worksheet, verify the fee currency, convert foreign-currency purchases using the documented rate, and save a dated copy. Then review total quantity, total cost, average cost, and estimated current value separately. This approach turns a Bitcoin DCA calculator, Ethereum tracker, or stablecoin conversion worksheet into a repeatable market-reference tool rather than a one-time estimate.
Before reporting gains or losses, compare your worksheet with the rules that apply where you live. A portfolio average can explain investment performance, but it may not be the exact tax result for every disposal. Keeping complete transaction-level records gives you the flexibility to apply the appropriate method later.