DCA Bot User Guide
What is Dollar-Cost Averaging (DCA)?
Dollar-cost averaging is an investment strategy where you invest a fixed amount of money into an asset at regular intervals, regardless of the current price. Instead of trying to time the market by buying at the "right" moment, you spread your purchases over time.
This approach reduces the impact of short-term price volatility on your overall investment. When prices are high, your fixed amount buys less of the asset. When prices are low, it buys more. Over time, this tends to produce a lower average cost per unit than attempting to buy at a single point.
Example: You decide to buy $100 of Bitcoin every week. In week one, BTC is at $60,000, so you receive 0.00167 BTC. In week two, BTC drops to $55,000, so your $100 buys 0.00182 BTC. In week three, BTC rises to $65,000, and you receive 0.00154 BTC. Your average cost across all three purchases is lower than if you had invested the full $300 when BTC was at $65,000.
How the DCA Bot Works
The BlockbotX DCA Bot automates the dollar-cost averaging process. You configure it once -- choosing the asset, amount, and frequency -- and the bot handles the rest. On each scheduled interval, the bot:
- Checks that the bot is active and within the configured date range.
- Verifies that the maximum total investment limit (if set) has not been reached.
- Fetches the current market price from your connected exchange.
- Calculates the quantity of the asset your investment amount will buy.
- Places a market order (buy) on the exchange.
- Records the trade and updates the running statistics (total invested, average cost basis, total quantity acquired).
The bot supports both paper trading (simulated trades for practice) and live trading (real orders on your exchange). Paper trades simulate a 0.1% trading fee to approximate real conditions.
Creating a DCA Bot
Follow these steps to create a new DCA bot:
-
Navigate to the DCA Bot page from the main menu.
-
Click the "Create New DCA Bot" button in the header, or go to the Settings tab.
-
Fill in the required configuration fields:
- Bot Name -- A descriptive name for this bot (e.g., "Weekly BTC Accumulator").
- Asset -- The cryptocurrency to buy. Supported assets:
- BTC (Bitcoin)
- ETH (Ethereum)
- SOL (Solana)
- BNB (Binance Coin)
- ADA (Cardano)
- XRP (Ripple)
- Exchange -- Which of your connected exchanges to use for purchases. The dropdown shows only exchanges you have connected in your account settings.
- Frequency -- How often the bot should purchase. See the frequency table below.
- Investment Amount (USD) -- How much to invest per purchase, in USD. Minimum $1, maximum $10,000 per purchase.
- Start Date -- When to begin purchasing. Defaults to the current date if left blank. Must be today or a future date.
-
Optionally configure advanced options:
- Auto-adjust Amount -- Automatically adjust the investment amount based on market conditions.
- Price Limits -- Only purchase when the asset price is within a specified range.
- Notifications -- Receive notifications for this bot's purchase activities.
- Auto-reinvest -- Automatically reinvest profits back into the strategy.
-
Click "Create Bot" to save and start the bot. If the auto-start setting is enabled, the bot begins immediately. Otherwise, you can start it manually from the Overview or My DCA Bots tab.
All required fields (marked with an asterisk) must be filled before the Create Bot button becomes active.
DCA Frequencies
| Frequency | Description |
|---|---|
| Hourly | Buys every hour (or every N hours if a custom interval is set) |
| Daily | Buys once per day (or every N days) |
| Weekly | Buys once per week (or every N weeks) |
| Bi-weekly | Buys once every two weeks |
| Monthly | Buys once per month (or every N months) |
| Custom | Define a custom interval using a combination of frequency and value |
The bot engine supports a frequencyValue parameter, so you can configure intervals like "every 2 days" or "every 3 weeks" for more granular control.
Dashboard Tabs
The DCA Bot dashboard is organized into four tabs.
Overview Tab
The Overview tab gives you a high-level view of your DCA activity:
- Performance Chart -- A line chart showing the performance of your DCA strategies over time. You can filter by time period: 24 hours, 7 days, 30 days, 90 days, 1 year, or all time.
- Recent Purchases Table -- Shows the most recent purchases across all bots, including the bot name, date, asset, price at purchase, amount invested, and value received.
- Active Bot Cards -- Each DCA bot appears as a card displaying:
- Bot name and asset
- Status badge (Active or Paused)
- Frequency, amount per purchase, and exchange
- Total invested, average buy price, profit/loss percentage, and next scheduled buy date
- Quick action buttons to view details, pause/resume, or edit
- Selected Bot Details -- Click any bot card to see its full configuration and performance metrics, including current price, profit/loss, and a detailed purchase history table.
My DCA Bots Tab
The My DCA Bots tab provides a complete list of all your DCA bots with filtering and sorting:
- Search -- Find bots by name or asset.
- Filter by Status -- Show all bots, only active, or only paused.
- Sort -- Order bots by date created, name, profit, or total invested.
Each bot card displays:
- Total invested and current profit
- Average buy price and ROI percentage
- Exchange, frequency, amount per purchase, next scheduled run, and total number of purchases
- Quick action buttons (Pause/Start and Edit) at the bottom
- A dropdown menu with additional actions: Pause/Start, Edit, Copy, and Delete
Purchase History Tab
The Purchase History tab shows a detailed record of every purchase executed across all your DCA bots:
- Summary Statistics -- Four cards at the top showing total purchases (with completed/failed breakdown), total invested, current value, and total profit/loss with percentage.
- Filters -- Search by bot name or asset, filter by specific bot, filter by status (completed, pending, failed), and sort by date, bot name, amount, or profit/loss.
- History Table -- A table with columns for date, bot name, asset, exchange, amount invested, price at purchase, current value, profit/loss, and status. Each row has a status badge (completed, pending, or failed).
- CSV Export -- Click the "Export CSV" button to download the filtered purchase history as a CSV file for your records or tax reporting.
Settings Tab
The Settings tab contains two sections: bot creation (when creating a new bot) and default configuration.
Default Bot Settings:
- Default exchange for new bots
- Default frequency for new bots
- Default investment amount (USD)
- Max daily spend limit (USD) -- a safety cap on total daily purchases
- Auto-start new bots -- when enabled, new bots start purchasing immediately after creation
Notification Settings:
- Email notifications for bot activities
- Push notifications on your device
- Telegram notifications via the Telegram bot integration
- Weekly performance summary emails
Security Settings:
- Trade confirmation -- require confirmation before the bot executes each trade
- Two-factor authentication -- enable 2FA for additional security on bot operations
You can also access the full settings modal by clicking the settings icon in the dashboard header. The modal includes a "Reset to Defaults" button that restores all settings to their default values (auto-start on, Binance exchange, daily frequency, $50 default amount, $500 max daily spend).
Managing DCA Bots
Pause a Bot
Click the Pause button on any active bot card (in the Overview or My DCA Bots tab) to temporarily stop purchases. The bot retains all its configuration and history. No purchases are executed while paused.
Resume a Bot
Click the Start or Activate button on any paused bot card to resume scheduled purchases. The next purchase is calculated based on the bot's frequency from the time it is reactivated.
Edit a Bot
Click the Edit button or select "Edit Bot" from the dropdown menu. The edit modal lets you change the bot's configuration, such as the investment amount, frequency, or other settings. Save your changes to apply them.
Copy a Bot
Select "Copy Bot" from the dropdown menu on any bot card. This duplicates the bot's configuration into a new bot, allowing you to quickly create a similar strategy for a different asset or with a slightly different amount.
Delete a Bot
Select "Delete Bot" from the dropdown menu. A confirmation dialog appears asking you to confirm deletion. Deleting a bot is permanent and cannot be undone. The bot's purchase history is retained for your records.
How the Bot Engine Executes Purchases
Understanding the engine internals can help you trust and troubleshoot the bot:
-
Scheduling -- The bot processor (
processDCABots) runs periodically and checks all active DCA bots. For each bot, it calculates whether the current time has passed the next scheduled execution time. -
Pre-execution checks -- Before buying, the engine verifies:
- The bot status is "active."
- The current date is past the configured start date.
- The current date has not passed the configured end date (if set).
- The total amount already invested has not reached the max total investment cap (if set).
-
Price lookup -- The bot fetches the current market price from your connected exchange.
-
Order placement -- For live trading, the bot places a market buy order using your exchange API. It uses
quoteOrderQty(the dollar amount you want to spend) rather than specifying a quantity, so you always spend exactly the amount you configured. For paper trading, the trade is simulated locally with a 0.1% fee estimate. -
Record keeping -- Every execution is logged as an
Executionrecord (with status pending, then success or error) and aTraderecord containing the symbol, price, quantity, fee, and total. -
Auto-stop conditions -- The bot automatically stops and sets its status to "inactive" if:
- The end date has passed.
- The max total investment amount has been reached.
DCA Strategy Tips
-
Best for long-term accumulation. DCA works well when you believe in an asset's long-term potential and want steady exposure without worrying about short-term price movements.
-
Effective in all market conditions. In a bull market, you accumulate an asset that continues to appreciate. In a bear market, your fixed investment buys more units at lower prices, lowering your average cost for the eventual recovery.
-
Higher frequency means smoother averaging, but more fees. Hourly or daily purchases produce a smoother average cost than weekly or monthly, but each purchase incurs a trading fee. Consider the trade-off based on your investment amount and the exchange's fee structure.
-
Set a total budget. Use the max total investment setting to cap how much the bot invests overall. This prevents the bot from spending more than you intend if you forget to pause it.
-
Use the max daily spend setting. This acts as a safety net, limiting how much all your DCA bots can spend in a single day.
-
Paper trade first. If you are new to DCA bots, start with paper trading to understand how the bot operates, how frequently purchases occur, and what the average cost looks like before committing real funds.
-
Common strategies:
- Weekly BTC purchases for long-term Bitcoin accumulation.
- Daily ETH purchases to build an Ethereum position steadily.
- Bi-weekly diversified purchases across BTC, ETH, and SOL.
-
Review your purchase history regularly. The Purchase History tab and CSV export make it easy to review your cost basis, track performance, and prepare for tax reporting.
Related Guides
- Trading Bots Overview
- Arbitrage Bot
- Signal Bot
- Settings -- Exchange connections