starkfi 0.5.0 → 0.6.0
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/MCP.md +171 -28
- package/README.md +190 -112
- package/dist/index.js +245 -156
- package/package.json +11 -5
- package/skills/README.md +11 -3
- package/skills/balance/SKILL.md +2 -0
- package/skills/batch/SKILL.md +46 -13
- package/skills/confidential/SKILL.md +183 -0
- package/skills/config/SKILL.md +6 -4
- package/skills/dca/SKILL.md +133 -0
- package/skills/lending/SKILL.md +17 -12
- package/skills/multi-swap/SKILL.md +14 -11
- package/skills/portfolio/SKILL.md +3 -2
- package/skills/send/SKILL.md +1 -0
- package/skills/trade/SKILL.md +22 -18
package/skills/lending/SKILL.md
CHANGED
|
@@ -44,7 +44,7 @@ Manage lending and borrowing positions on Vesu V2 protocol on Starknet. Supply a
|
|
|
44
44
|
- Health Factor **< 1.5** → STRONGLY advise against borrowing. Suggest repaying instead.
|
|
45
45
|
- Health Factor **< 1.1** → DO NOT proceed without explicit double-confirmation from the user.
|
|
46
46
|
4. AFTER any transactional operation, verify with `tx-status`.
|
|
47
|
-
5. When using `--use-supplied`, the borrow is backed by the user's existing
|
|
47
|
+
5. When using `--use-supplied`, the borrow is backed by the user's existing earn positions (supplied positions) rather than transferring from wallet.
|
|
48
48
|
6. When the user asks about health, risk, or liquidation — use `lend-monitor` first for a comprehensive overview with 4-level risk classification (SAFE/WARNING/DANGER/CRITICAL).
|
|
49
49
|
7. When a position's health factor is low, suggest `lend-auto` to automatically rebalance. Always use `--simulate` first to preview the action before executing.
|
|
50
50
|
|
|
@@ -70,10 +70,10 @@ npx starkfi@latest lend-status --pool <name|address> --collateral-token <symbol>
|
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
72
|
# Supply (deposit assets to earn yield)
|
|
73
|
-
npx starkfi@latest lend-supply <amount> --pool <name|address> --token <symbol>
|
|
73
|
+
npx starkfi@latest lend-supply <amount> --pool <name|address> --token <symbol> [--simulate]
|
|
74
74
|
|
|
75
75
|
# Withdraw (remove supplied assets)
|
|
76
|
-
npx starkfi@latest lend-withdraw <amount> --pool <name|address> --token <symbol>
|
|
76
|
+
npx starkfi@latest lend-withdraw <amount> --pool <name|address> --token <symbol> [--simulate]
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
### Borrow & Repay
|
|
@@ -84,17 +84,17 @@ npx starkfi@latest lend-borrow \
|
|
|
84
84
|
--pool <name|address> \
|
|
85
85
|
--collateral-amount <n> --collateral-token <symbol> \
|
|
86
86
|
--borrow-amount <n> --borrow-token <symbol> \
|
|
87
|
-
[--use-supplied]
|
|
87
|
+
[--use-supplied] [--simulate]
|
|
88
88
|
|
|
89
89
|
# Repay (pay back borrowed amount)
|
|
90
|
-
npx starkfi@latest lend-repay <amount> --pool <name|address> --token <symbol> --collateral-token <symbol>
|
|
90
|
+
npx starkfi@latest lend-repay <amount> --pool <name|address> --token <symbol> --collateral-token <symbol> [--simulate]
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
### Close Position
|
|
94
94
|
|
|
95
95
|
```bash
|
|
96
96
|
# Atomically repay all debt and withdraw all collateral
|
|
97
|
-
npx starkfi@latest lend-close --pool <name|address> --collateral-token <symbol> --borrow-token <symbol>
|
|
97
|
+
npx starkfi@latest lend-close --pool <name|address> --collateral-token <symbol> --borrow-token <symbol> [--simulate]
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
### Health Monitoring
|
|
@@ -130,9 +130,10 @@ npx starkfi@latest lend-auto --pool <name|address> --collateral-token <symbol> -
|
|
|
130
130
|
|
|
131
131
|
| Parameter | Type | Description | Required |
|
|
132
132
|
| --------- | ------ | ------------------------------------------ | -------- |
|
|
133
|
-
| `amount`
|
|
134
|
-
| `--pool`
|
|
135
|
-
| `--token`
|
|
133
|
+
| `amount` | number | Amount (positional) | Yes |
|
|
134
|
+
| `--pool` | string | Pool name or address | Yes |
|
|
135
|
+
| `--token` | string | Token symbol (`USDC`, `ETH`, `STRK`, etc.) | Yes |
|
|
136
|
+
| `--simulate` | flag | Estimate fees and validate without executing | No |
|
|
136
137
|
|
|
137
138
|
### lend-borrow
|
|
138
139
|
|
|
@@ -143,7 +144,8 @@ npx starkfi@latest lend-auto --pool <name|address> --collateral-token <symbol> -
|
|
|
143
144
|
| `--collateral-token` | string | Collateral token (e.g. `ETH`, `STRK`) | Yes |
|
|
144
145
|
| `--borrow-amount` | number | Amount to borrow | Yes |
|
|
145
146
|
| `--borrow-token` | string | Token to borrow (e.g. `USDC`, `USDT`) | Yes |
|
|
146
|
-
| `--use-supplied` | flag | Use existing
|
|
147
|
+
| `--use-supplied` | flag | Use existing earn positions as collateral | No |
|
|
148
|
+
| `--simulate` | flag | Estimate fees and validate without executing | No |
|
|
147
149
|
|
|
148
150
|
### lend-repay
|
|
149
151
|
|
|
@@ -153,6 +155,7 @@ npx starkfi@latest lend-auto --pool <name|address> --collateral-token <symbol> -
|
|
|
153
155
|
| `--pool` | string | Pool name or address | Yes |
|
|
154
156
|
| `--token` | string | Token to repay (e.g. `USDC`) | Yes |
|
|
155
157
|
| `--collateral-token` | string | Collateral token of the position | Yes |
|
|
158
|
+
| `--simulate` | flag | Estimate fees and validate without executing | No |
|
|
156
159
|
|
|
157
160
|
### lend-close
|
|
158
161
|
|
|
@@ -161,6 +164,7 @@ npx starkfi@latest lend-auto --pool <name|address> --collateral-token <symbol> -
|
|
|
161
164
|
| `--pool` | string | Pool name or address | Yes |
|
|
162
165
|
| `--collateral-token` | string | Collateral token symbol | Yes |
|
|
163
166
|
| `--borrow-token` | string | Borrow token symbol | Yes |
|
|
167
|
+
| `--simulate` | flag | Estimate fees and validate without executing | No |
|
|
164
168
|
|
|
165
169
|
### lend-status
|
|
166
170
|
|
|
@@ -205,7 +209,7 @@ Run without arguments to **scan all pools**. Or specify `--pool` + `--collateral
|
|
|
205
209
|
| `--borrow-token` | string | Debt token symbol | Yes |
|
|
206
210
|
| `--strategy` | string | `repay`, `add-collateral`, or `auto` (default) | No |
|
|
207
211
|
| `--target-hf` | number | Target health factor (default: 1.3) | No |
|
|
208
|
-
| `--simulate` | flag |
|
|
212
|
+
| `--simulate` | flag | Estimate fees and validate without executing | No |
|
|
209
213
|
|
|
210
214
|
## Examples
|
|
211
215
|
|
|
@@ -226,7 +230,8 @@ npx starkfi@latest lend-pools Prime
|
|
|
226
230
|
```bash
|
|
227
231
|
npx starkfi@latest status
|
|
228
232
|
npx starkfi@latest balance --token USDC
|
|
229
|
-
npx starkfi@latest lend-supply 500 --pool Prime --token USDC
|
|
233
|
+
npx starkfi@latest lend-supply 500 --pool Prime --token USDC --simulate # Preview first
|
|
234
|
+
npx starkfi@latest lend-supply 500 --pool Prime --token USDC # Execute
|
|
230
235
|
npx starkfi@latest tx-status <hash>
|
|
231
236
|
```
|
|
232
237
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: multi-swap
|
|
3
|
-
description: Execute multiple token swaps in a single Starknet transaction
|
|
3
|
+
description: Execute multiple token swaps in a single Starknet transaction via Fibrous (default). Supports per-provider selection (avnu, ekubo, or auto to race all). Supports 2-3 swap pairs bundled into one multicall. Use this skill when the user wants to swap multiple token pairs at once, do batch swaps, execute several trades simultaneously, perform parallel swaps, or do bulk trading in one transaction. Also trigger when the user mentions "two swaps", "three swaps", "swap X and Y at the same time", or wants to convert multiple tokens in a single call.
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: Requires Node.js 18+ and npx.
|
|
6
6
|
metadata:
|
|
@@ -17,7 +17,7 @@ allowed-tools:
|
|
|
17
17
|
|
|
18
18
|
# Multi-Swap
|
|
19
19
|
|
|
20
|
-
Execute 2-3 independent token swaps in a single Starknet transaction via Fibrous
|
|
20
|
+
Execute 2-3 independent token swaps in a single Starknet transaction via Fibrous (default). Other providers can be selected with `--provider`, or use `--provider auto` to race all providers per pair. All swaps are bundled into one multicall, saving gas compared to executing them individually.
|
|
21
21
|
|
|
22
22
|
## Prerequisites
|
|
23
23
|
|
|
@@ -37,7 +37,7 @@ Execute 2-3 independent token swaps in a single Starknet transaction via Fibrous
|
|
|
37
37
|
## Commands
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
npx starkfi@latest multi-swap "<pairs>" [--slippage <percent>] [--simulate] [--json]
|
|
40
|
+
npx starkfi@latest multi-swap "<pairs>" [--provider <fibrous|avnu|ekubo|auto>] [--slippage <percent>] [--simulate] [--json]
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
## Parameters
|
|
@@ -45,6 +45,7 @@ npx starkfi@latest multi-swap "<pairs>" [--slippage <percent>] [--simulate] [--j
|
|
|
45
45
|
| Parameter | Type | Description | Required |
|
|
46
46
|
| ------------ | ------ | ------------------------------------------------------ | -------- |
|
|
47
47
|
| `pairs` | string | Swap pairs: `"100 USDC>ETH, 50 USDT>STRK"` (2-3 pairs) | Yes |
|
|
48
|
+
| `--provider` | string | Provider: `fibrous` (default), `avnu`, `ekubo`, `auto` (race all) | No |
|
|
48
49
|
| `--slippage` | number | Slippage tolerance in % (default: `1`) | No |
|
|
49
50
|
| `--simulate` | flag | Estimate fees without broadcasting | No |
|
|
50
51
|
| `--json` | flag | Output as JSON | No |
|
|
@@ -79,14 +80,16 @@ npx starkfi@latest multi-swap "50 DAI>ETH, 100 USDC>STRK, 0.1 ETH>USDT" --simula
|
|
|
79
80
|
|
|
80
81
|
## Error Handling
|
|
81
82
|
|
|
82
|
-
| Error
|
|
83
|
-
|
|
|
84
|
-
| `Too few pairs`
|
|
85
|
-
| `Too many pairs`
|
|
86
|
-
| `No route found`
|
|
87
|
-
| `Insufficient balance`
|
|
88
|
-
| `
|
|
89
|
-
| `
|
|
83
|
+
| Error | Action |
|
|
84
|
+
| ------------------------- | -------------------------------------------------------------- |
|
|
85
|
+
| `Too few pairs` | Multi-swap requires at least 2 pairs. Use `trade` for singles. |
|
|
86
|
+
| `Too many pairs` | Maximum 3 pairs. Split into multiple calls. |
|
|
87
|
+
| `No route found` | One or more pairs lack liquidity. |
|
|
88
|
+
| `Insufficient balance` | Check `balance` — user may lack one of the source tokens. |
|
|
89
|
+
| `Provider unavailable` | Specified provider is invalid. Valid: fibrous, avnu, ekubo. |
|
|
90
|
+
| `All providers failed` | All providers timed out or errored. Retry later. |
|
|
91
|
+
| `Simulation failed` | One of the routes is invalid or would revert. |
|
|
92
|
+
| `Not authenticated` | Run `authenticate-wallet` skill first. |
|
|
90
93
|
|
|
91
94
|
## Related Skills
|
|
92
95
|
|
|
@@ -30,7 +30,7 @@ Display a comprehensive DeFi portfolio dashboard aggregating token balances, sta
|
|
|
30
30
|
|
|
31
31
|
1. Use `portfolio` as the FIRST command when the user asks "what do I have?" or wants an overall assessment.
|
|
32
32
|
2. The `portfolio` command is read-only — it never modifies any on-chain state.
|
|
33
|
-
3. USD prices are sourced from
|
|
33
|
+
3. USD prices are sourced from the StarkZap SDK and may have slight variations.
|
|
34
34
|
4. For `portfolio-rebalance`, ALWAYS use `--simulate` first to preview the plan before executing.
|
|
35
35
|
5. Target allocations must sum to **100%**. If they don't, inform the user and ask them to adjust.
|
|
36
36
|
6. After rebalancing, run `portfolio` again to confirm the new allocation.
|
|
@@ -134,7 +134,7 @@ npx starkfi@latest portfolio-rebalance --target "50 ETH, 30 USDC, 20 STRK" --sli
|
|
|
134
134
|
| `Partial failure` | Some sections may show errors while others succeed. The portfolio uses fault-tolerant aggregation. |
|
|
135
135
|
| `Network error` | Retry once. Use `config` to set custom RPC. |
|
|
136
136
|
| `Invalid allocation` | Ensure target percentages sum to 100 and token symbols are valid. |
|
|
137
|
-
| `Rebalance failed` | Check balances, ensure tokens have sufficient liquidity on
|
|
137
|
+
| `Rebalance failed` | Check balances, ensure tokens have sufficient liquidity on supported providers. |
|
|
138
138
|
| `Insufficient balance` | Not enough tokens to execute swaps — check `balance` first. |
|
|
139
139
|
|
|
140
140
|
## Related Skills
|
|
@@ -143,5 +143,6 @@ npx starkfi@latest portfolio-rebalance --target "50 ETH, 30 USDC, 20 STRK" --sli
|
|
|
143
143
|
- Use `staking` `stake-status` for detailed staking positions.
|
|
144
144
|
- Use `lending` `lend-status` for detailed lending positions.
|
|
145
145
|
- Use `lending` `lend-monitor` to monitor health factors across lending positions.
|
|
146
|
+
- Use `dca` `dca-list` to view active DCA orders.
|
|
146
147
|
- Use `trade` if you need to swap a single token pair (not full rebalance).
|
|
147
148
|
|
package/skills/send/SKILL.md
CHANGED
|
@@ -80,3 +80,4 @@ npx starkfi@latest send 100 USDC 0x07b2... --simulate
|
|
|
80
80
|
- Use `balance` to verify funds before sending.
|
|
81
81
|
- Use `config` to set a custom RPC if experiencing rate limits.
|
|
82
82
|
- Use `trade` if the user needs to swap tokens before sending.
|
|
83
|
+
- Use `confidential` for privacy-preserving transfers (hidden amounts, ZK proofs).
|
package/skills/trade/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: trade
|
|
3
|
-
description: Swap tokens on Starknet
|
|
3
|
+
description: 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".
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: Requires Node.js 18+ and npx.
|
|
6
6
|
metadata:
|
|
@@ -17,7 +17,7 @@ allowed-tools:
|
|
|
17
17
|
|
|
18
18
|
# Trade / Swap Tokens
|
|
19
19
|
|
|
20
|
-
Exchange one token for another on Starknet via Fibrous
|
|
20
|
+
Exchange one token for another on Starknet via Fibrous (default). Other providers (AVNU, Ekubo) can be selected with `--provider`, or use `--provider auto` to race all providers for the best price. All transactions are routed through the Paymaster by default (gas paid in STRK or configured token).
|
|
21
21
|
|
|
22
22
|
## Prerequisites
|
|
23
23
|
|
|
@@ -35,19 +35,20 @@ Exchange one token for another on Starknet via Fibrous trade aggregation. The CL
|
|
|
35
35
|
## Commands
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
npx starkfi@latest trade <amount> <from> <to> [--slippage <percent>] [--simulate] [--json]
|
|
38
|
+
npx starkfi@latest trade <amount> <from> <to> [--provider <fibrous|avnu|ekubo|auto>] [--slippage <percent>] [--simulate] [--json]
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
## Parameters
|
|
42
42
|
|
|
43
|
-
| Parameter | Type | Description
|
|
44
|
-
| ------------ | ------ |
|
|
45
|
-
| `amount` | number | Amount of source token to swap
|
|
46
|
-
| `from` | string | Source token symbol (e.g. `ETH`, `USDC`)
|
|
47
|
-
| `to` | string | Target token symbol (e.g. `STRK`, `DAI`)
|
|
48
|
-
| `--
|
|
49
|
-
| `--
|
|
50
|
-
| `--
|
|
43
|
+
| Parameter | Type | Description | Required |
|
|
44
|
+
| ------------ | ------ | ------------------------------------------------- | -------- |
|
|
45
|
+
| `amount` | number | Amount of source token to swap | Yes |
|
|
46
|
+
| `from` | string | Source token symbol (e.g. `ETH`, `USDC`) | Yes |
|
|
47
|
+
| `to` | string | Target token symbol (e.g. `STRK`, `DAI`) | Yes |
|
|
48
|
+
| `--provider` | string | Provider: `fibrous` (default), `avnu`, `ekubo`, `auto` (race all) | No |
|
|
49
|
+
| `--slippage` | number | Slippage tolerance in % (default: `1`) | No |
|
|
50
|
+
| `--simulate` | flag | Estimate fees without broadcasting | No |
|
|
51
|
+
| `--json` | flag | Output as JSON | No |
|
|
51
52
|
|
|
52
53
|
## Examples
|
|
53
54
|
|
|
@@ -77,16 +78,19 @@ npx starkfi@latest tx-status <hash>
|
|
|
77
78
|
|
|
78
79
|
## Error Handling
|
|
79
80
|
|
|
80
|
-
| Error
|
|
81
|
-
|
|
|
82
|
-
| `No route found`
|
|
83
|
-
| `Insufficient balance`
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
81
|
+
| Error | Action |
|
|
82
|
+
| ------------------------- | ------------------------------------------------------- |
|
|
83
|
+
| `No route found` | Liquidity may be too low or pair doesn't exist. |
|
|
84
|
+
| `Insufficient balance` | Check `balance` and suggest a smaller amount. |
|
|
85
|
+
| `Provider unavailable` | Specified provider is invalid. Valid: fibrous, avnu, ekubo. |
|
|
86
|
+
| `All providers failed` | All providers timed out or errored. Retry later. |
|
|
87
|
+
| `Simulation failed` | Route is invalid or would revert. Do not retry blindly. |
|
|
88
|
+
| `Not authenticated` | Run `authenticate-wallet` skill first. |
|
|
86
89
|
|
|
87
90
|
## Related Skills
|
|
88
91
|
|
|
89
92
|
- Use `balance` to check available tokens before trading.
|
|
90
93
|
- Use `multi-swap` for executing 2-3 swaps in a single transaction.
|
|
91
|
-
- Use `batch` for combining a swap with other operations (stake, supply, send).
|
|
94
|
+
- Use `batch` for combining a swap with other operations (stake, supply, send, dca).
|
|
95
|
+
- Use `dca` for recurring buy orders instead of a one-time swap.
|
|
92
96
|
- Use `config` to set a custom RPC if experiencing rate limits.
|