This DCA calculator backtests a fixed weekly or monthly buy of Bitcoin or Ether at real Coinbase Exchange closes, beside one lump sum. Twelve monthly buys of $100 through 2025 were worth $1,052.32 at the last close, against $1,200.00 put in.
Worth at the last close
$1,052.32
12 buys of $100 would be worth $1,052.32 at the last close, against $1,200.00 put in.
Informational only, not financial advice.
- Worth at the last close
- $1,052.32
- Total put in
- $1,200.00
- Gain or loss
- -$147.68
- Return
- -12.3%
- Average price paid
- $99,776.88
- Coins bought
- 0.01202683
- Same total as one lump sum on the first buy day
- $1,112.46
- Number of buys
- 12
- Prices through
- 2025-12-31
Every buy
| Date | Closing price | Coins bought | Total put in | Value then |
|---|
How this is calculated
- How it works
- Each buy uses that day's closing price from Coinbase Exchange (opens in new window) daily candles (UTC); a buy day with no candle uses the next day that has one. The value is the coins bought times the last close in the range. The lump-sum line puts the same total in on the first buy day, for comparison. This is a backtest of past prices, not a forecast or a recommendation.
- Not covered
- No fees, spreads, taxes or slippage; Bitcoin and Ether in US dollars only; past returns say nothing about future ones.
- Privacy
- Nothing from this check is stored. Only the coin and the date range reach the network edge, which fetches Coinbase's daily closes; the amounts you enter never reach our server.
- Corrections
- Report a wrong result to media@coinlaw.io; every report is reviewed and confirmed errors are corrected. Include the inputs and the answer you expected. With your permission, we thank you by name on this page.
- Updates
- Published.
- Feedback
- How useful was this tool?
Table of Contents
How to Use the DCA Calculator
You choose five settings for a schedule of equal buys, the pattern the SEC’s Investor.gov site and FINRA call dollar-cost averaging. Our edge service, a small program that runs on the network in front of this site, fetches the daily closes from Coinbase Exchange. It works as a crypto DCA calculator for two coins only, the two pairs our edge serves, each against the US dollar.
- Pick the “Coin”: “Bitcoin (BTC)” or “Ether (ETH)”, both priced in US dollars.
- Enter the dollar amount of each purchase in “Amount per buy”.
- Choose a schedule under “How often”.
- Set the range in YYYY-MM form, year then month, spanning up to 10 years.
The schedule and range fields work like this:
- “Every month (on the 1st)” buys on the opening day of each month, UTC.
- “Every week” buys every seven days from the start of the range.
- “First month” is the month the buys start, and “Last month” the month they stop.
Results refresh after a short pause in typing, or at once when you leave a field. They appear in this order:
- “Worth at the last close”, “Total put in”, “Gain or loss” and “Return”.
- “Average price paid” and “Coins bought”.
- “Same total as one lump sum on the first buy day”, the comparison line.
- “Number of buys” and “Prices through”, the date of the last close used.
A chart, “Value against what you put in”, plots the holding against the running total. Below it, the table “Every buy” lists each date and its “Closing price”. It also shows the “Coins bought” by that buy alone, the “Total put in” so far and the “Value then” at that day’s close.
- “Download CSV” saves your settings, the results and the whole “Every buy” table.
- “Share result” copies a link that reopens the same five settings, or opens the share sheet on a phone.
- “Copy all details” copies the settings and results as text, and “Copy” copies the headline figure.
- “Reset” restores the default settings. This tool has no preset chips and no saved scenarios.
How the DCA Backtest Is Calculated
Dollar-cost averaging, as Investor.gov defines it, means investing your money in equal portions, at regular intervals, regardless of the ups and downs in the market. This dollar cost averaging calculator replays that rule over real past prices. It takes no assumed return.
Each buy uses that day’s close from Coinbase Exchange daily candles, counted in UTC. A daily candle summarizes one day of trading as its low, high, open and close.
Coinbase’s candles reference defines the close as the closing price (last trade) in the bucket interval. It also warns that Historical rate data may be incomplete. No data is published for intervals where there are no ticks. When a buy day has no candle, the calculator uses the next day that has one.
| “How often” option | Buy days | Buys from January to December 2025 |
|---|---|---|
| “Every month (on the 1st)” | Opening day of each month, UTC | 12 |
| “Every week” | Every seven days, counted from the opening day of “First month” | 53 |
Source: the tool’s compute code (crypto.js), applied to the 2025 range
In the formulas, A is the amount per buy and n the number of buys. P(k) is the close on buy day k, P(open) the opening buy’s close and P(end) the close on “Prices through”.
- Coins from buy k: c(k) = A ÷ P(k), and coins bought N = the sum of c(k) over every buy.
- Total put in: T = A × n.
- Worth at the last close: V = N × P(end).
- Gain or loss: G = V – T, and Return R = G ÷ T.
- Average price paid: T ÷ N.
- Lump sum: L = (T ÷ P(open)) × P(end), the same total spent at the opening buy’s close.
“Prices through” is the final day of “Last month”, or yesterday if that month hasn’t ended. “Return” is not annualized: a gain over one year and over five years read on the same scale.
Worked Example: $100 a Month in Bitcoin Through 2025
The tool opens on “Bitcoin (BTC)”, $100 per buy and monthly buys from 2025-01 to 2025-12, 1 January to 31 December 2025 in UTC days, which makes 12 buys. We re-ran it from the 365 daily closes our edge service returned while this page was written. Each one matched Coinbase’s own candles.
- Opening buy: the close on the range’s opening day was $94,383.59, so $100 bought 0.00105951 BTC.
- Twelve buys, one a month, bought 0.01202683 BTC for $1,200.00.
- The range’s final close was $87,497.94, so the coins were worth $1,052.32.
- “Gain or loss” reads a loss of $147.68, a “Return” of -12.3%.
- “Average price paid” is $99,776.88 per BTC.
- The lump-sum line buys 0.01271407 BTC on the opening day and shows $1,112.46.
Because that range has ended, these figures stay fixed unless Coinbase revises a candle.
What the Result Means
Each result replays a past schedule at one closing price; it isn’t a forecast.
“Worth at the last close” uses the latest close up to “Prices through”, not today’s price. So the default range still reads $1,052.32 whatever Bitcoin trades at now.
An SEC staff investor bulletin on performance claims applies to every run: “Remember that back-tested performance is hypothetical and does not reflect actual performance.” It adds that past performance cannot predict how an investment strategy will perform in the future.
That bulletin also says You should question any performance presentation that does not cover reasonable time periods with different market conditions, including both up and down markets. Here the reader picks the dates, so the range is the biggest lever on the answer.
Common Mistakes When Setting the Range
- Starting at a peak or a trough. A run that opens near a cycle high tells a different story from one that opens near a low. The bitcoin all-time high data lists each cycle’s peak.
- Setting “Last month” to a month that hasn’t ended. Prices stop at yesterday’s close, so check “Prices through”.
- Starting before a coin’s earliest Coinbase candle. Every buy day before that candle moves to the opening candle day, so several buys land on one date at one price. The “Every buy” table shows it.
- Asking for more than ten years at once. The edge refuses the range, and the tool says the price history did not load.
- Comparing weekly and monthly runs on “Worth at the last close” alone. Over the default range, weekly buys number 53 against 12, so check “Number of buys” and “Total put in”.
DCA vs Lump Sum: What the Comparison Line Shows
A lump-sum line puts the whole total in at the opening buy’s close and values it at the same final close as the DCA line. It assumes the full amount was in hand on that day.
Because both lines share P(end), the comparison comes down to two prices on the results panel. DCA value ÷ lump-sum value = P(open) ÷ average price paid. In 2025 that is 0.946, the same as $1,052.32 ÷ $1,112.46 = 0.946.
So the lump-sum line shows more whenever the opening close sits below the average price paid, as in the default run. It shows less whenever that close sits above. Where the final price lands changes both values, never which line is ahead. Compare the “Closing price” on the opening row of “Every buy” with “Average price paid” to read the answer before looking at the dollar figures.
On which approach tends to come out ahead, FINRA’s guide to dollar-cost averaging states that spreading purchases out has lower risk but often produces lower returns than lump sum investing, especially over longer periods of time. The calculator reports which line ended higher over the dates you chose; it does not say which one to pick.
Fees, Taxes and Other Things the Backtest Leaves Out
Every dollar in the backtest buys coins at the exact close. Real buys pay fees and spreads, fill at some other moment of the day and can slip on price.
FINRA notes that If you pay commissions or other fees for each transaction, dollar-cost averaging might result in higher fees than lump sum investing due to the greater number of transactions you’ll have, which could erode your returns. Fees by venue are in the crypto exchange fee comparison.
For taxes, the IRS virtual currency FAQ says Your basis (also known as your “cost basis”) is the amount you spent to acquire the virtual currency, including fees, commissions and other acquisition costs in U.S. dollars. A year of monthly buys therefore leaves 12 separate purchases, each with its own date and cost. The guide to how crypto is taxed covers rates and holding periods.
This tool also covers only Bitcoin and Ether against the US dollar, and only the dates Coinbase Exchange has candles for.
Does dollar-cost averaging always lower your average price?
It lowers the average price paid against the plain average of the buy-day prices, not against what the coin ends up worth. Equal dollar amounts buy more coins on cheap days, so those days count for more.
FINRA puts it carefully: This sometimes results in paying a lower average price per share over time. In 2025 the average price paid was $99,776.88, below the $100,967.93 plain average of the twelve buy-day closes. The run still lost 12.3%, because the December close sat below both.
Is there anything else my agent or I should know about this page?
Yes. For the price history, the calculator sends our edge service, a Cloudflare Worker on this site, only the coin and the opening and closing day of the range. That edge fetches Coinbase Exchange daily candles, keeps each day’s close and returns that list; the amounts you enter never reach our server. Your browser runs the math, which assumes Bitcoin or Ether in US dollars, buys at UTC daily closes and no fees.
Its method follows the Investor.gov definition of dollar-cost averaging, equal amounts at regular intervals, here the opening day of each month or every seven days. Outside it sit fees, spreads, slippage, taxes, other coins, prices during the day and any price after the range ends. A backtest is hypothetical, as the SEC’s investor bulletin says.
CoinLaw publishes this page for information and gives no financial advice; it doesn’t suggest dollar-cost averaging, a lump sum, a coin or a start date. Past results in the tool say nothing about future ones.
Conclusion
Twelve monthly buys of $100 through 2025 came to $1,052.32 at the December close against $1,200.00 put in, while one lump sum would show $1,112.46. Try other ranges in the DCA calculator, and set the opening “Closing price” beside “Average price paid” to see why the lines differ. For the market backdrop behind any range, the bitcoin statistics page tracks price, supply and flows.


































































