starkfi 0.3.2 → 0.4.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.
Files changed (300) hide show
  1. package/MCP.md +1 -1
  2. package/README.md +27 -6
  3. package/dist/index.js +289 -197
  4. package/package.json +22 -20
  5. package/skills/config/SKILL.md +9 -0
  6. package/skills/lending/SKILL.md +20 -9
  7. package/skills/portfolio/SKILL.md +1 -1
  8. package/skills/staking/SKILL.md +1 -1
  9. package/dist/commands/auth/import.d.ts +0 -3
  10. package/dist/commands/auth/import.d.ts.map +0 -1
  11. package/dist/commands/auth/import.js +0 -56
  12. package/dist/commands/auth/import.js.map +0 -1
  13. package/dist/commands/auth/login.d.ts +0 -3
  14. package/dist/commands/auth/login.d.ts.map +0 -1
  15. package/dist/commands/auth/login.js +0 -23
  16. package/dist/commands/auth/login.js.map +0 -1
  17. package/dist/commands/auth/logout.d.ts +0 -3
  18. package/dist/commands/auth/logout.d.ts.map +0 -1
  19. package/dist/commands/auth/logout.js +0 -14
  20. package/dist/commands/auth/logout.js.map +0 -1
  21. package/dist/commands/auth/verify.d.ts +0 -3
  22. package/dist/commands/auth/verify.d.ts.map +0 -1
  23. package/dist/commands/auth/verify.js +0 -64
  24. package/dist/commands/auth/verify.js.map +0 -1
  25. package/dist/commands/batch/batch.d.ts +0 -3
  26. package/dist/commands/batch/batch.d.ts.map +0 -1
  27. package/dist/commands/batch/batch.js +0 -155
  28. package/dist/commands/batch/batch.js.map +0 -1
  29. package/dist/commands/chain/tx-status.d.ts +0 -3
  30. package/dist/commands/chain/tx-status.d.ts.map +0 -1
  31. package/dist/commands/chain/tx-status.js +0 -39
  32. package/dist/commands/chain/tx-status.js.map +0 -1
  33. package/dist/commands/config/config.d.ts +0 -3
  34. package/dist/commands/config/config.d.ts.map +0 -1
  35. package/dist/commands/config/config.js +0 -111
  36. package/dist/commands/config/config.js.map +0 -1
  37. package/dist/commands/lending/lending.d.ts +0 -9
  38. package/dist/commands/lending/lending.d.ts.map +0 -1
  39. package/dist/commands/lending/lending.js +0 -347
  40. package/dist/commands/lending/lending.js.map +0 -1
  41. package/dist/commands/portfolio/portfolio.d.ts +0 -3
  42. package/dist/commands/portfolio/portfolio.d.ts.map +0 -1
  43. package/dist/commands/portfolio/portfolio.js +0 -76
  44. package/dist/commands/portfolio/portfolio.js.map +0 -1
  45. package/dist/commands/staking/staking.d.ts +0 -8
  46. package/dist/commands/staking/staking.d.ts.map +0 -1
  47. package/dist/commands/staking/staking.js +0 -355
  48. package/dist/commands/staking/staking.js.map +0 -1
  49. package/dist/commands/trade/multi-swap.d.ts +0 -3
  50. package/dist/commands/trade/multi-swap.d.ts.map +0 -1
  51. package/dist/commands/trade/multi-swap.js +0 -141
  52. package/dist/commands/trade/multi-swap.js.map +0 -1
  53. package/dist/commands/trade/status.d.ts +0 -3
  54. package/dist/commands/trade/status.d.ts.map +0 -1
  55. package/dist/commands/trade/status.js +0 -41
  56. package/dist/commands/trade/status.js.map +0 -1
  57. package/dist/commands/trade/swap.d.ts +0 -3
  58. package/dist/commands/trade/swap.d.ts.map +0 -1
  59. package/dist/commands/trade/swap.js +0 -101
  60. package/dist/commands/trade/swap.js.map +0 -1
  61. package/dist/commands/wallet/address.d.ts +0 -3
  62. package/dist/commands/wallet/address.d.ts.map +0 -1
  63. package/dist/commands/wallet/address.js +0 -20
  64. package/dist/commands/wallet/address.js.map +0 -1
  65. package/dist/commands/wallet/balance.d.ts +0 -3
  66. package/dist/commands/wallet/balance.d.ts.map +0 -1
  67. package/dist/commands/wallet/balance.js +0 -63
  68. package/dist/commands/wallet/balance.js.map +0 -1
  69. package/dist/commands/wallet/deploy.d.ts +0 -3
  70. package/dist/commands/wallet/deploy.d.ts.map +0 -1
  71. package/dist/commands/wallet/deploy.js +0 -74
  72. package/dist/commands/wallet/deploy.js.map +0 -1
  73. package/dist/commands/wallet/send.d.ts +0 -3
  74. package/dist/commands/wallet/send.d.ts.map +0 -1
  75. package/dist/commands/wallet/send.js +0 -88
  76. package/dist/commands/wallet/send.js.map +0 -1
  77. package/dist/index.d.ts +0 -3
  78. package/dist/index.d.ts.map +0 -1
  79. package/dist/index.js.map +0 -1
  80. package/dist/lib/banner.d.ts +0 -6
  81. package/dist/lib/banner.d.ts.map +0 -1
  82. package/dist/lib/banner.js +0 -78
  83. package/dist/lib/banner.js.map +0 -1
  84. package/dist/lib/brand.d.ts +0 -5
  85. package/dist/lib/brand.d.ts.map +0 -1
  86. package/dist/lib/brand.js +0 -15
  87. package/dist/lib/brand.js.map +0 -1
  88. package/dist/lib/cache.d.ts +0 -3
  89. package/dist/lib/cache.d.ts.map +0 -1
  90. package/dist/lib/cache.js +0 -33
  91. package/dist/lib/cache.js.map +0 -1
  92. package/dist/lib/command.d.ts +0 -3
  93. package/dist/lib/command.d.ts.map +0 -1
  94. package/dist/lib/command.js +0 -6
  95. package/dist/lib/command.js.map +0 -1
  96. package/dist/lib/concurrency.d.ts +0 -2
  97. package/dist/lib/concurrency.d.ts.map +0 -1
  98. package/dist/lib/concurrency.js +0 -21
  99. package/dist/lib/concurrency.js.map +0 -1
  100. package/dist/lib/config.d.ts +0 -5
  101. package/dist/lib/config.d.ts.map +0 -1
  102. package/dist/lib/config.js +0 -10
  103. package/dist/lib/config.js.map +0 -1
  104. package/dist/lib/errors.d.ts +0 -41
  105. package/dist/lib/errors.d.ts.map +0 -1
  106. package/dist/lib/errors.js +0 -47
  107. package/dist/lib/errors.js.map +0 -1
  108. package/dist/lib/fetch.d.ts +0 -4
  109. package/dist/lib/fetch.d.ts.map +0 -1
  110. package/dist/lib/fetch.js +0 -13
  111. package/dist/lib/fetch.js.map +0 -1
  112. package/dist/lib/format.d.ts +0 -20
  113. package/dist/lib/format.d.ts.map +0 -1
  114. package/dist/lib/format.js +0 -105
  115. package/dist/lib/format.js.map +0 -1
  116. package/dist/lib/retry.d.ts +0 -8
  117. package/dist/lib/retry.d.ts.map +0 -1
  118. package/dist/lib/retry.js +0 -25
  119. package/dist/lib/retry.js.map +0 -1
  120. package/dist/lib/types.d.ts +0 -6
  121. package/dist/lib/types.d.ts.map +0 -1
  122. package/dist/lib/types.js +0 -2
  123. package/dist/lib/types.js.map +0 -1
  124. package/dist/lib/validation.d.ts +0 -2
  125. package/dist/lib/validation.d.ts.map +0 -1
  126. package/dist/lib/validation.js +0 -6
  127. package/dist/lib/validation.js.map +0 -1
  128. package/dist/mcp/handlers/auth.d.ts +0 -7
  129. package/dist/mcp/handlers/auth.d.ts.map +0 -1
  130. package/dist/mcp/handlers/auth.js +0 -22
  131. package/dist/mcp/handlers/auth.js.map +0 -1
  132. package/dist/mcp/handlers/batch.d.ts +0 -13
  133. package/dist/mcp/handlers/batch.d.ts.map +0 -1
  134. package/dist/mcp/handlers/batch.js +0 -33
  135. package/dist/mcp/handlers/batch.js.map +0 -1
  136. package/dist/mcp/handlers/config.d.ts +0 -10
  137. package/dist/mcp/handlers/config.d.ts.map +0 -1
  138. package/dist/mcp/handlers/config.js +0 -78
  139. package/dist/mcp/handlers/config.js.map +0 -1
  140. package/dist/mcp/handlers/index.d.ts +0 -10
  141. package/dist/mcp/handlers/index.d.ts.map +0 -1
  142. package/dist/mcp/handlers/index.js +0 -10
  143. package/dist/mcp/handlers/index.js.map +0 -1
  144. package/dist/mcp/handlers/lending.d.ts +0 -73
  145. package/dist/mcp/handlers/lending.d.ts.map +0 -1
  146. package/dist/mcp/handlers/lending.js +0 -145
  147. package/dist/mcp/handlers/lending.js.map +0 -1
  148. package/dist/mcp/handlers/multi-swap.d.ts +0 -27
  149. package/dist/mcp/handlers/multi-swap.d.ts.map +0 -1
  150. package/dist/mcp/handlers/multi-swap.js +0 -73
  151. package/dist/mcp/handlers/multi-swap.js.map +0 -1
  152. package/dist/mcp/handlers/portfolio.d.ts +0 -7
  153. package/dist/mcp/handlers/portfolio.d.ts.map +0 -1
  154. package/dist/mcp/handlers/portfolio.js +0 -11
  155. package/dist/mcp/handlers/portfolio.js.map +0 -1
  156. package/dist/mcp/handlers/staking.d.ts +0 -68
  157. package/dist/mcp/handlers/staking.d.ts.map +0 -1
  158. package/dist/mcp/handlers/staking.js +0 -123
  159. package/dist/mcp/handlers/staking.js.map +0 -1
  160. package/dist/mcp/handlers/trade.d.ts +0 -23
  161. package/dist/mcp/handlers/trade.d.ts.map +0 -1
  162. package/dist/mcp/handlers/trade.js +0 -71
  163. package/dist/mcp/handlers/trade.js.map +0 -1
  164. package/dist/mcp/handlers/utils.d.ts +0 -13
  165. package/dist/mcp/handlers/utils.d.ts.map +0 -1
  166. package/dist/mcp/handlers/utils.js +0 -7
  167. package/dist/mcp/handlers/utils.js.map +0 -1
  168. package/dist/mcp/handlers/wallet.d.ts +0 -34
  169. package/dist/mcp/handlers/wallet.d.ts.map +0 -1
  170. package/dist/mcp/handlers/wallet.js +0 -102
  171. package/dist/mcp/handlers/wallet.js.map +0 -1
  172. package/dist/mcp/handlers.d.ts +0 -108
  173. package/dist/mcp/handlers.d.ts.map +0 -1
  174. package/dist/mcp/handlers.js +0 -325
  175. package/dist/mcp/handlers.js.map +0 -1
  176. package/dist/mcp/server.d.ts +0 -2
  177. package/dist/mcp/server.d.ts.map +0 -1
  178. package/dist/mcp/server.js +0 -54
  179. package/dist/mcp/server.js.map +0 -1
  180. package/dist/mcp/tools/auth.d.ts +0 -3
  181. package/dist/mcp/tools/auth.d.ts.map +0 -1
  182. package/dist/mcp/tools/auth.js +0 -17
  183. package/dist/mcp/tools/auth.js.map +0 -1
  184. package/dist/mcp/tools/error-handling.d.ts +0 -12
  185. package/dist/mcp/tools/error-handling.d.ts.map +0 -1
  186. package/dist/mcp/tools/error-handling.js +0 -28
  187. package/dist/mcp/tools/error-handling.js.map +0 -1
  188. package/dist/mcp/tools/index.d.ts +0 -11
  189. package/dist/mcp/tools/index.d.ts.map +0 -1
  190. package/dist/mcp/tools/index.js +0 -19
  191. package/dist/mcp/tools/index.js.map +0 -1
  192. package/dist/mcp/tools/lending.d.ts +0 -3
  193. package/dist/mcp/tools/lending.d.ts.map +0 -1
  194. package/dist/mcp/tools/lending.js +0 -71
  195. package/dist/mcp/tools/lending.js.map +0 -1
  196. package/dist/mcp/tools/staking.d.ts +0 -3
  197. package/dist/mcp/tools/staking.d.ts.map +0 -1
  198. package/dist/mcp/tools/staking.js +0 -50
  199. package/dist/mcp/tools/staking.js.map +0 -1
  200. package/dist/mcp/tools/trade.d.ts +0 -3
  201. package/dist/mcp/tools/trade.d.ts.map +0 -1
  202. package/dist/mcp/tools/trade.js +0 -63
  203. package/dist/mcp/tools/trade.js.map +0 -1
  204. package/dist/mcp/tools/wallet.d.ts +0 -3
  205. package/dist/mcp/tools/wallet.d.ts.map +0 -1
  206. package/dist/mcp/tools/wallet.js +0 -27
  207. package/dist/mcp/tools/wallet.js.map +0 -1
  208. package/dist/mcp/tools.d.ts +0 -3
  209. package/dist/mcp/tools.d.ts.map +0 -1
  210. package/dist/mcp/tools.js +0 -240
  211. package/dist/mcp/tools.js.map +0 -1
  212. package/dist/services/api/client.d.ts +0 -14
  213. package/dist/services/api/client.d.ts.map +0 -1
  214. package/dist/services/api/client.js +0 -50
  215. package/dist/services/api/client.js.map +0 -1
  216. package/dist/services/auth/session.d.ts +0 -16
  217. package/dist/services/auth/session.d.ts.map +0 -1
  218. package/dist/services/auth/session.js +0 -57
  219. package/dist/services/auth/session.js.map +0 -1
  220. package/dist/services/batch/batch.d.ts +0 -35
  221. package/dist/services/batch/batch.d.ts.map +0 -1
  222. package/dist/services/batch/batch.js +0 -110
  223. package/dist/services/batch/batch.js.map +0 -1
  224. package/dist/services/config/config.d.ts +0 -23
  225. package/dist/services/config/config.d.ts.map +0 -1
  226. package/dist/services/config/config.js +0 -78
  227. package/dist/services/config/config.js.map +0 -1
  228. package/dist/services/fibrous/balances.d.ts +0 -8
  229. package/dist/services/fibrous/balances.d.ts.map +0 -1
  230. package/dist/services/fibrous/balances.js +0 -23
  231. package/dist/services/fibrous/balances.js.map +0 -1
  232. package/dist/services/fibrous/config.d.ts +0 -4
  233. package/dist/services/fibrous/config.d.ts.map +0 -1
  234. package/dist/services/fibrous/config.js +0 -4
  235. package/dist/services/fibrous/config.js.map +0 -1
  236. package/dist/services/fibrous/health.d.ts +0 -5
  237. package/dist/services/fibrous/health.d.ts.map +0 -1
  238. package/dist/services/fibrous/health.js +0 -24
  239. package/dist/services/fibrous/health.js.map +0 -1
  240. package/dist/services/fibrous/route.d.ts +0 -51
  241. package/dist/services/fibrous/route.d.ts.map +0 -1
  242. package/dist/services/fibrous/route.js +0 -102
  243. package/dist/services/fibrous/route.js.map +0 -1
  244. package/dist/services/fibrous/tokens.d.ts +0 -6
  245. package/dist/services/fibrous/tokens.d.ts.map +0 -1
  246. package/dist/services/fibrous/tokens.js +0 -34
  247. package/dist/services/fibrous/tokens.js.map +0 -1
  248. package/dist/services/portfolio/portfolio.d.ts +0 -31
  249. package/dist/services/portfolio/portfolio.d.ts.map +0 -1
  250. package/dist/services/portfolio/portfolio.js +0 -104
  251. package/dist/services/portfolio/portfolio.js.map +0 -1
  252. package/dist/services/simulate/simulate.d.ts +0 -10
  253. package/dist/services/simulate/simulate.d.ts.map +0 -1
  254. package/dist/services/simulate/simulate.js +0 -57
  255. package/dist/services/simulate/simulate.js.map +0 -1
  256. package/dist/services/staking/staking.d.ts +0 -49
  257. package/dist/services/staking/staking.d.ts.map +0 -1
  258. package/dist/services/staking/staking.js +0 -162
  259. package/dist/services/staking/staking.js.map +0 -1
  260. package/dist/services/staking/validators.d.ts +0 -5
  261. package/dist/services/staking/validators.d.ts.map +0 -1
  262. package/dist/services/staking/validators.js +0 -14
  263. package/dist/services/staking/validators.js.map +0 -1
  264. package/dist/services/starkzap/client.d.ts +0 -19
  265. package/dist/services/starkzap/client.d.ts.map +0 -1
  266. package/dist/services/starkzap/client.js +0 -83
  267. package/dist/services/starkzap/client.js.map +0 -1
  268. package/dist/services/starkzap/config.d.ts +0 -6
  269. package/dist/services/starkzap/config.d.ts.map +0 -1
  270. package/dist/services/starkzap/config.js +0 -13
  271. package/dist/services/starkzap/config.js.map +0 -1
  272. package/dist/services/tokens/balances.d.ts +0 -8
  273. package/dist/services/tokens/balances.d.ts.map +0 -1
  274. package/dist/services/tokens/balances.js +0 -23
  275. package/dist/services/tokens/balances.js.map +0 -1
  276. package/dist/services/tokens/tokens.d.ts +0 -4
  277. package/dist/services/tokens/tokens.d.ts.map +0 -1
  278. package/dist/services/tokens/tokens.js +0 -19
  279. package/dist/services/tokens/tokens.js.map +0 -1
  280. package/dist/services/vesu/api.d.ts +0 -28
  281. package/dist/services/vesu/api.d.ts.map +0 -1
  282. package/dist/services/vesu/api.js +0 -91
  283. package/dist/services/vesu/api.js.map +0 -1
  284. package/dist/services/vesu/config.d.ts +0 -9
  285. package/dist/services/vesu/config.d.ts.map +0 -1
  286. package/dist/services/vesu/config.js +0 -32
  287. package/dist/services/vesu/config.js.map +0 -1
  288. package/dist/services/vesu/index.d.ts +0 -5
  289. package/dist/services/vesu/index.d.ts.map +0 -1
  290. package/dist/services/vesu/index.js +0 -5
  291. package/dist/services/vesu/index.js.map +0 -1
  292. package/dist/services/vesu/lending.d.ts +0 -21
  293. package/dist/services/vesu/lending.d.ts.map +0 -1
  294. package/dist/services/vesu/lending.js +0 -269
  295. package/dist/services/vesu/lending.js.map +0 -1
  296. package/dist/services/vesu/pools.d.ts +0 -7
  297. package/dist/services/vesu/pools.d.ts.map +0 -1
  298. package/dist/services/vesu/pools.js +0 -15
  299. package/dist/services/vesu/pools.js.map +0 -1
  300. package/scripts/patch-esm.mjs +0 -151
package/MCP.md CHANGED
@@ -278,7 +278,7 @@ Views and modifies global CLI behavior: RPC routing, network selection, and Gas
278
278
 
279
279
  | Parameter | Type | Required | Description |
280
280
  | --------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
281
- | `action` | enum | **Yes** | One of: `list`, `set-rpc`, `get-rpc`, `set-network`, `set-gasfree`, `set-gas-token` |
281
+ | `action` | enum | **Yes** | One of: `list`, `reset`, `set-rpc`, `get-rpc`, `set-network`, `set-gasfree`, `set-gas-token` |
282
282
  | `value` | string | No | `set-gasfree`: `on`/`off`. `set-gas-token`: symbol (`USDC`, `ETH`) or `reset`. `set-rpc`: URL string. `set-network`: `mainnet`/`sepolia`. |
283
283
 
284
284
  ---
package/README.md CHANGED
@@ -7,11 +7,15 @@
7
7
  <h1 align="center">StarkFi</h1>
8
8
 
9
9
  <p align="center">
10
- <strong>The Gas-Abstracted DeFi CLI & Agent.</strong><br>
11
- <em>The AI-native DeFi toolkit for Starknet.</em><br>
10
+ <strong>The AI-native DeFi toolkit for Starknet.</strong><br>
12
11
  A production-grade CLI and MCP server that gives both developers and AI agents full access to swaps, multi-swap, atomic batch transactions, staking, lending, portfolio management, and gasless transactions — all powered by the <a href="https://github.com/keep-starknet-strange/starkzap">Starkzap SDK</a>.
13
12
  </p>
14
13
 
14
+ <p align="center">
15
+ <a href="https://www.npmjs.com/package/starkfi"><img src="https://img.shields.io/npm/v/starkfi?style=flat-square&color=CB3837&logo=npm&logoColor=white" alt="npm version"/></a>
16
+ <a href="https://www.npmjs.com/package/starkfi"><img src="https://img.shields.io/npm/dm/starkfi?style=flat-square&color=blue" alt="npm downloads"/></a>
17
+ </p>
18
+
15
19
  ```bash
16
20
  npx starkfi@latest --help
17
21
  ```
@@ -129,13 +133,14 @@ npx starkfi@latest lend-supply 100 -p Prime -t STRK
129
133
  npx starkfi@latest lend-borrow -p Prime \
130
134
  --collateral-amount 200 --collateral-token STRK \
131
135
  --borrow-amount 50 --borrow-token USDC
132
- npx starkfi@latest lend-status -p Prime --collateral-token STRK --borrow-token USDC
136
+ npx starkfi@latest lend-status # Auto-scan all pools
137
+ npx starkfi@latest lend-status -p Prime --collateral-token STRK --borrow-token USDC # Specific position
133
138
  npx starkfi@latest lend-close -p Prime --collateral-token STRK --borrow-token USDC
134
139
  ```
135
140
 
136
141
  ### 💸 Gas Abstraction
137
142
 
138
- All transactions are gasless by default. Users pay gas fees in their preferred ERC-20 token via Paymaster.
143
+ Users pay gas fees in their preferred ERC-20 token via AVNU Paymaster — no native STRK or ETH required. Alternatively, developers can sponsor gas entirely.
139
144
 
140
145
  ```bash
141
146
  # Pay gas in USDC instead of STRK
@@ -156,7 +161,7 @@ Estimate fees and validate any transaction before broadcasting.
156
161
 
157
162
  ```bash
158
163
  npx starkfi@latest trade 100 USDC ETH --simulate
159
- # → mode: SIMULATION, estimatedFee: 0.000142 ETH ($0.52), callCount: 4
164
+ # → mode: SIMULATION, estimatedFee: 0.054 STRK ($0.0024), callCount: 4
160
165
  ```
161
166
 
162
167
  ### 📊 Portfolio Dashboard
@@ -323,7 +328,7 @@ npx starkfi@latest trade 10 STRK ETH # Execute
323
328
  | `lend-withdraw <amount> -p <pool> -t <token>` | Withdraw assets |
324
329
  | `lend-borrow -p <pool> --collateral-amount <n> --collateral-token <t> --borrow-amount <n> --borrow-token <t> [--use-supplied]` | Borrow |
325
330
  | `lend-repay <amount> -p <pool> -t <token> --collateral-token <t>` | Repay debt |
326
- | `lend-status -p <pool> --collateral-token <t> [--borrow-token <t>]` | Position status |
331
+ | `lend-status [-p <pool> --collateral-token <t> [--borrow-token <t>]]` | Position status (auto-scan if no args) |
327
332
  | `lend-close -p <pool> --collateral-token <t> --borrow-token <t>` | Close position atomically |
328
333
 
329
334
  ### Configuration
@@ -331,6 +336,7 @@ npx starkfi@latest trade 10 STRK ETH # Execute
331
336
  | Command | Description |
332
337
  | --------------------------------------- | ------------------------------ |
333
338
  | `config list` | Show current configuration |
339
+ | `config reset` | Reset all settings to defaults |
334
340
  | `config set-rpc <url>` | Set custom RPC endpoint |
335
341
  | `config get-rpc` | Show current RPC |
336
342
  | `config set-network <mainnet\|sepolia>` | Switch network |
@@ -395,6 +401,21 @@ StarkFi implements a robust error handling system with a custom `StarkfiError` c
395
401
 
396
402
  All network operations include **automatic retry with exponential backoff** (500ms base, max 2 retries). Parallel operations use a **sliding-window concurrency pool** to prevent RPC rate-limiting.
397
403
 
404
+ ### Readable Starknet Errors
405
+
406
+ Raw Starknet JSON-RPC errors (hex-encoded Cairo strings like `u256_sub Overflow`) are automatically parsed into human-readable messages:
407
+
408
+ | Raw Error | Displayed Message |
409
+ |-----------|------------------|
410
+ | `u256_sub Overflow` | Insufficient balance — you don't have enough tokens (including gas fees) |
411
+ | `ERC20: insufficient allowance` | Token approval required — not enough allowance for this operation |
412
+ | `UNAUTHORIZED` | Unauthorized — session may have expired, try: starkfi auth login |
413
+ | `argent/multicall-failed` | One or more calls in the transaction failed |
414
+ | `dusty-collateral-balance` | Collateral amount is below the pool's minimum (dust limit). Please increase the amount. |
415
+ | `dusty-debt-balance` | Borrow amount is below the pool's minimum (dust limit). Please increase the amount. |
416
+
417
+ This applies to both CLI output (`formatError`) and MCP responses (`withErrorHandling`).
418
+
398
419
  ---
399
420
 
400
421
  ## Development