starkfi 0.7.0 → 0.7.2
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/dist/index.js +158 -148
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/batch/SKILL.md +4 -4
- package/skills/lst/SKILL.md +29 -26
- package/skills/portfolio/SKILL.md +2 -2
- package/skills/troves/SKILL.md +54 -27
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "starkfi",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
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": {
|
package/skills/batch/SKILL.md
CHANGED
|
@@ -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> <
|
|
52
|
-
--troves-withdraw "<amount> <
|
|
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> <
|
|
69
|
-
| `--troves-withdraw` | `"<amount> <
|
|
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
|
|
package/skills/lst/SKILL.md
CHANGED
|
@@ -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.
|
|
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.
|
|
58
|
-
7.
|
|
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> [
|
|
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> [
|
|
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 [
|
|
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
|
|
85
|
-
| ------------ | ------ |
|
|
86
|
-
| `amount` | number | Amount of
|
|
87
|
-
|
|
|
88
|
-
| `--json` | flag | Output as JSON
|
|
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
|
|
93
|
-
| ------------ | ------ |
|
|
94
|
-
| `amount` | number | Amount of
|
|
95
|
-
|
|
|
96
|
-
| `--json` | flag | Output as JSON
|
|
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
|
|
101
|
-
| ------------ |
|
|
102
|
-
|
|
|
103
|
-
| `--json` | flag
|
|
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: View a comprehensive DeFi portfolio dashboard and optimize portfoli
|
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: Requires Node.js 18+ and npx.
|
|
6
6
|
metadata:
|
|
7
|
-
version: 0.
|
|
7
|
+
version: 0.3.0
|
|
8
8
|
author: ahmetenesdur
|
|
9
9
|
category: wallet-data
|
|
10
10
|
allowed-tools:
|
|
@@ -19,7 +19,7 @@ allowed-tools:
|
|
|
19
19
|
|
|
20
20
|
# Portfolio Overview & Optimization
|
|
21
21
|
|
|
22
|
-
Display a comprehensive DeFi portfolio dashboard aggregating token balances, staking positions,
|
|
22
|
+
Display a comprehensive DeFi portfolio dashboard aggregating token balances, staking positions, Troves vault positions, Endur liquid staking (LST), lending positions, DCA orders, and confidential Tongo balances — all with USD valuations. Rebalance the portfolio to a target allocation via automated batch swaps.
|
|
23
23
|
|
|
24
24
|
## Prerequisites
|
|
25
25
|
|
package/skills/troves/SKILL.md
CHANGED
|
@@ -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.
|
|
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
|
|
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>
|
|
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>
|
|
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
|
|
63
|
-
| ------------ | ------ |
|
|
64
|
-
| `amount` | number | Amount to deposit or withdraw (positional)
|
|
65
|
-
|
|
|
66
|
-
| `--token` | string | Token symbol (
|
|
67
|
-
| `--
|
|
68
|
-
| `--
|
|
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
|
|
100
|
-
npx starkfi@latest troves-deposit 500
|
|
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
|
|
115
|
-
npx starkfi@latest troves-withdraw 200
|
|
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
|
|
129
|
-
|
|
|
130
|
-
| `Strategy not found`
|
|
131
|
-
| `Strategy paused`
|
|
132
|
-
| `Insufficient balance`
|
|
133
|
-
| `Simulation failed`
|
|
134
|
-
| `Not authenticated`
|
|
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
|
|