skills/lending/SKILL.md
Manage Vesu V2 lending positions on Starknet — supply assets, borrow against collateral, repay debt, withdraw, close positions, monitor health factors, and auto-rebalance risky positions. Use this skill when the user mentions lending, borrowing, supplying collateral, Vesu, earn interest, health factor, liquidation risk, monitoring positions, auto-rebalancing, protecting against liquidation, "my position is risky", "health factor low", or DeFi yield from lending protocols — even if they don't say "lending" explicitly.
npx skillsauth add ahmetenesdur/starkfi lendingInstall 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 lending and borrowing positions on Vesu V2 protocol on Starknet. Supply assets to earn yield, borrow against collateral, repay debt, monitor health factors, auto-rebalance risky positions, and close positions.
npx starkfi@latest lend-pools to discover available pools and tokens. Use lend-pools <name> for detailed pool info including APY rates.Prime, Genesis) or by contract address (0x...).npx starkfi@latest lend-status to check existing positions, or with --pool and --collateral-token for Health Factor:
tx-status.--use-supplied, the borrow is backed by the user's existing earn positions (supplied positions) rather than transferring from wallet.lend-monitor first for a comprehensive overview with 4-level risk classification (SAFE/WARNING/DANGER/CRITICAL).lend-auto to automatically rebalance. Always use --simulate first to preview the action before executing.# List all pools (overview table)
npx starkfi@latest lend-pools [--json]
# Detailed pool info with APY rates
npx starkfi@latest lend-pools <name> [--json]
# View all lending positions (auto-scan)
npx starkfi@latest lend-status
# View specific position status
npx starkfi@latest lend-status --pool <name|address> --collateral-token <symbol> [--borrow-token <symbol>]
# Supply (deposit assets to earn yield)
npx starkfi@latest lend-supply <amount> --pool <name|address> --token <symbol> [--simulate]
# Withdraw (remove supplied assets)
npx starkfi@latest lend-withdraw <amount> --pool <name|address> --token <symbol> [--simulate]
# Borrow (provide collateral and take loan)
npx starkfi@latest lend-borrow \
--pool <name|address> \
--collateral-amount <n> --collateral-token <symbol> \
--borrow-amount <n> --borrow-token <symbol> \
[--use-supplied] [--simulate]
# Repay (pay back borrowed amount)
npx starkfi@latest lend-repay <amount> --pool <name|address> --token <symbol> --collateral-token <symbol> [--simulate]
# Atomically repay all debt and withdraw all collateral
npx starkfi@latest lend-close --pool <name|address> --collateral-token <symbol> --borrow-token <symbol> [--simulate]
# Scan all positions across all pools
npx starkfi@latest lend-monitor [--json]
# Monitor specific position
npx starkfi@latest lend-monitor --pool <name|address> --collateral-token <symbol> --borrow-token <symbol>
# Custom warning threshold
npx starkfi@latest lend-monitor --warning-threshold 1.5
# Auto-rebalance (picks best strategy — repay or add collateral)
npx starkfi@latest lend-auto --pool <name|address> --collateral-token <symbol> --borrow-token <symbol>
# With specific strategy
npx starkfi@latest lend-auto --pool <name|address> --collateral-token <symbol> --borrow-token <symbol> --strategy repay
npx starkfi@latest lend-auto --pool <name|address> --collateral-token <symbol> --borrow-token <symbol> --strategy add-collateral
# Simulate first (always recommended)
npx starkfi@latest lend-auto --pool <name|address> --collateral-token <symbol> --borrow-token <symbol> --simulate
| Parameter | Type | Description | Required |
| --------- | ------ | ------------------------------------------ | -------- |
| amount | number | Amount (positional) | Yes |
| --pool | string | Pool name or address | Yes |
| --token | string | Token symbol (USDC, ETH, STRK, etc.) | Yes |
| --simulate | flag | Estimate fees and validate without executing | No |
| Parameter | Type | Description | Required |
| --------------------- | ------ | ------------------------------------- | -------- |
| --pool | string | Pool name or address | Yes |
| --collateral-amount | number | Collateral amount to supply | Yes |
| --collateral-token | string | Collateral token (e.g. ETH, STRK) | Yes |
| --borrow-amount | number | Amount to borrow | Yes |
| --borrow-token | string | Token to borrow (e.g. USDC, USDT) | Yes |
| --use-supplied | flag | Use existing earn positions as collateral | No |
| --simulate | flag | Estimate fees and validate without executing | No |
| Parameter | Type | Description | Required |
| -------------------- | ------ | -------------------------------- | -------- |
| amount | number | Amount to repay (positional) | Yes |
| --pool | string | Pool name or address | Yes |
| --token | string | Token to repay (e.g. USDC) | Yes |
| --collateral-token | string | Collateral token of the position | Yes |
| --simulate | flag | Estimate fees and validate without executing | No |
| Parameter | Type | Description | Required |
| -------------------- | ------ | ----------------------- | -------- |
| --pool | string | Pool name or address | Yes |
| --collateral-token | string | Collateral token symbol | Yes |
| --borrow-token | string | Borrow token symbol | Yes |
| --simulate | flag | Estimate fees and validate without executing | No |
Run without arguments to auto-scan all pools. Or specify --pool + --collateral-token for a detailed position view.
| Parameter | Type | Description | Required |
| -------------------- | ------ | -------------------------------------- | --------------------- |
| --pool | string | Pool name or address | No (auto-scan if omitted) |
| --collateral-token | string | Token supplied/used as collateral | No* |
| --borrow-token | string | Borrow token (needed to see debt + HF) | No |
* Required when
--poolis specified.
Run without arguments to scan all pools. Or specify --pool + --collateral-token + --borrow-token for a single position.
| Parameter | Type | Description | Required |
| ---------------------- | ------ | ------------------------------------ | ------------------------- |
| --pool | string | Pool name or address | No (scans all if omitted) |
| --collateral-token | string | Collateral token symbol | No* |
| --borrow-token | string | Debt token symbol | No* |
| --warning-threshold | number | Custom warning threshold (default: 1.3) | No |
* Required when
--poolis specified.
Risk Levels:
| Level | Health Factor | Meaning | | ------------ | ------------- | ------------------------------------- | | SAFE | > 1.3 | No action needed | | WARNING | 1.1 – 1.3 | Monitor closely | | DANGER | 1.05 – 1.1 | Repay debt or add collateral | | CRITICAL | ≤ 1.05 | Imminent liquidation risk |
| Parameter | Type | Description | Required |
| ---------------------- | ------ | ---------------------------------------------- | -------- |
| --pool | string | Pool name or address | Yes |
| --collateral-token | string | Collateral token symbol | Yes |
| --borrow-token | string | Debt token symbol | Yes |
| --strategy | string | repay, add-collateral, or auto (default) | No |
| --target-hf | number | Target health factor (default: 1.3) | No |
| --simulate | flag | Estimate fees and validate without executing | No |
User: "What lending pools are available?"
npx starkfi@latest lend-pools
User: "Show me details for the Prime pool"
npx starkfi@latest lend-pools Prime
User: "Supply 500 USDC to Prime"
npx starkfi@latest status
npx starkfi@latest balance --token USDC
npx starkfi@latest lend-supply 500 --pool Prime --token USDC --simulate # Preview first
npx starkfi@latest lend-supply 500 --pool Prime --token USDC # Execute
npx starkfi@latest tx-status <hash>
User: "Borrow 100 USDC with ETH collateral from Prime"
npx starkfi@latest lend-status
# Check Health Factor before proceeding
npx starkfi@latest lend-borrow \
--pool Prime \
--collateral-amount 0.1 --collateral-token ETH \
--borrow-amount 100 --borrow-token USDC
npx starkfi@latest tx-status <hash>
User: "Repay my 100 USDC loan from Prime"
npx starkfi@latest lend-repay 100 --pool Prime --token USDC --collateral-token ETH
npx starkfi@latest tx-status <hash>
User: "Close my ETH/USDC position in Prime"
npx starkfi@latest lend-close --pool Prime --collateral-token ETH --borrow-token USDC
npx starkfi@latest tx-status <hash>
User: "How healthy is my position?"
# Comprehensive health monitoring with risk levels
npx starkfi@latest lend-monitor
# Detailed health factor for specific position
npx starkfi@latest lend-monitor --pool Prime --collateral-token ETH --borrow-token USDC
User: "My position is at risk, fix it"
# First, check current state
npx starkfi@latest lend-monitor --pool Prime --collateral-token ETH --borrow-token USDC
# Simulate the auto-rebalance action
npx starkfi@latest lend-auto --pool Prime --collateral-token ETH --borrow-token USDC --simulate
# Execute after user confirms
npx starkfi@latest lend-auto --pool Prime --collateral-token ETH --borrow-token USDC
npx starkfi@latest tx-status <hash>
User: "Protect my ETH/USDC position from liquidation"
# Choose a specific strategy — repay debt
npx starkfi@latest lend-auto --pool Prime --collateral-token ETH --borrow-token USDC --strategy repay --simulate
| Error | Action |
| ------------------------- | ------------------------------------------------------------- |
| Pool not found | Run lend-pools to list valid pool names. |
| Health Factor too low | Warn of liquidation risk. Suggest repaying or supplying more. |
| Insufficient collateral | Cannot borrow without supplying first. |
| Dust limit | Borrow amount is below the pool's minimum dollar value (~$10). Increase it. |
| Insufficient balance | Check balance — user may need to swap for the token. |
| Not authenticated | Run authenticate-wallet skill first. |
| Monitor failed | Check pool/token params and retry. |
| Rebalance failed | Check balances, health factor, and retry. |
balance to verify available assets before supplying.trade to swap tokens if the user doesn't have the right asset.portfolio for a full overview including lending positions with USD values.batch to combine supply operations with swaps, staking, or vault deposits.troves for vault-based yield strategies (different from lending).lst for liquid staking yield (xSTRK can also be supplied to lending pools).portfolio-rebalance (within portfolio skill) to optimize overall portfolio allocation.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.
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".