DCA Agent: Dollar-Cost Average Into Solana Tokens With Your AI
Your Moby Agent splits a USDC budget into equal buys over time, and you manage it from your phone.
A crypto DCA bot splits one budget into equal buys on a timer. Your Moby Agent does that for a Solana token: you set the USDC total, how many slices, and the gap, then you manage the schedule from your phone. The worked example is $100 of USDC into SOL over 10 days.
What DCA is
Dollar-cost averaging (DCA) means buying an asset in equal slices over time, instead of spending the budget in one purchase. Each slice is an equal part of the budget. The schedule spreads your entry over time. It does not choose a price, and it does not promise that the average price beats buying once.
On Moby, a DCA buys a token in equal slices over time. The budget is USDC.
How the DCA agent works
The agent places the schedule with the tools in the DCA section of agents.md. You run it from your phone with your agent key. Buys are Solana tokens, paid in USDC.
- Create the schedule.
create_orderwithdca_buyordca_sell. For a buy,amountis the total budget in USDC.order_countis the number of slices andinterval_secondsis the gap between them. Both are required. There is no price. - Leave the USDC in the wallet. The USDC for a DCA stays in the wallet and each slice is pulled when it runs, so the wallet has to hold the whole budget for the length of the cycle.
get_my_balancesshowsreserved_usdc, the part already promised to running DCAs and resting buy orders, andavailable_usdc, what is free to spend now. A new buy comes out ofavailable_usdconly. - Check progress.
get_my_dca_schedulesreturns the DCA rows on their own: progress (filled_order_count/order_count),next_order_atandremaining_input_amount.get_my_ordersreturnsdca_schedulesnext toorders. - Cancel the whole schedule.
cancel_orderwith theschedule_idcancels the whole schedule and frees the remainder. - Fit the caps. The full DCA amount is checked against Max per trade and counts toward Daily volume when you place it. A long DCA may need both raised in Settings. The daily-volume figure on
get_my_guardrails(daily_volume_reserved_usd) is cap accounting over a rolling 24 hours. It is separate fromreserved_usdc.
You set your agent's limits on max per trade, daily buy limit and market-cap range from the Moby app, and Moby checks them server-side on every buy your agent makes.
Set it up
You manage this from your phone. The worked example is $100 of USDC into SOL over 10 days: 10 slices, 1 day apart (order_count 10, interval_seconds 86400).
- Set up the agent. Set up a Moby Agent with its own wallet and your spending guardrails, then connect it with your agent key. You manage the schedule from your phone.
- Set guardrails. You set your agent's limits on max per trade, daily buy limit and market-cap range from the Moby app, and Moby checks them server-side on every buy your agent makes. The full DCA amount is checked against Max per trade and counts toward Daily volume when you place it, so a long DCA may need both raised in Settings.
- Fund the whole budget. The USDC for a DCA stays in the wallet and each slice is pulled when it runs, so the wallet has to hold the whole budget. For this example, hold $100 of USDC.
- Place the SOL schedule. Call create_order with dca_buy. amount is 100, the total USDC budget. order_count is 10 and interval_seconds is 86400. Both are required, and there is no price. That is $100 into SOL over 10 days: 10 slices, 1 day apart.
- Check progress or cancel. Check progress with get_my_dca_schedules. cancel_order with the schedule_id cancels the whole schedule and frees the rest.
Risks
A DCA spreads your entry over time. That is the whole idea. It is not a promise that you lose less than buying once, and it is not a promise of a better price.
- No price. The schedule does not wait for a target. Slices run on the gap you set, whether the price falls or rises.
- The full budget is checked up front. Max per trade and Daily volume see the whole amount when you place the schedule. A long DCA may need both raised in Settings.
- The wallet has to hold the budget. Each slice is pulled when it runs. The wallet has to hold the whole budget for the length of the cycle.
- Cancel frees the rest.
cancel_orderwith theschedule_idcancels the whole schedule and frees the remainder.
Trading crypto and tokenized stocks is risky and you can lose money. Nothing on this page is investment advice.
DCA vs limit orders vs copy trading
These are three different ways to buy. A DCA splits one USDC budget into equal slices on a timer, and it has no price. A limit buy is a resting order paid in USDC that fills only if the price reaches your target. Copy trading follows wallets you choose, checks each token, and buys inside your limits or asks you first.
| DCA | Limit order | Copy trading | |
|---|---|---|---|
| What you set | Total USDC budget, order_count, and interval_seconds. No price. | A USDC size and a target price. It fills only if the price reaches that target. | Wallets you choose. Each buy is checked against your limits, or the agent asks you first. |
| When it runs | On the gap you set, not when a price hits. | When the price reaches your target. | When you ask, or on the agent's schedule, after a wallet you follow trades. |
| Where to read it | This page, and the DCA section of agents.md | Agentic trading describes the resting limit buy. Connect your agent lists limit orders and DCA orders as different order types. | Copy trading agent. That page is Solana tokens only. |
A limit order waits for a price. Copy trading follows other wallets. A DCA does neither. The Strategies hub lists the other starter strategies.
Frequently asked questions
What is a crypto DCA bot?
A crypto DCA bot buys an asset in equal slices over time. Your Moby Agent splits a USDC budget into those slices, and you manage the schedule from your phone.
How do I DCA $100 into SOL over 10 days?
Call create_order with dca_buy. amount is 100, the total USDC budget. order_count is 10 and interval_seconds is 86400. Both are required, and there is no price. That is 10 slices, 1 day apart.
Does the USDC leave my wallet when the DCA starts?
No. The USDC stays in the wallet until each slice runs, so the wallet has to hold the whole budget for the length of the cycle.
How do I check or cancel a DCA?
get_my_dca_schedules shows progress as filled_order_count out of order_count, plus next_order_at and remaining_input_amount. cancel_order with the schedule_id cancels the whole schedule and frees the rest.
Does a DCA count against max per trade and daily volume?
Yes. The full DCA amount is checked against Max per trade and counts toward Daily volume when you place it. A long DCA may need both raised in Settings.
Does dollar-cost averaging reduce risk?
No. It spreads your entry over time. It does not promise a better result than one purchase, and trading can lose money.
Try it with a Moby Agent
Set up a Moby Agent with its own wallet and your spending guardrails, then connect it to the AI you use.
You set your agent's limits on max per trade, daily buy limit and market-cap range from the Moby app, and Moby checks them server-side on every buy your agent makes.
The schedule buys a Solana token and pays with USDC. You manage it from your phone with your agent key.
Connect it from Codex, Claude Code (CLI), Gemini CLI (with a paid Gemini API key or enterprise access) or Grok CLI, with your agent key.
Trading crypto and tokenized stocks is risky and you can lose money. Nothing on this page is investment advice.
Read Moby Agents for the setup, and agentic trading for how the agent sits next to trades you place yourself.