StarkFiStarkFi

DCA Commands

Dollar-Cost Averaging — create, preview, list, and cancel recurring buy orders

Prerequisite: All DCA commands require an active authenticated session. Run starkfi auth login first.

Typical Flow

1. starkfi dca-preview 10 USDC ETH     →  Preview one cycle
2. starkfi dca-create 1000 USDC ETH \
     --per-cycle 10 --frequency P1D    →  Create daily DCA order
3. starkfi dca-list --status ACTIVE    →  Monitor active orders
4. starkfi dca-cancel <order_id_or_address> → Cancel when done

dca-preview

Previews a single DCA cycle — estimates the swap output for one execution without creating an order.

starkfi dca-preview <amount> <sell> <buy> [flags]

Arguments:

ArgumentDescription
amountAmount to sell per cycle
sellToken to sell (e.g. USDC)
buyToken to buy (e.g. ETH)

Flags:

FlagDefaultDescription
--provider <name>avnuDCA provider: avnu or ekubo
--jsonfalseOutput raw JSON

Examples:

starkfi dca-preview 10 USDC ETH
starkfi dca-preview 50 USDC STRK --provider ekubo
starkfi dca-preview 100 DAI ETH --json

Tip: Always preview before creating a DCA order so you can review the expected output per cycle.


dca-create

Creates a recurring DCA order that automatically swaps a fixed amount at regular intervals.

starkfi dca-create <amount> <sell> <buy> --per-cycle <n> [flags]

Arguments:

ArgumentDescription
amountTotal amount to sell across all cycles
sellToken to sell (e.g. USDC)
buyToken to buy (e.g. ETH)

Flags:

FlagDefaultDescription
--per-cycle <amount>Amount sold per cycle (required)
--frequency <duration>P1DISO 8601 duration (e.g. PT12H, P1D, P1W)
--provider <name>avnuDCA provider: avnu or ekubo
--simulatefalseEstimate fees without executing
--jsonfalseOutput raw JSON

Examples:

starkfi dca-create 1000 USDC ETH --per-cycle 10 --frequency P1D       # Daily: 10 USDC/day for 100 days
starkfi dca-create 500 USDC STRK --per-cycle 50 --frequency P1W       # Weekly: 50 USDC/week for 10 weeks
starkfi dca-create 100 DAI ETH --per-cycle 10 --simulate              # Preview fees first

Frequency Examples:

  • PT12H — every 12 hours
  • P1D — daily (default)
  • P1W — weekly
  • P1M — monthly

dca-list

Lists your DCA orders with optional filtering by status and provider.

starkfi dca-list [flags]

Flags:

FlagDefaultDescription
--status <status>Filter: ACTIVE, CLOSED, or INDEXING
--provider <name>Filter by provider: avnu or ekubo
--page <number>0Page number for pagination
--jsonfalseOutput raw JSON

Examples:

starkfi dca-list                          # All orders
starkfi dca-list --status ACTIVE          # Active orders only
starkfi dca-list --provider ekubo --json  # Ekubo orders as JSON

dca-cancel

Cancels an active DCA order using its ID (UUID) or its on-chain contract address (0x...).

starkfi dca-cancel <order_id_or_address> [flags]

Arguments:

ArgumentDescription
order_id_or_addressDCA order UUID from dca-list or on-chain contract address (0x...)

Flags:

FlagDefaultDescription
--provider <name>DCA provider: avnu or ekubo
--jsonfalseOutput raw JSON

Examples:

starkfi dca-cancel 1fd90ab7-34bf-42b8-afa0-011daf6f15ba  # Using UUID
starkfi dca-cancel 0x123...                              # Using address
starkfi dca-cancel 0x123... --provider ekubo

Providers

DCA uses third-party providers to execute recurring orders on-chain:

ProviderDescription
avnuAVNU DCA — default provider, wide token coverage
ekuboEkubo DCA — concentrated liquidity-based execution

Use --provider on any DCA command to select a specific provider. Defaults to avnu.


MCP equivalent: DCA Toolsdca_preview, dca_create, dca_list, dca_cancel

Edit on GitHub

Last updated on

On this page