Skip to main content
Feature · DCA Orders

Dollar-cost
your conviction.

Set total size, slice count, interval, and an optional USD price band. MoonHydra fans the fills out across hours or days, skipping slices that fall outside your band. Works for both accumulation (slow BUY into a position) and laddering out (slow SELL into a pump). One command, no chart-watching.

How a DCA actually runs.

Step 1

You configure

Direction (BUY / SELL), token mint, total slices, interval seconds, end timestamp. BUY uses sliceAmountSol; SELL uses sliceAmountPct of holdings. Optional min/max USD band attaches a guard rail.

Step 2

The worker fires

DCA executor scans every tick for orders whose nextExecuteAt ≤ now. Fetches the current USD price; if a band is set and the price is out-of-range, the slice is skipped (interval rolls forward, no SOL spent).

Step 3

Swap + record

Jupiter quote → executeBuy/executeSell on your active Hydra Head. Trade recorded with source: DCA so /history can filter it cleanly. Position upserts on every BUY slice; closes the position on a SELL that brings the balance to zero.

Step 4

Lifecycle terminates

executedSlices == totalSlices → status COMPLETED. endsAt passes before all slices fill → status EXPIRED. User cancels mid-flight → status CANCELED, partial fills preserved as a real on-chain position you can sell anytime.

When to use DCA vs limit vs TP/SL.

🪜 DCA — slow conviction

\"I want to put X SOL into this token over the next 24 hours\" or \"I want to ladder out of this position over the next week.\" Use when you have a directional view but no edge on the exact local high/low.

🎯 Limit — specific price

\"BUY 0.1 SOL of $X when price hits $0.0001.\" One-shot, fires the moment the trigger crosses, then the order is done. Use when you have a specific entry/exit price in mind.

🟢 TP/SL — defend a position

Attached to an existing position. Sells a configurable percentage when price moves +X% (take profit) or -Y% (stop loss). Use to define exit before emotion gets a vote.

Set it, then close Telegram.

DCA fans your fills out across time so you can stop staring at charts.

Open in Telegram