skills/dca/SKILL.md
Create, preview, list, and cancel recurring Dollar-Cost Averaging (DCA) buy orders on Starknet via AVNU or Ekubo. Use this skill when the user wants to set up automatic recurring purchases, dollar-cost average into a token, create a DCA order, schedule periodic buys, invest regularly, buy every day/week/month, or manage existing DCA orders. Also trigger when the user says "recurring buy", "scheduled purchase", "buy X of Y every day", or any variation about automated periodic investing — even if they don't use the term "DCA" explicitly.
npx skillsauth add ahmetenesdur/starkfi dcaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create recurring buy orders that automatically swap a fixed amount of one token into another at regular intervals. Supports AVNU and Ekubo DCA providers.
npx starkfi@latest status and npx starkfi@latest balance to verify connectivity and funds.dca-preview before dca-create to verify the expected output per cycle.--per-cycle flag is required for dca-create. It sets the amount sold each execution cycle.P1D (daily), PT12H (12 hours), P1W (weekly).--simulate first to verify the DCA order would succeed.npx starkfi@latest tx-status <hash>.npx starkfi@latest dca-preview <amount> <sell_token> <buy_token> [--provider <avnu|ekubo>] [--json]
npx starkfi@latest dca-create <total_amount> <sell_token> <buy_token> \
--per-cycle <amount> \
[--frequency <duration>] \
[--provider <avnu|ekubo>] \
[--simulate] [--json]
npx starkfi@latest dca-list [--status <ACTIVE|CLOSED|INDEXING>] [--provider <avnu|ekubo>] [--page <n>] [--json]
npx starkfi@latest dca-cancel <order_id_or_address> [--provider <avnu|ekubo>] [--json]
| Parameter | Type | Description | Required |
| ------------- | ------ | -------------------------------------------- | -------- |
| amount | string | Total sell amount (create) or per-cycle amount (preview) | Yes |
| sell_token | string | Token to sell (e.g. STRK, ETH) | Yes |
| buy_token | string | Token to buy (e.g. USDC, ETH) | Yes |
| order_id_or_address | string | The UUID OR on-chain contract address (0x...) from dca-list | Yes (cancel) |
| --per-cycle | string | Amount to sell per cycle | Yes (create) |
| --frequency | string | ISO 8601 duration (default: P1D=daily) | No |
| --provider | string | DCA provider: avnu (default) or ekubo | No |
| --status | string | Filter orders: ACTIVE, CLOSED, INDEXING | No (list) |
| --simulate | flag | Estimate fees without broadcasting | No |
| --json | flag | Output as JSON | No |
User: "Buy 10 USDC worth of ETH every day for 100 days"
npx starkfi@latest status
npx starkfi@latest balance
npx starkfi@latest dca-preview 10 USDC ETH
npx starkfi@latest dca-create 1000 USDC ETH --per-cycle 10 --frequency P1D --simulate
npx starkfi@latest dca-create 1000 USDC ETH --per-cycle 10 --frequency P1D
npx starkfi@latest tx-status <hash>
User: "DCA into STRK weekly with 50 USDC per week, total 200 USDC"
npx starkfi@latest status
npx starkfi@latest balance
npx starkfi@latest dca-preview 50 USDC STRK
npx starkfi@latest dca-create 200 USDC STRK --per-cycle 50 --frequency P1W
User: "Show my active DCA orders"
npx starkfi@latest dca-list --status ACTIVE --json
User: "Cancel my DCA order"
npx starkfi@latest dca-list --status ACTIVE
npx starkfi@latest dca-cancel <order_id_or_address>
npx starkfi@latest tx-status <hash>
| Error | Action |
| ---------------------- | ---------------------------------------------------------- |
| DCA_FAILED | Check the error message for details (balance, provider). |
| Insufficient balance | Check balance for the sell token. |
| Not authenticated | Run authenticate-wallet skill first. |
| Invalid frequency | Use ISO 8601 format: P1D, PT12H, P1W, P1M. |
trade for a one-time swap instead of recurring.batch to combine a DCA creation with other operations.portfolio to check your overall positions and balances.testing
Deposit and withdraw from Troves DeFi yield vault strategies on Starknet. View available strategies, check positions, and manage vault deposits. Use this skill when the user mentions Troves, vault, yield vault, DeFi vault, strategy, yield farming, vault deposit, vault withdraw, earning yield through vaults, passive yield strategies, or wants to deposit into or withdraw from a yield strategy — even if they don't say "Troves" explicitly.
testing
Liquid staking via Endur on Starknet — stake STRK to receive xSTRK, redeem xSTRK back to STRK, check positions, and view protocol stats. Yield is embedded in the xSTRK share price (no manual claim needed). Use this skill when the user mentions liquid staking, LST, xSTRK, Endur, liquid staking token, share price, instant staking, tradeable staking position, or wants a staking token they can trade or use in DeFi — even if they don't say "liquid staking" explicitly.
development
Manage confidential (private) transfers via Tongo Cash on Starknet — setup, fund, transfer, withdraw, ragequit, rollover using ZK proofs. Use this skill when the user wants to send tokens privately, hide transfer amounts, use zero-knowledge proofs, set up Tongo, fund or withdraw from a confidential account, perform an emergency exit (ragequit), or activate pending balance (rollover). Also trigger when the user says "send privately", "confidential transfer", "hide my transaction", "Tongo Cash", "ZK transfer", or any variation about privacy-preserving transfers — even if they don't use the word "confidential".
testing
Swap tokens on Starknet via Fibrous DEX aggregator. Supports per-provider selection (avnu, ekubo, or auto to race all). Use this skill when the user wants to swap, exchange, trade, convert, buy, or sell one token for another on Starknet. Also use when the user asks about token prices, exchange rates, DEX routing, best swap route, or wants to check how much they would receive for a given amount — even if they don't explicitly say "swap".