starkfi 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "starkfi",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "AI-native Starknet DeFi CLI + MCP Server + Agent Skills — Swaps, multi-swap, batch (multicall), staking, liquid staking (LST), lending, DCA, Troves vaults, confidential transfers, simulation, portfolio, gas abstraction",
5
5
  "type": "module",
6
6
  "bin": {
@@ -48,8 +48,8 @@ npx starkfi@latest batch [--simulate] [--json] \
48
48
  --withdraw "<amount> <token> <pool>" \
49
49
  --dca-create "<amount> <sell> <buy> <perCycle> [frequency]" \
50
50
  --dca-cancel "<orderId>" \
51
- --troves-deposit "<amount> <strategy_id> [token]" \
52
- --troves-withdraw "<amount> <strategy_id> [token]"
51
+ --troves-deposit "<amount> <token> <strategyId> [amount2 token2]" \
52
+ --troves-withdraw "<amount> <token> <strategyId> [amount2 token2]"
53
53
  ```
54
54
 
55
55
  ## Operation Formats
@@ -65,8 +65,8 @@ npx starkfi@latest batch [--simulate] [--json] \
65
65
  | `--withdraw` | `"<amount> <token> <pool>"` | `--withdraw "200 USDC Prime"` |
66
66
  | `--dca-create` | `"<amount> <sell> <buy> <perCycle> [freq]"` | `--dca-create "1000 USDC ETH 10 P1D"` |
67
67
  | `--dca-cancel` | `"<orderId>"` | `--dca-cancel "abc123"` |
68
- | `--troves-deposit` | `"<amount> <strategy_id> [token]"` | `--troves-deposit "100 evergreen_strk"` |
69
- | `--troves-withdraw` | `"<amount> <strategy_id> [token]"` | `--troves-withdraw "50 evergreen_strk"` |
68
+ | `--troves-deposit` | `"<amount> <token> <strategyId> [amount2 token2]"` | `--troves-deposit "100 STRK evergreen_strk"` or `"100 STRK ekubo_cl_strketh 0.005 ETH"` |
69
+ | `--troves-withdraw` | `"<amount> <token> <strategyId> [amount2 token2]"` | `--troves-withdraw "50 STRK evergreen_strk"` or `"50 STRK ekubo_cl_strketh 0.005 ETH"` |
70
70
 
71
71
  > **Note:** `--stake` accepts either a validator name (e.g. `Karnot`) or a pool contract address (starting with `0x`). The CLI auto-detects the format.
72
72
 
@@ -4,7 +4,7 @@ description: Liquid staking via Endur on Starknet — stake STRK to receive xSTR
4
4
  license: MIT
5
5
  compatibility: Requires Node.js 18+ and npx.
6
6
  metadata:
7
- version: 0.1.0
7
+ version: 0.2.0
8
8
  author: ahmetenesdur
9
9
  category: transaction
10
10
  allowed-tools:
@@ -54,53 +54,59 @@ Endur LST yield is **NOT** a claimable reward. The xSTRK share price increases a
54
54
  3. Use `lst-position` to check the user's current xSTRK balance and its STRK value.
55
55
  4. **NEVER** suggest using `rewards --claim` or `rewards --compound` for LST positions. Yield is automatic.
56
56
  5. When the user asks about "how much yield" from LST, show `lst-position` which displays the current STRK value vs original deposit.
57
- 6. Suggest using `--simulate` first for large operations.
58
- 7. AFTER any transactional operation (stake, redeem, exit-all), verify with `tx-status`.
59
- 8. `lst-exit-all` redeems the entire xSTRK balance — warn the user before executing.
57
+ 6. AFTER any transactional operation (stake, redeem, exit-all), verify with `tx-status`.
58
+ 7. `lst-exit-all` redeems the entire xSTRK balance warn the user before executing.
60
59
 
61
60
  ## Commands
62
61
 
63
62
  ```bash
64
63
  # Check LST position (xSTRK balance and STRK value)
65
- npx starkfi@latest lst-position [--json]
64
+ npx starkfi@latest lst-position [-a <symbol>] [--json]
66
65
 
67
66
  # View Endur protocol stats (exchange rate, APR, total staked)
68
- npx starkfi@latest lst-stats [--json]
67
+ npx starkfi@latest lst-stats [-a <symbol>] [--json]
69
68
 
70
69
  # Stake STRK to receive xSTRK
71
- npx starkfi@latest lst-stake <amount> [--simulate] [--json]
70
+ npx starkfi@latest lst-stake <amount> [-a <symbol>] [--json]
72
71
 
73
72
  # Redeem xSTRK back to STRK (partial)
74
- npx starkfi@latest lst-redeem <amount> [--simulate] [--json]
73
+ npx starkfi@latest lst-redeem <amount> [-a <symbol>] [--json]
75
74
 
76
75
  # Redeem all xSTRK back to STRK
77
- npx starkfi@latest lst-exit-all [--simulate] [--json]
76
+ npx starkfi@latest lst-exit-all [-a <symbol>] [--json]
78
77
  ```
79
78
 
80
79
  ## Parameters
81
80
 
81
+ ### lst-position / lst-stats
82
+
83
+ | Parameter | Type | Description | Required |
84
+ | ------------ | ------ | ---------------------------------------------- | -------- |
85
+ | `-a, --asset`| string | Underlying asset symbol (default: STRK) | No |
86
+ | `--json` | flag | Output as JSON | No |
87
+
82
88
  ### lst-stake
83
89
 
84
- | Parameter | Type | Description | Required |
85
- | ------------ | ------ | ---------------------------------- | -------- |
86
- | `amount` | number | Amount of STRK to stake | Yes |
87
- | `--simulate` | flag | Estimate fees without broadcasting | No |
88
- | `--json` | flag | Output as JSON | No |
90
+ | Parameter | Type | Description | Required |
91
+ | ------------ | ------ | ---------------------------------------------- | -------- |
92
+ | `amount` | number | Amount of the asset to stake | Yes |
93
+ | `-a, --asset`| string | Asset to stake (default: STRK) | No |
94
+ | `--json` | flag | Output as JSON | No |
89
95
 
90
96
  ### lst-redeem
91
97
 
92
- | Parameter | Type | Description | Required |
93
- | ------------ | ------ | ---------------------------------- | -------- |
94
- | `amount` | number | Amount of xSTRK to redeem | Yes |
95
- | `--simulate` | flag | Estimate fees without broadcasting | No |
96
- | `--json` | flag | Output as JSON | No |
98
+ | Parameter | Type | Description | Required |
99
+ | ------------ | ------ | ---------------------------------------------- | -------- |
100
+ | `amount` | number | Amount of LST shares to redeem | Yes |
101
+ | `-a, --asset`| string | Underlying asset (default: STRK) | No |
102
+ | `--json` | flag | Output as JSON | No |
97
103
 
98
104
  ### lst-exit-all
99
105
 
100
- | Parameter | Type | Description | Required |
101
- | ------------ | ---- | ---------------------------------- | -------- |
102
- | `--simulate` | flag | Estimate fees without broadcasting | No |
103
- | `--json` | flag | Output as JSON | No |
106
+ | Parameter | Type | Description | Required |
107
+ | ------------ | ------ | ---------------------------------------------- | -------- |
108
+ | `-a, --asset`| string | Asset to exit completely (default: STRK) | No |
109
+ | `--json` | flag | Output as JSON | No |
104
110
 
105
111
  ## Examples
106
112
 
@@ -116,7 +122,6 @@ npx starkfi@latest lst-stats
116
122
  npx starkfi@latest status
117
123
  npx starkfi@latest balance --token STRK
118
124
  npx starkfi@latest lst-stats # Check current exchange rate
119
- npx starkfi@latest lst-stake 1000 --simulate
120
125
  npx starkfi@latest lst-stake 1000
121
126
  npx starkfi@latest tx-status <hash>
122
127
  ```
@@ -131,7 +136,6 @@ npx starkfi@latest lst-position
131
136
 
132
137
  ```bash
133
138
  npx starkfi@latest lst-position # Check available xSTRK balance
134
- npx starkfi@latest lst-redeem 500 --simulate
135
139
  npx starkfi@latest lst-redeem 500
136
140
  npx starkfi@latest tx-status <hash>
137
141
  ```
@@ -159,7 +163,6 @@ npx starkfi@latest validators # Delegation: validator list
159
163
  | Error | Action |
160
164
  | ---------------------- | -------------------------------------------------------- |
161
165
  | `Insufficient balance` | Check `balance --token STRK` for staking, or `lst-position` for redeem. |
162
- | `Simulation failed` | Transaction would revert. Check amount and gas. |
163
166
  | `Not authenticated` | Run `authenticate-wallet` skill first. |
164
167
 
165
168
  ## Related Skills
@@ -4,7 +4,7 @@ description: Deposit and withdraw from Troves DeFi yield vault strategies on Sta
4
4
  license: MIT
5
5
  compatibility: Requires Node.js 18+ and npx.
6
6
  metadata:
7
- version: 0.1.0
7
+ version: 0.3.0
8
8
  author: ahmetenesdur
9
9
  category: transaction
10
10
  allowed-tools:
@@ -22,7 +22,7 @@ allowed-tools:
22
22
 
23
23
  # Troves DeFi Vaults
24
24
 
25
- 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 LP and leveraged positions.
25
+ 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).
26
26
 
27
27
  ## Prerequisites
28
28
 
@@ -32,12 +32,13 @@ Manage Troves yield vault strategies on Starknet: browse curated vault strategie
32
32
  ## Rules
33
33
 
34
34
  1. BEFORE any deposit, you MUST run `npx starkfi@latest troves-list` to discover available strategies and their current APY, TVL, and risk factors.
35
- 2. BEFORE depositing, check `balance` to confirm the user has enough of the required deposit token.
35
+ 2. BEFORE depositing, check `balance` to confirm the user has enough of the required deposit token(s).
36
36
  3. Use `troves-position` to check the user's current vault positions before withdrawing.
37
37
  4. **Risk awareness:** Always inform the user of the strategy's `riskFactor` (1.0 = low, 5.0 = high) and `isAudited` status before depositing.
38
38
  5. Suggest using `--simulate` first for large deposits to verify the transaction would succeed.
39
39
  6. AFTER any transactional operation (deposit, withdraw), verify with `tx-status`.
40
40
  7. Only deposit into strategies with status `Active`. Warn if a strategy is `Paused` or `Deprecated`.
41
+ 8. **Dual-asset strategies:** When a strategy has 2 deposit tokens (e.g. `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.
41
42
 
42
43
  ## Commands
43
44
 
@@ -46,26 +47,39 @@ Manage Troves yield vault strategies on Starknet: browse curated vault strategie
46
47
  npx starkfi@latest troves-list [--json]
47
48
 
48
49
  # Check current vault positions
49
- npx starkfi@latest troves-position [--json]
50
+ npx starkfi@latest troves-position <strategy-id> [--json]
50
51
 
51
- # Deposit into a strategy
52
- npx starkfi@latest troves-deposit <amount> --strategy <id> [--token <symbol>] [--simulate] [--json]
52
+ # Deposit into a strategy (single-asset)
53
+ npx starkfi@latest troves-deposit <amount> <strategy-id> [--token <symbol>] [--simulate] [--json]
54
+
55
+ # Deposit into a strategy (dual-asset)
56
+ npx starkfi@latest troves-deposit <amount> <strategy-id> -t <symbol> --amount2 <value> --token2 <symbol2> [--simulate] [--json]
53
57
 
54
58
  # Withdraw from a strategy
55
- npx starkfi@latest troves-withdraw <amount> --strategy <id> [--token <symbol>] [--simulate] [--json]
59
+ npx starkfi@latest troves-withdraw <amount> <strategy-id> [--token <symbol>] [--amount2 <value>] [--token2 <symbol2>] [--simulate] [--json]
56
60
  ```
57
61
 
58
62
  ## Parameters
59
63
 
60
64
  ### troves-deposit / troves-withdraw
61
65
 
62
- | Parameter | Type | Description | Required |
63
- | ------------ | ------ | ------------------------------------------------- | -------- |
64
- | `amount` | number | Amount to deposit or withdraw (positional) | Yes |
65
- | `--strategy` | string | Strategy ID (e.g. `evergreen_strk`) | Yes |
66
- | `--token` | string | Token symbol (auto-detected from strategy if omitted) | No |
67
- | `--simulate` | flag | Estimate fees without broadcasting | No |
68
- | `--json` | flag | Output as JSON | No |
66
+ | Parameter | Type | Description | Required |
67
+ | ------------ | ------ | ------------------------------------------------------- | -------- |
68
+ | `amount` | number | Amount to deposit or withdraw (positional) | Yes |
69
+ | `strategy-id`| string | Strategy ID (positional, e.g. `evergreen_strk`) | Yes |
70
+ | `--token` | string | Token symbol (default: STRK) | No |
71
+ | `--amount2` | string | Second token amount for dual-asset strategies | Dual-asset only |
72
+ | `--token2` | string | Second token symbol for dual-asset strategies | Dual-asset only |
73
+ | `--simulate` | flag | Estimate fees without broadcasting | No |
74
+ | `--json` | flag | Output as JSON | No |
75
+
76
+ ## Strategy Types
77
+
78
+ ### Single-Asset Strategies
79
+ Strategies with one deposit token (e.g. `evergreen_strk`, `hyper_xstrk`). Only `--token` and `amount` are needed.
80
+
81
+ ### Dual-Asset Strategies
82
+ 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.
69
83
 
70
84
  ## Strategy Properties
71
85
 
@@ -96,23 +110,34 @@ npx starkfi@latest troves-list
96
110
  npx starkfi@latest status
97
111
  npx starkfi@latest balance --token STRK
98
112
  npx starkfi@latest troves-list # Verify strategy exists and is Active
99
- npx starkfi@latest troves-deposit 500 --strategy evergreen_strk --simulate
100
- npx starkfi@latest troves-deposit 500 --strategy evergreen_strk
113
+ npx starkfi@latest troves-deposit 500 evergreen_strk --simulate
114
+ npx starkfi@latest troves-deposit 500 evergreen_strk
115
+ npx starkfi@latest tx-status <hash>
116
+ ```
117
+
118
+ **User:** "Deposit into Ekubo STRK/ETH pool" (dual-asset)
119
+
120
+ ```bash
121
+ npx starkfi@latest troves-list --json # Check depositTokens for ekubo_cl_strketh
122
+ npx starkfi@latest balance --token STRK
123
+ npx starkfi@latest balance --token ETH
124
+ npx starkfi@latest troves-deposit 100 ekubo_cl_strketh -t STRK --amount2 0.005 --token2 ETH --simulate
125
+ npx starkfi@latest troves-deposit 100 ekubo_cl_strketh -t STRK --amount2 0.005 --token2 ETH
101
126
  npx starkfi@latest tx-status <hash>
102
127
  ```
103
128
 
104
129
  **User:** "Show me my vault positions"
105
130
 
106
131
  ```bash
107
- npx starkfi@latest troves-position
132
+ npx starkfi@latest troves-position evergreen_strk
108
133
  ```
109
134
 
110
135
  **User:** "Withdraw 200 STRK from Evergreen"
111
136
 
112
137
  ```bash
113
- npx starkfi@latest troves-position # Check available balance
114
- npx starkfi@latest troves-withdraw 200 --strategy evergreen_strk --simulate
115
- npx starkfi@latest troves-withdraw 200 --strategy evergreen_strk
138
+ npx starkfi@latest troves-position evergreen_strk # Check available balance
139
+ npx starkfi@latest troves-withdraw 200 evergreen_strk --simulate
140
+ npx starkfi@latest troves-withdraw 200 evergreen_strk
116
141
  npx starkfi@latest tx-status <hash>
117
142
  ```
118
143
 
@@ -125,13 +150,15 @@ npx starkfi@latest troves-list --json
125
150
 
126
151
  ## Error Handling
127
152
 
128
- | Error | Action |
129
- | ----------------------- | -------------------------------------------------------------- |
130
- | `Strategy not found` | Run `troves-list` to find valid strategy IDs. |
131
- | `Strategy paused` | Strategy is not accepting deposits. Choose another one. |
132
- | `Insufficient balance` | Check `balance` for the required deposit token. |
133
- | `Simulation failed` | Transaction would revert. Check amount, strategy, and gas. |
134
- | `Not authenticated` | Run `authenticate-wallet` skill first. |
153
+ | Error | Action |
154
+ | ----------------------------------- | -------------------------------------------------------------- |
155
+ | `Strategy not found` | Run `troves-list` to find valid strategy IDs. |
156
+ | `Strategy paused` | Strategy is not accepting deposits. Choose another one. |
157
+ | `Insufficient balance` | Check `balance` for the required deposit token(s). |
158
+ | `Simulation failed` | Transaction would revert. Check amount, strategy, and gas. |
159
+ | `Not authenticated` | Run `authenticate-wallet` skill first. |
160
+ | `dual-asset strategy ... must provide` | Strategy requires two token amounts. Add `--amount2` and `--token2`. |
161
+ | `does not accept <token>` | Use a token from the strategy's `depositTokens` list. |
135
162
 
136
163
  ## Related Skills
137
164