skills/troves/SKILL.md
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.
npx skillsauth add ahmetenesdur/starkfi trovesInstall 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.
Manage Troves yield vault strategies on Starknet: browse curated vault strategies, deposit tokens to earn yield, and withdraw from positions. Strategies range from single-asset vaults to dual-asset LP positions (e.g. Ekubo CL pools).
npx starkfi@latest troves-list to discover available strategies and their current APY, TVL, and risk factors.balance to confirm the user has enough of the required deposit token(s).troves-position to check the user's current vault positions before withdrawing.riskFactor (1.0 = low, 5.0 = high) and isAudited status before depositing.--simulate first for large deposits to verify the transaction would succeed.tx-status.Active. Warn if a strategy is Paused or Deprecated.STRK, ETH), you MUST provide --amount2 and --token2 flags in addition to the primary amount and token. Omitting these will produce a descriptive validation error explaining exactly which parameters are missing.# List all available strategies
npx starkfi@latest troves-list [--json]
# Check current vault positions
npx starkfi@latest troves-position <strategy-id> [--json]
# Deposit into a strategy (single-asset)
npx starkfi@latest troves-deposit <amount> <strategy-id> [--token <symbol>] [--simulate] [--json]
# Deposit into a strategy (dual-asset)
npx starkfi@latest troves-deposit <amount> <strategy-id> -t <symbol> --amount2 <value> --token2 <symbol2> [--simulate] [--json]
# Withdraw from a strategy
npx starkfi@latest troves-withdraw <amount> <strategy-id> [--token <symbol>] [--amount2 <value>] [--token2 <symbol2>] [--simulate] [--json]
| Parameter | Type | Description | Required |
| ------------ | ------ | ------------------------------------------------------- | -------- |
| amount | number | Amount to deposit or withdraw (positional) | Yes |
| strategy-id| string | Strategy ID (positional, e.g. evergreen_strk) | Yes |
| --token | string | Token symbol (default: STRK) | No |
| --amount2 | string | Second token amount for dual-asset strategies | Dual-asset only |
| --token2 | string | Second token symbol for dual-asset strategies | Dual-asset only |
| --simulate | flag | Estimate fees without broadcasting | No |
| --json | flag | Output as JSON | No |
Strategies with one deposit token (e.g. evergreen_strk, hyper_xstrk). Only --token and amount are needed.
Strategies with two deposit tokens (e.g. ekubo_cl_strketh, ekubo_cl_strkusdc_v2). Both token amounts are required via --amount2 and --token2 flags. Check depositTokens in troves-list output to identify these.
Each strategy has the following properties:
| Property | Description |
| --------------- | ---------------------------------- |
| id | Unique strategy identifier |
| name | Human-readable strategy name |
| apy | Current annual percentage yield |
| tvlUsd | Total value locked in USD |
| depositTokens | Accepted deposit tokens |
| riskFactor | Risk rating (1.0 = low, 5.0 = high) |
| isAudited | Whether the strategy is audited |
| status | Active, Paused, or Deprecated |
User: "What yield vault strategies are available?"
npx starkfi@latest troves-list
User: "Deposit 500 STRK into Evergreen vault"
npx starkfi@latest status
npx starkfi@latest balance --token STRK
npx starkfi@latest troves-list # Verify strategy exists and is Active
npx starkfi@latest troves-deposit 500 evergreen_strk --simulate
npx starkfi@latest troves-deposit 500 evergreen_strk
npx starkfi@latest tx-status <hash>
User: "Deposit into Ekubo STRK/ETH pool" (dual-asset)
npx starkfi@latest troves-list --json # Check depositTokens for ekubo_cl_strketh
npx starkfi@latest balance --token STRK
npx starkfi@latest balance --token ETH
npx starkfi@latest troves-deposit 100 ekubo_cl_strketh -t STRK --amount2 0.005 --token2 ETH --simulate
npx starkfi@latest troves-deposit 100 ekubo_cl_strketh -t STRK --amount2 0.005 --token2 ETH
npx starkfi@latest tx-status <hash>
User: "Show me my vault positions"
npx starkfi@latest troves-position evergreen_strk
User: "Withdraw 200 STRK from Evergreen"
npx starkfi@latest troves-position evergreen_strk # Check available balance
npx starkfi@latest troves-withdraw 200 evergreen_strk --simulate
npx starkfi@latest troves-withdraw 200 evergreen_strk
npx starkfi@latest tx-status <hash>
User: "Find the highest APY vault for STRK"
npx starkfi@latest troves-list --json
# Parse and present strategies sorted by APY, filtered by STRK deposit token
| Error | Action |
| ----------------------------------- | -------------------------------------------------------------- |
| Strategy not found | Run troves-list to find valid strategy IDs. |
| Strategy paused | Strategy is not accepting deposits. Choose another one. |
| Insufficient balance | Check balance for the required deposit token(s). |
| Simulation failed | Transaction would revert. Check amount, strategy, and gas. |
| Not authenticated | Run authenticate-wallet skill first. |
| dual-asset strategy ... must provide | Strategy requires two token amounts. Add --amount2 and --token2. |
| does not accept <token> | Use a token from the strategy's depositTokens list. |
balance to verify available tokens before depositing.portfolio for a full overview including vault positions with USD values.batch to combine vault deposits with swaps or staking in one transaction.lst for liquid staking (different yield mechanism — share price appreciation).staking for delegation staking (validator-based yield).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.
testing
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.
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".