clodds 1.2.9 → 1.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 (263) hide show
  1. package/dist/skills/bundled/acp/SKILL.md +188 -0
  2. package/dist/skills/bundled/acp/index.d.ts +0 -3
  3. package/dist/skills/bundled/acp/index.js +1 -1
  4. package/dist/skills/bundled/acp/index.js.map +1 -1
  5. package/dist/skills/bundled/agentbets/SKILL.md +19 -0
  6. package/dist/skills/bundled/agentbets/index.js +1 -1
  7. package/dist/skills/bundled/agentbets/index.js.map +1 -1
  8. package/dist/skills/bundled/ai-strategy/SKILL.md +111 -0
  9. package/dist/skills/bundled/ai-strategy/index.js +1 -1
  10. package/dist/skills/bundled/ai-strategy/index.js.map +1 -1
  11. package/dist/skills/bundled/alerts/SKILL.md +87 -0
  12. package/dist/skills/bundled/analytics/SKILL.md +252 -0
  13. package/dist/skills/bundled/analytics/index.js +2 -2
  14. package/dist/skills/bundled/analytics/index.js.map +1 -1
  15. package/dist/skills/bundled/arbitrage/SKILL.md +287 -0
  16. package/dist/skills/bundled/arbitrage/index.js +6 -1
  17. package/dist/skills/bundled/arbitrage/index.js.map +1 -1
  18. package/dist/skills/bundled/auto-reply/SKILL.md +285 -0
  19. package/dist/skills/bundled/auto-reply/index.js +2 -2
  20. package/dist/skills/bundled/auto-reply/index.js.map +1 -1
  21. package/dist/skills/bundled/automation/SKILL.md +242 -0
  22. package/dist/skills/bundled/automation/index.js +2 -2
  23. package/dist/skills/bundled/automation/index.js.map +1 -1
  24. package/dist/skills/bundled/backtest/SKILL.md +225 -0
  25. package/dist/skills/bundled/bags/SKILL.md +131 -0
  26. package/dist/skills/bundled/bankr/SKILL.md +114 -0
  27. package/dist/skills/bundled/betfair/SKILL.md +113 -0
  28. package/dist/skills/bundled/binance-futures/SKILL.md +84 -0
  29. package/dist/skills/bundled/binance-futures/index.d.ts +0 -3
  30. package/dist/skills/bundled/binance-futures/index.js +1 -2
  31. package/dist/skills/bundled/binance-futures/index.js.map +1 -1
  32. package/dist/skills/bundled/botchan/SKILL.md +66 -0
  33. package/dist/skills/bundled/botchan/index.d.ts +0 -3
  34. package/dist/skills/bundled/botchan/index.js +0 -1
  35. package/dist/skills/bundled/botchan/index.js.map +1 -1
  36. package/dist/skills/bundled/bridge/SKILL.md +215 -0
  37. package/dist/skills/bundled/bridge/index.js +6 -0
  38. package/dist/skills/bundled/bridge/index.js.map +1 -1
  39. package/dist/skills/bundled/bybit-futures/SKILL.md +84 -0
  40. package/dist/skills/bundled/bybit-futures/index.d.ts +0 -3
  41. package/dist/skills/bundled/bybit-futures/index.js +0 -1
  42. package/dist/skills/bundled/bybit-futures/index.js.map +1 -1
  43. package/dist/skills/bundled/clanker/SKILL.md +125 -0
  44. package/dist/skills/bundled/clanker/index.d.ts +0 -3
  45. package/dist/skills/bundled/clanker/index.js +0 -1
  46. package/dist/skills/bundled/clanker/index.js.map +1 -1
  47. package/dist/skills/bundled/copy-trading/SKILL.md +285 -0
  48. package/dist/skills/bundled/copy-trading/index.js +15 -8
  49. package/dist/skills/bundled/copy-trading/index.js.map +1 -1
  50. package/dist/skills/bundled/copy-trading-solana/SKILL.md +66 -0
  51. package/dist/skills/bundled/credentials/SKILL.md +261 -0
  52. package/dist/skills/bundled/credentials/index.js +4 -0
  53. package/dist/skills/bundled/credentials/index.js.map +1 -1
  54. package/dist/skills/bundled/crypto-hft/SKILL.md +121 -0
  55. package/dist/skills/bundled/crypto-hft/index.js +18 -3
  56. package/dist/skills/bundled/crypto-hft/index.js.map +1 -1
  57. package/dist/skills/bundled/dca/SKILL.md +27 -0
  58. package/dist/skills/bundled/dex/SKILL.md +92 -0
  59. package/dist/skills/bundled/dex/index.js +77 -29
  60. package/dist/skills/bundled/dex/index.js.map +1 -1
  61. package/dist/skills/bundled/divergence/SKILL.md +83 -0
  62. package/dist/skills/bundled/doctor/SKILL.md +267 -0
  63. package/dist/skills/bundled/doctor/index.js +2 -8
  64. package/dist/skills/bundled/doctor/index.js.map +1 -1
  65. package/dist/skills/bundled/drift/SKILL.md +53 -0
  66. package/dist/skills/bundled/drift-sdk/SKILL.md +103 -0
  67. package/dist/skills/bundled/drift-sdk/index.d.ts +0 -3
  68. package/dist/skills/bundled/drift-sdk/index.js +0 -1
  69. package/dist/skills/bundled/drift-sdk/index.js.map +1 -1
  70. package/dist/skills/bundled/edge/SKILL.md +84 -0
  71. package/dist/skills/bundled/embeddings/SKILL.md +244 -0
  72. package/dist/skills/bundled/endaoment/SKILL.md +65 -0
  73. package/dist/skills/bundled/endaoment/index.d.ts +0 -3
  74. package/dist/skills/bundled/endaoment/index.js +0 -1
  75. package/dist/skills/bundled/endaoment/index.js.map +1 -1
  76. package/dist/skills/bundled/ens/SKILL.md +63 -0
  77. package/dist/skills/bundled/ens/index.d.ts +0 -3
  78. package/dist/skills/bundled/ens/index.js +0 -1
  79. package/dist/skills/bundled/ens/index.js.map +1 -1
  80. package/dist/skills/bundled/erc8004/SKILL.md +79 -0
  81. package/dist/skills/bundled/erc8004/index.d.ts +0 -3
  82. package/dist/skills/bundled/erc8004/index.js +0 -1
  83. package/dist/skills/bundled/erc8004/index.js.map +1 -1
  84. package/dist/skills/bundled/execution/SKILL.md +278 -0
  85. package/dist/skills/bundled/farcaster/SKILL.md +80 -0
  86. package/dist/skills/bundled/farcaster/index.js +12 -0
  87. package/dist/skills/bundled/farcaster/index.js.map +1 -1
  88. package/dist/skills/bundled/features/SKILL.md +20 -0
  89. package/dist/skills/bundled/feeds/SKILL.md +288 -0
  90. package/dist/skills/bundled/harden/SKILL.md +74 -0
  91. package/dist/skills/bundled/history/SKILL.md +257 -0
  92. package/dist/skills/bundled/hyperliquid/SKILL.md +200 -0
  93. package/dist/skills/bundled/hyperliquid/index.d.ts +0 -3
  94. package/dist/skills/bundled/hyperliquid/index.js +0 -1
  95. package/dist/skills/bundled/hyperliquid/index.js.map +1 -1
  96. package/dist/skills/bundled/identity/SKILL.md +228 -0
  97. package/dist/skills/bundled/identity/index.js +2 -2
  98. package/dist/skills/bundled/identity/index.js.map +1 -1
  99. package/dist/skills/bundled/integrations/SKILL.md +321 -0
  100. package/dist/skills/bundled/integrations/index.js +2 -2
  101. package/dist/skills/bundled/integrations/index.js.map +1 -1
  102. package/dist/skills/bundled/jupiter/SKILL.md +163 -0
  103. package/dist/skills/bundled/jupiter/index.js +2 -2
  104. package/dist/skills/bundled/kamino/SKILL.md +69 -0
  105. package/dist/skills/bundled/ledger/SKILL.md +20 -0
  106. package/dist/skills/bundled/lighter/SKILL.md +83 -0
  107. package/dist/skills/bundled/lighter/index.d.ts +0 -3
  108. package/dist/skills/bundled/lighter/index.js +0 -1
  109. package/dist/skills/bundled/lighter/index.js.map +1 -1
  110. package/dist/skills/bundled/marginfi/SKILL.md +62 -0
  111. package/dist/skills/bundled/market-index/SKILL.md +242 -0
  112. package/dist/skills/bundled/market-index/index.js +1 -3
  113. package/dist/skills/bundled/market-index/index.js.map +1 -1
  114. package/dist/skills/bundled/markets/SKILL.md +49 -0
  115. package/dist/skills/bundled/mcp/SKILL.md +235 -0
  116. package/dist/skills/bundled/mcp/index.js +1 -3
  117. package/dist/skills/bundled/mcp/index.js.map +1 -1
  118. package/dist/skills/bundled/memory/SKILL.md +209 -0
  119. package/dist/skills/bundled/metaculus/SKILL.md +62 -0
  120. package/dist/skills/bundled/metaculus/index.js +4 -1
  121. package/dist/skills/bundled/metaculus/index.js.map +1 -1
  122. package/dist/skills/bundled/meteora/SKILL.md +28 -0
  123. package/dist/skills/bundled/meteora-dbc/SKILL.md +25 -0
  124. package/dist/skills/bundled/metrics/SKILL.md +338 -0
  125. package/dist/skills/bundled/mev/SKILL.md +239 -0
  126. package/dist/skills/bundled/mev/index.js +2 -2
  127. package/dist/skills/bundled/mev/index.js.map +1 -1
  128. package/dist/skills/bundled/mexc-futures/SKILL.md +86 -0
  129. package/dist/skills/bundled/mexc-futures/index.d.ts +0 -3
  130. package/dist/skills/bundled/mexc-futures/index.js +0 -1
  131. package/dist/skills/bundled/mexc-futures/index.js.map +1 -1
  132. package/dist/skills/bundled/mm/SKILL.md +142 -0
  133. package/dist/skills/bundled/mm/index.js +28 -27
  134. package/dist/skills/bundled/mm/index.js.map +1 -1
  135. package/dist/skills/bundled/monitoring/SKILL.md +249 -0
  136. package/dist/skills/bundled/news/SKILL.md +95 -0
  137. package/dist/skills/bundled/news/index.js +1 -2
  138. package/dist/skills/bundled/news/index.js.map +1 -1
  139. package/dist/skills/bundled/onchainkit/SKILL.md +83 -0
  140. package/dist/skills/bundled/opinion/SKILL.md +87 -0
  141. package/dist/skills/bundled/opportunity/SKILL.md +308 -0
  142. package/dist/skills/bundled/orca/SKILL.md +28 -0
  143. package/dist/skills/bundled/orca/index.js +11 -7
  144. package/dist/skills/bundled/orca/index.js.map +1 -1
  145. package/dist/skills/bundled/pairing/SKILL.md +275 -0
  146. package/dist/skills/bundled/pancakeswap/SKILL.md +93 -0
  147. package/dist/skills/bundled/pancakeswap/index.d.ts +0 -3
  148. package/dist/skills/bundled/pancakeswap/index.js +0 -1
  149. package/dist/skills/bundled/pancakeswap/index.js.map +1 -1
  150. package/dist/skills/bundled/percolator/SKILL.md +22 -0
  151. package/dist/skills/bundled/permissions/SKILL.md +269 -0
  152. package/dist/skills/bundled/permissions/index.js +2 -2
  153. package/dist/skills/bundled/permissions/index.js.map +1 -1
  154. package/dist/skills/bundled/plugins/SKILL.md +263 -0
  155. package/dist/skills/bundled/plugins/index.js +2 -2
  156. package/dist/skills/bundled/plugins/index.js.map +1 -1
  157. package/dist/skills/bundled/portfolio/SKILL.md +161 -0
  158. package/dist/skills/bundled/portfolio/index.js +1 -1
  159. package/dist/skills/bundled/portfolio/index.js.map +1 -1
  160. package/dist/skills/bundled/portfolio-sync/SKILL.md +466 -0
  161. package/dist/skills/bundled/positions/SKILL.md +262 -0
  162. package/dist/skills/bundled/predictfun/SKILL.md +109 -0
  163. package/dist/skills/bundled/predictfun/index.js +1 -1
  164. package/dist/skills/bundled/predictfun/index.js.map +1 -1
  165. package/dist/skills/bundled/predictit/SKILL.md +66 -0
  166. package/dist/skills/bundled/predictit/index.js +4 -1
  167. package/dist/skills/bundled/predictit/index.js.map +1 -1
  168. package/dist/skills/bundled/presence/SKILL.md +217 -0
  169. package/dist/skills/bundled/presence/index.js +2 -2
  170. package/dist/skills/bundled/presence/index.js.map +1 -1
  171. package/dist/skills/bundled/processes/SKILL.md +254 -0
  172. package/dist/skills/bundled/pump-swarm/SKILL.md +309 -0
  173. package/dist/skills/bundled/pumpfun/SKILL.md +145 -0
  174. package/dist/skills/bundled/pumpfun/index.js +82 -8
  175. package/dist/skills/bundled/pumpfun/index.js.map +1 -1
  176. package/dist/skills/bundled/qmd/SKILL.md +129 -0
  177. package/dist/skills/bundled/qrcoin/SKILL.md +60 -0
  178. package/dist/skills/bundled/qrcoin/index.d.ts +0 -3
  179. package/dist/skills/bundled/qrcoin/index.js +0 -1
  180. package/dist/skills/bundled/qrcoin/index.js.map +1 -1
  181. package/dist/skills/bundled/raydium/SKILL.md +198 -0
  182. package/dist/skills/bundled/remote/SKILL.md +201 -0
  183. package/dist/skills/bundled/research/SKILL.md +83 -0
  184. package/dist/skills/bundled/research/index.js +2 -2
  185. package/dist/skills/bundled/research/index.js.map +1 -1
  186. package/dist/skills/bundled/risk/SKILL.md +323 -0
  187. package/dist/skills/bundled/router/SKILL.md +233 -0
  188. package/dist/skills/bundled/routing/SKILL.md +258 -0
  189. package/dist/skills/bundled/sandbox/SKILL.md +257 -0
  190. package/dist/skills/bundled/search-config/SKILL.md +257 -0
  191. package/dist/skills/bundled/search-config/index.js +2 -2
  192. package/dist/skills/bundled/search-config/index.js.map +1 -1
  193. package/dist/skills/bundled/sessions/SKILL.md +251 -0
  194. package/dist/skills/bundled/sessions/index.js +1 -1
  195. package/dist/skills/bundled/sessions/index.js.map +1 -1
  196. package/dist/skills/bundled/setup/SKILL.md +53 -0
  197. package/dist/skills/bundled/shield/SKILL.md +21 -0
  198. package/dist/skills/bundled/signals/SKILL.md +106 -0
  199. package/dist/skills/bundled/signals/index.d.ts +0 -3
  200. package/dist/skills/bundled/signals/index.js +3 -4
  201. package/dist/skills/bundled/signals/index.js.map +1 -1
  202. package/dist/skills/bundled/sizing/SKILL.md +238 -0
  203. package/dist/skills/bundled/slippage/SKILL.md +306 -0
  204. package/dist/skills/bundled/smarkets/SKILL.md +107 -0
  205. package/dist/skills/bundled/smarkets/index.js +3 -3
  206. package/dist/skills/bundled/smarkets/index.js.map +1 -1
  207. package/dist/skills/bundled/solend/SKILL.md +63 -0
  208. package/dist/skills/bundled/strategy/SKILL.md +266 -0
  209. package/dist/skills/bundled/streaming/SKILL.md +150 -0
  210. package/dist/skills/bundled/streaming/index.js +2 -2
  211. package/dist/skills/bundled/streaming/index.js.map +1 -1
  212. package/dist/skills/bundled/tailscale/SKILL.md +249 -0
  213. package/dist/skills/bundled/tailscale/index.js +2 -2
  214. package/dist/skills/bundled/tailscale/index.js.map +1 -1
  215. package/dist/skills/bundled/ticks/SKILL.md +61 -0
  216. package/dist/skills/bundled/token-security/SKILL.md +18 -0
  217. package/dist/skills/bundled/trading-evm/SKILL.md +329 -0
  218. package/dist/skills/bundled/trading-futures/SKILL.md +865 -0
  219. package/dist/skills/bundled/trading-kalshi/SKILL.md +629 -0
  220. package/dist/skills/bundled/trading-kalshi/index.js +2 -0
  221. package/dist/skills/bundled/trading-kalshi/index.js.map +1 -1
  222. package/dist/skills/bundled/trading-manifold/SKILL.md +387 -0
  223. package/dist/skills/bundled/trading-polymarket/SKILL.md +1080 -0
  224. package/dist/skills/bundled/trading-polymarket/index.js +28 -19
  225. package/dist/skills/bundled/trading-polymarket/index.js.map +1 -1
  226. package/dist/skills/bundled/trading-solana/SKILL.md +418 -0
  227. package/dist/skills/bundled/trading-solana/index.js +1 -1
  228. package/dist/skills/bundled/trading-solana/index.js.map +1 -1
  229. package/dist/skills/bundled/trading-system/SKILL.md +290 -0
  230. package/dist/skills/bundled/triggers/SKILL.md +433 -0
  231. package/dist/skills/bundled/tts/SKILL.md +220 -0
  232. package/dist/skills/bundled/tweet-ideas/SKILL.md +77 -0
  233. package/dist/skills/bundled/usage/SKILL.md +239 -0
  234. package/dist/skills/bundled/usage/index.js +2 -2
  235. package/dist/skills/bundled/usage/index.js.map +1 -1
  236. package/dist/skills/bundled/veil/SKILL.md +76 -0
  237. package/dist/skills/bundled/veil/index.d.ts +0 -3
  238. package/dist/skills/bundled/veil/index.js +0 -1
  239. package/dist/skills/bundled/veil/index.js.map +1 -1
  240. package/dist/skills/bundled/verify/SKILL.md +199 -0
  241. package/dist/skills/bundled/verify/index.d.ts +0 -3
  242. package/dist/skills/bundled/verify/index.js +0 -1
  243. package/dist/skills/bundled/verify/index.js.map +1 -1
  244. package/dist/skills/bundled/virtuals/SKILL.md +82 -0
  245. package/dist/skills/bundled/voice/SKILL.md +217 -0
  246. package/dist/skills/bundled/voice/index.js +2 -2
  247. package/dist/skills/bundled/voice/index.js.map +1 -1
  248. package/dist/skills/bundled/weather/SKILL.md +80 -0
  249. package/dist/skills/bundled/weather/index.js +3 -0
  250. package/dist/skills/bundled/weather/index.js.map +1 -1
  251. package/dist/skills/bundled/webhooks/SKILL.md +297 -0
  252. package/dist/skills/bundled/webhooks/index.js +2 -2
  253. package/dist/skills/bundled/webhooks/index.js.map +1 -1
  254. package/dist/skills/bundled/whale-tracking/SKILL.md +287 -0
  255. package/dist/skills/bundled/whale-tracking/index.js +2 -2
  256. package/dist/skills/bundled/whale-tracking/index.js.map +1 -1
  257. package/dist/skills/bundled/yoink/SKILL.md +54 -0
  258. package/dist/skills/bundled/yoink/index.d.ts +0 -3
  259. package/dist/skills/bundled/yoink/index.js +0 -1
  260. package/dist/skills/bundled/yoink/index.js.map +1 -1
  261. package/dist/skills/executor.js +5 -3
  262. package/dist/skills/executor.js.map +1 -1
  263. package/package.json +2 -2
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: mev
3
+ description: "MEV protection against sandwich attacks and front-running"
4
+ emoji: "🛡️"
5
+ ---
6
+
7
+ # MEV Protection - Complete API Reference
8
+
9
+ Protect trades from MEV (Maximal Extractable Value) attacks including sandwich attacks and front-running.
10
+
11
+ ---
12
+
13
+ ## Chat Commands
14
+
15
+ ### Protection Settings
16
+
17
+ ```
18
+ /mev Show current protection
19
+ /mev status Protection status
20
+ /mev enable Enable protection
21
+ /mev disable Disable protection
22
+ ```
23
+
24
+ ### Configure Protection
25
+
26
+ ```
27
+ /mev level aggressive Maximum protection
28
+ /mev level standard Balanced protection
29
+ /mev level minimal Basic protection
30
+ /mev provider flashbots Use Flashbots
31
+ /mev provider mev-blocker Use MEV Blocker
32
+ ```
33
+
34
+ ### Check Transaction
35
+
36
+ ```
37
+ /mev check <tx-hash> Check if tx was attacked
38
+ /mev simulate <order> Simulate MEV risk
39
+ ```
40
+
41
+ ---
42
+
43
+ ## TypeScript API Reference
44
+
45
+ ### Create MEV Protection
46
+
47
+ ```typescript
48
+ import { createMEVProtection } from 'clodds/mev';
49
+
50
+ const mev = createMEVProtection({
51
+ // Default level
52
+ level: 'standard',
53
+
54
+ // Providers
55
+ providers: {
56
+ ethereum: 'flashbots', // 'flashbots' | 'mev-blocker'
57
+ solana: 'jito', // 'jito' | 'standard'
58
+ },
59
+
60
+ // Settings
61
+ maxPriorityFee: 5, // gwei
62
+ bundleTimeout: 60, // seconds
63
+ });
64
+ ```
65
+
66
+ ### Execute Protected Trade
67
+
68
+ ```typescript
69
+ // EVM trade with protection
70
+ const result = await mev.executeProtected({
71
+ chain: 'ethereum',
72
+ type: 'swap',
73
+ tokenIn: 'USDC',
74
+ tokenOut: 'ETH',
75
+ amountIn: 10000,
76
+ minAmountOut: calculateMinOut(10000, 0.5), // 0.5% slippage
77
+ });
78
+
79
+ console.log(`Tx hash: ${result.txHash}`);
80
+ console.log(`Protected: ${result.protected}`);
81
+ console.log(`Bundle ID: ${result.bundleId}`);
82
+ console.log(`Savings: $${result.estimatedSavings}`);
83
+ ```
84
+
85
+ ### Flashbots (Ethereum)
86
+
87
+ ```typescript
88
+ // Submit via Flashbots Protect
89
+ const result = await mev.flashbots({
90
+ to: routerAddress,
91
+ data: swapCalldata,
92
+ value: 0,
93
+ maxFeePerGas: parseGwei('50'),
94
+ maxPriorityFeePerGas: parseGwei('2'),
95
+ });
96
+
97
+ console.log(`Submitted to Flashbots`);
98
+ console.log(`Bundle hash: ${result.bundleHash}`);
99
+
100
+ // Wait for inclusion
101
+ const status = await mev.waitForInclusion(result.bundleHash);
102
+ console.log(`Included in block: ${status.blockNumber}`);
103
+ ```
104
+
105
+ ### MEV Blocker (Ethereum)
106
+
107
+ ```typescript
108
+ // Use MEV Blocker by CoW Protocol
109
+ const result = await mev.mevBlocker({
110
+ to: routerAddress,
111
+ data: swapCalldata,
112
+ value: 0,
113
+ });
114
+
115
+ // MEV Blocker automatically:
116
+ // - Protects from sandwich attacks
117
+ // - Backruns profitable MEV to you
118
+ // - Returns any captured MEV
119
+ console.log(`MEV captured: $${result.mevCaptured}`);
120
+ ```
121
+
122
+ ### Jito (Solana)
123
+
124
+ ```typescript
125
+ // Submit via Jito bundles
126
+ const result = await mev.jito({
127
+ instructions: swapInstructions,
128
+ tip: 10000, // lamports tip to validators
129
+ });
130
+
131
+ console.log(`Bundle ID: ${result.bundleId}`);
132
+ console.log(`Status: ${result.status}`);
133
+ ```
134
+
135
+ ### Check Transaction
136
+
137
+ ```typescript
138
+ // Check if a past transaction was attacked
139
+ const analysis = await mev.analyzeTransaction(txHash);
140
+
141
+ console.log(`Was attacked: ${analysis.wasAttacked}`);
142
+ if (analysis.wasAttacked) {
143
+ console.log(`Attack type: ${analysis.attackType}`);
144
+ console.log(`Attacker: ${analysis.attacker}`);
145
+ console.log(`Loss: $${analysis.estimatedLoss}`);
146
+ console.log(`Frontrun tx: ${analysis.frontrunTx}`);
147
+ console.log(`Backrun tx: ${analysis.backrunTx}`);
148
+ }
149
+ ```
150
+
151
+ ### Simulate MEV Risk
152
+
153
+ ```typescript
154
+ // Before trading, check MEV risk
155
+ const risk = await mev.simulateRisk({
156
+ chain: 'ethereum',
157
+ type: 'swap',
158
+ tokenIn: 'USDC',
159
+ tokenOut: 'PEPE',
160
+ amountIn: 50000,
161
+ });
162
+
163
+ console.log(`MEV risk: ${risk.level}`); // 'low' | 'medium' | 'high'
164
+ console.log(`Estimated max loss: $${risk.maxLoss}`);
165
+ console.log(`Recommendation: ${risk.recommendation}`);
166
+
167
+ if (risk.level === 'high') {
168
+ console.log('⚠️ High MEV risk - use protection!');
169
+ }
170
+ ```
171
+
172
+ ### Protection Levels
173
+
174
+ ```typescript
175
+ // Aggressive - maximum protection, slower
176
+ mev.setLevel('aggressive', {
177
+ usePrivateMempool: true,
178
+ bundleOnly: true,
179
+ maxSlippage: 0.1,
180
+ waitForProtection: true,
181
+ });
182
+
183
+ // Standard - balanced protection
184
+ mev.setLevel('standard', {
185
+ usePrivateMempool: true,
186
+ bundleOnly: false,
187
+ maxSlippage: 0.5,
188
+ });
189
+
190
+ // Minimal - basic protection
191
+ mev.setLevel('minimal', {
192
+ usePrivateMempool: false,
193
+ bundleOnly: false,
194
+ maxSlippage: 1.0,
195
+ });
196
+ ```
197
+
198
+ ---
199
+
200
+ ## MEV Attack Types
201
+
202
+ | Attack | Description | Protection |
203
+ |--------|-------------|------------|
204
+ | **Sandwich** | Front + backrun your trade | Private mempool |
205
+ | **Front-running** | Copy your trade first | Private mempool |
206
+ | **Back-running** | Profit after your trade | Jito/Flashbots |
207
+ | **JIT Liquidity** | Manipulate pool | Slippage limits |
208
+
209
+ ---
210
+
211
+ ## Protection Providers
212
+
213
+ | Chain | Provider | Method |
214
+ |-------|----------|--------|
215
+ | **Ethereum** | Flashbots Protect | Private relay |
216
+ | **Ethereum** | MEV Blocker | CoW Protocol |
217
+ | **Solana** | Jito | Bundle submission |
218
+ | **L2s** | Native | Sequencer protection |
219
+
220
+ ---
221
+
222
+ ## When to Use Protection
223
+
224
+ | Trade Size | Token | Recommendation |
225
+ |------------|-------|----------------|
226
+ | < $1,000 | Major | Minimal |
227
+ | $1,000 - $10,000 | Major | Standard |
228
+ | > $10,000 | Major | Aggressive |
229
+ | Any size | Meme/Low liquidity | Aggressive |
230
+
231
+ ---
232
+
233
+ ## Best Practices
234
+
235
+ 1. **Always protect large trades** — MEV bots watch everything
236
+ 2. **Use tight slippage** — Limits attack profitability
237
+ 3. **Check before trading** — Simulate MEV risk
238
+ 4. **Review transactions** — Learn from past attacks
239
+ 5. **L2s are safer** — Sequencer provides natural protection
@@ -81,8 +81,8 @@ async function execute(args) {
81
81
  return helpText();
82
82
  }
83
83
  }
84
- catch {
85
- return helpText();
84
+ catch (error) {
85
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
86
86
  }
87
87
  }
88
88
  function helpText() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/mev/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,IAAI,YAAY,GAAuB,OAAO,CAAC;AAE/C,KAAK,UAAU,OAAO,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,wDAAa,mCAAmC,GAAC,CAAC;QAE9D,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACX,OAAO,uCAAuC,YAAY,+FAA+F,CAAC;YAE5J,KAAK,QAAQ;gBACX,OAAO,uCAAuC,YAAY,iOAAiO,CAAC;YAE9R,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;gBACtC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;oBACpE,OAAO,yCAAyC,CAAC;gBACnD,CAAC;gBACD,YAAY,GAAG,KAAK,CAAC;gBACrB,OAAO,iCAAiC,KAAK,KAAK,CAAC;YACrD,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,KAAK,CAAC,MAAM,CAAC;oBAAE,OAAO,6BAA6B,CAAC;gBACxD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,aAAa;gBAClC,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC;gBACtE,OAAO,2CAA2C,MAAM,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,kBAAkB,SAAS,GAAG,CAAC;YACxN,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gBACjD,IAAI,KAAK,CAAC,GAAG,CAAC;oBAAE,OAAO,2CAA2C,CAAC;gBACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC3D,OAAO,wBAAwB,GAAG,sBAAsB,QAAQ,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;YACtJ,CAAC;YAED;gBACE,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;;;;;;;;;;;6DAWoD,CAAC;AAC9D,CAAC;AAED,kBAAe;IACb,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,qEAAqE;IAClF,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO;CAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/mev/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: mexc-futures
3
+ description: MEXC Futures trading with DB tracking (No KYC)
4
+ emoji: "🔵"
5
+ commands:
6
+ - /mx
7
+ gates:
8
+ envs:
9
+ - MEXC_API_KEY
10
+ ---
11
+
12
+ # MEXC Futures
13
+
14
+ Trade perpetual futures on MEXC with up to 200x leverage. No KYC required for small amounts.
15
+
16
+ ## Quick Start
17
+
18
+ ```bash
19
+ # Set credentials
20
+ export MEXC_API_KEY="your-api-key"
21
+ export MEXC_API_SECRET="your-api-secret"
22
+
23
+ # Check balance
24
+ /mx balance
25
+
26
+ # Open position
27
+ /mx long BTC_USDT 1 10x
28
+
29
+ # View stats
30
+ /mx stats
31
+ ```
32
+
33
+ ## Commands
34
+
35
+ ### Account
36
+
37
+ | Command | Description |
38
+ |---------|-------------|
39
+ | `/mx balance` | Check account balance |
40
+ | `/mx positions` | View open positions |
41
+ | `/mx orders` | List open orders |
42
+
43
+ ### Trading
44
+
45
+ | Command | Description |
46
+ |---------|-------------|
47
+ | `/mx long <symbol> <vol> [leverage]x` | Open long position |
48
+ | `/mx short <symbol> <vol> [leverage]x` | Open short position |
49
+ | `/mx close <symbol>` | Close position |
50
+ | `/mx closeall` | Close all positions |
51
+ | `/mx leverage <symbol> <value>` | Set leverage |
52
+
53
+ ### Market Data
54
+
55
+ | Command | Description |
56
+ |---------|-------------|
57
+ | `/mx price <symbol>` | Get current price |
58
+ | `/mx funding <symbol>` | Check funding rate |
59
+ | `/mx markets [query]` | List markets |
60
+
61
+ ### Database/History
62
+
63
+ | Command | Description |
64
+ |---------|-------------|
65
+ | `/mx trades [symbol] [limit]` | Trade history from database |
66
+ | `/mx dbstats [symbol] [period]` | Win rate, PnL, profit factor |
67
+ | `/mx dbfunding [symbol]` | Funding payments history |
68
+ | `/mx dbpositions [all]` | Position history |
69
+
70
+ **Stats periods:** `day`, `week`, `month`
71
+
72
+ ## Examples
73
+
74
+ ```bash
75
+ /mx long BTC_USDT 1 10x # 10x leveraged long, 1 contract
76
+ /mx short ETH_USDT 5 20x # 20x leveraged short, 5 contracts
77
+ /mx close BTC_USDT # Close BTC position
78
+ /mx trades BTC_USDT 20 # Last 20 BTC trades
79
+ /mx stats ETH_USDT week # ETH stats for past week
80
+ ```
81
+
82
+ ## Notes
83
+
84
+ - MEXC uses contract notation (e.g., `BTC_USDT` not `BTCUSDT`)
85
+ - No KYC required for smaller trading volumes
86
+ - Up to 200x leverage available
@@ -8,9 +8,6 @@ declare const skill: {
8
8
  name: string;
9
9
  description: string;
10
10
  commands: string[];
11
- requires: {
12
- env: string[];
13
- };
14
11
  handle(args: string): Promise<string>;
15
12
  };
16
13
  export default skill;
@@ -335,7 +335,6 @@ const skill = {
335
335
  name: 'mexc-futures',
336
336
  description: 'MEXC Futures trading with DB tracking (No KYC, 200x)',
337
337
  commands: ['/mx'],
338
- requires: { env: ['MEXC_API_KEY', 'MEXC_API_SECRET'] },
339
338
  async handle(args) {
340
339
  const parts = args.trim().split(/\s+/);
341
340
  const cmd = parts[0]?.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/mexc-futures/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/mexc-futures/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4DAA8C;AAC9C,kDAA+C;AAC/C,oCAKqB;AAErB,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,SAAS,YAAY,CAAC,CAAS,EAAE,QAAQ,GAAG,CAAC;IAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,EAAiB;IACnC,MAAM,IAAI,GAAG,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC;QAC9B,KAAK,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAChC,KAAK,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC;QAC/B,KAAK,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC;QAC/B,OAAO,CAAC,CAAC,OAAO,QAAQ,IAAI,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,KAAK,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACxD,KAAK,MAAM,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC7D,KAAK,OAAO,CAAC;QAAC,KAAK,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChE,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,WAAoB;IACzC,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAsB,EAAE,QAAiB;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;QAChC,EAAE,CAAC,mBAAmB,CAAC;YACrB,MAAM,EAAE,SAAS,EAAE;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,OAAO;YACnB,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK;YAC1C,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,eAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAEtD,MAAM,KAAK,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAEvD,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtH,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAEjD,MAAM,KAAK,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,KAAK,UAAU,UAAU,CAAC,MAAe,EAAE,MAAe,EAAE,WAAoB;IAC9E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,8EAA8E,CAAC;IAE9G,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjC,OAAO,WAAW,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,uBAAuB,MAAM,CAAC,OAAO,EAAE,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAe,EAAE,MAAe,EAAE,WAAoB;IAC/E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,gFAAgF,CAAC;IAEhH,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/E,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjC,OAAO,YAAY,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,uBAAuB,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAe;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,2BAA2B,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,wBAAwB,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;IAEnE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,UAAU,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,YAAY,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,uBAAuB,CAAC;IAEzD,MAAM,KAAK,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAe,EAAE,WAAoB;IACjE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW;QAAE,OAAO,sCAAsC,CAAC;IAE3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7D,OAAO,OAAO,MAAM,CAAC,WAAW,EAAE,gBAAgB,QAAQ,GAAG,CAAC;AAChE,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,KAAK,UAAU,WAAW,CAAC,MAAe;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,2BAA2B,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAe;IAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,6BAA6B,CAAC;IAElD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,aAAa,IAAI,MAAM,UAAU,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAChH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAc;IACzC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK;QAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAExF,MAAM,KAAK,GAAG,CAAC,mBAAmB,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,KAAK,UAAU,cAAc,CAAC,MAAe,EAAE,QAAiB;IAC9D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE7F,MAAM,KAAK,GAAG,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAe,EAAE,MAAe;IAC3D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAErE,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAE3D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,OAAO;QACL,eAAe,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,IAAI;QAC7D,EAAE;QACF,WAAW,KAAK,CAAC,WAAW,eAAe,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QAC5E,eAAe,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACrF,SAAS,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,SAAS,EAAE;QACtD,kBAAkB,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAe,EAAE,QAAiB;IAC/D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAE7D,MAAM,KAAK,GAAG,EAAE,CAAC,0BAA0B,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,8BAA8B,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,MAAM,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IAC/C,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAEhG,MAAM,KAAK,GAAG,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,CAAC,KAAK,CAAC;IAEjB,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QAEpC,IAAI,CAAC;YACH,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,SAAS,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,aAAa,EAAE,CAAC;gBACnD,KAAK,WAAW,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC;gBACvD,KAAK,QAAQ,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC;gBACrC,KAAK,MAAM,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,OAAO,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAK,UAAU,CAAC,CAAC,OAAO,cAAc,EAAE,CAAC;gBACzC,KAAK,UAAU,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,OAAO,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,KAAK,SAAS,CAAC;gBAAC,KAAK,IAAI,CAAC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,KAAK,SAAS,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,KAAK,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,KAAK,SAAS,CAAC;gBAAC,KAAK,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,WAAW,CAAC,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,KAAK,aAAa,CAAC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD;oBACE,OAAO;wBACL,yDAAyD;wBACzD,EAAE;wBACF,yCAAyC;wBACzC,yFAAyF;wBACzF,yDAAyD;wBACzD,2DAA2D;wBAC3D,EAAE;wBACF,yCAAyC;qBAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YAC9D,OAAO,UAAU,OAAO,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: mm
3
+ description: "Market making - two-sided quoting with inventory management"
4
+ emoji: "📊"
5
+ gates:
6
+ envs:
7
+ anyOf:
8
+ - POLY_API_KEY
9
+ - KALSHI_API_KEY
10
+ ---
11
+
12
+ # Market Making Skill
13
+
14
+ Automated two-sided quoting on prediction markets with inventory skew, volatility-adjusted spreads, and risk controls.
15
+
16
+ ## Supported Platforms
17
+
18
+ - Polymarket (post-only maker orders, zero taker fees)
19
+ - Kalshi
20
+
21
+ ---
22
+
23
+ ## Chat Commands
24
+
25
+ ### Lifecycle
26
+
27
+ ```
28
+ /mm start <platform> <marketId> <tokenId> [flags] Start market making
29
+ /mm stop <id> Stop and cancel all orders
30
+ /mm list List active market makers
31
+ ```
32
+
33
+ ### Monitoring
34
+
35
+ ```
36
+ /mm status Overview of all active MMs
37
+ /mm status <id> Detailed state for one MM
38
+ ```
39
+
40
+ ### Configuration
41
+
42
+ ```
43
+ /mm config <id> View current config as JSON
44
+ /mm config <id> --spread 3 Update config (takes effect next requote)
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Start Flags
50
+
51
+ | Flag | Default | Description |
52
+ |------|---------|-------------|
53
+ | `--spread N` | 2 | Base half-spread in cents |
54
+ | `--min-spread N` | 1 | Minimum spread floor (cents) |
55
+ | `--max-spread N` | 10 | Maximum spread cap (cents) |
56
+ | `--size N` | 50 | Order size per side (shares) |
57
+ | `--max-inventory N` | 500 | Max inventory before aggressive skew |
58
+ | `--skew N` | 0.5 | Inventory skew factor (0-1) |
59
+ | `--vol-mult N` | 10 | Volatility multiplier for spread widening |
60
+ | `--alpha N` | 0.3 | EMA alpha for fair value smoothing (0-1) |
61
+ | `--fv-method M` | weighted_mid | Fair value method: mid_price, weighted_mid, vwap, ema |
62
+ | `--interval N` | 5000 | Requote interval in ms |
63
+ | `--threshold N` | 1 | Min price change (cents) to trigger requote |
64
+ | `--max-pos N` | 1000 | Max position value in USD |
65
+ | `--max-loss N` | 100 | Max loss before auto-halt (USD) |
66
+ | `--max-orders N` | 1 | Orders per side (levels) |
67
+ | `--level-spacing N` | (=spread) | Cents between price levels |
68
+ | `--level-decay N` | 0.5 | Size decay per level (0-1, e.g. 0.5 = each level half of previous) |
69
+ | `--neg-risk true` | false | Enable negative risk mode (Polymarket crypto) |
70
+ | `--name "Name"` | auto | Display name for the outcome |
71
+
72
+ ---
73
+
74
+ ## Examples
75
+
76
+ ```
77
+ # Start with defaults
78
+ /mm start polymarket 0xabc123 98765
79
+
80
+ # Custom spread and sizing
81
+ /mm start polymarket 0xabc123 98765 --spread 3 --size 100 --max-inventory 1000
82
+
83
+ # Tight spread for liquid market
84
+ /mm start polymarket 0xabc123 98765 --spread 1 --min-spread 1 --max-spread 5 --interval 2000
85
+
86
+ # 3-level quoting: L1=50 shares, L2=25, L3=12 — spaced 2c apart
87
+ /mm start polymarket 0xabc123 98765 --max-orders 3 --level-spacing 2 --level-decay 0.5 --size 50
88
+
89
+ # Check all running MMs
90
+ /mm status
91
+
92
+ # Widen spread on the fly
93
+ /mm config polymarket_98765678 --spread 4
94
+
95
+ # Shut down
96
+ /mm stop polymarket_98765678
97
+ ```
98
+
99
+ ---
100
+
101
+ ## How It Works
102
+
103
+ 1. **Fair value** computed from orderbook (weighted mid, VWAP, or EMA)
104
+ 2. **Spread** adjusted by recent volatility (wider in volatile markets)
105
+ 3. **Skew** shifts quotes away from overweight side to manage inventory
106
+ 4. **Quotes** placed as post-only maker orders (bid and ask)
107
+ 5. **Requote** cycle: cancel all, recalculate, place new orders
108
+ 6. **Auto-halt** if realized P&L exceeds max loss threshold
109
+
110
+ ---
111
+
112
+ ## API Usage
113
+
114
+ ```typescript
115
+ import { createMMStrategy, type MMConfig } from '../trading/market-making';
116
+
117
+ const config: MMConfig = {
118
+ id: 'btc-yes',
119
+ platform: 'polymarket',
120
+ marketId: '0x...',
121
+ tokenId: '12345',
122
+ outcomeName: 'BTC > 100k',
123
+ baseSpreadCents: 2,
124
+ minSpreadCents: 1,
125
+ maxSpreadCents: 10,
126
+ orderSize: 50,
127
+ maxInventory: 500,
128
+ skewFactor: 0.5,
129
+ volatilityMultiplier: 10,
130
+ fairValueAlpha: 0.3,
131
+ fairValueMethod: 'weighted_mid',
132
+ requoteIntervalMs: 5000,
133
+ requoteThresholdCents: 1,
134
+ maxPositionValueUsd: 1000,
135
+ maxLossUsd: 100,
136
+ maxOrdersPerSide: 1,
137
+ };
138
+
139
+ const strategy = createMMStrategy(config, { execution, feeds });
140
+ botManager.registerStrategy(strategy);
141
+ await botManager.startBot(strategy.config.id);
142
+ ```
@@ -79,22 +79,22 @@ async function handleStart(args) {
79
79
  tokenId,
80
80
  outcomeName: flags['name'] || `${platform}:${tokenId.slice(0, 12)}`,
81
81
  negRisk: flags['neg-risk'] === 'true',
82
- baseSpreadCents: Number(flags['spread'] || 2),
83
- minSpreadCents: Number(flags['min-spread'] || 1),
84
- maxSpreadCents: Number(flags['max-spread'] || 10),
85
- orderSize: Number(flags['size'] || 50),
86
- maxInventory: Number(flags['max-inventory'] || 500),
87
- skewFactor: Number(flags['skew'] || 0.5),
88
- volatilityMultiplier: Number(flags['vol-mult'] || 10),
89
- fairValueAlpha: Number(flags['alpha'] || 0.3),
82
+ baseSpreadCents: parseFloat(flags['spread']) || 2,
83
+ minSpreadCents: parseFloat(flags['min-spread']) || 1,
84
+ maxSpreadCents: parseFloat(flags['max-spread']) || 10,
85
+ orderSize: parseFloat(flags['size']) || 50,
86
+ maxInventory: parseFloat(flags['max-inventory']) || 500,
87
+ skewFactor: parseFloat(flags['skew']) || 0.5,
88
+ volatilityMultiplier: parseFloat(flags['vol-mult']) || 10,
89
+ fairValueAlpha: parseFloat(flags['alpha']) || 0.3,
90
90
  fairValueMethod: flags['fv-method'] || 'weighted_mid',
91
- requoteIntervalMs: Number(flags['interval'] || 5000),
92
- requoteThresholdCents: Number(flags['threshold'] || 1),
93
- maxPositionValueUsd: Number(flags['max-pos'] || 1000),
94
- maxLossUsd: Number(flags['max-loss'] || 100),
95
- maxOrdersPerSide: Number(flags['max-orders'] || 1),
96
- levelSpacingCents: flags['level-spacing'] ? Number(flags['level-spacing']) : undefined,
97
- levelSizeDecay: flags['level-decay'] ? Number(flags['level-decay']) : undefined,
91
+ requoteIntervalMs: parseFloat(flags['interval']) || 5000,
92
+ requoteThresholdCents: parseFloat(flags['threshold']) || 1,
93
+ maxPositionValueUsd: parseFloat(flags['max-pos']) || 1000,
94
+ maxLossUsd: parseFloat(flags['max-loss']) || 100,
95
+ maxOrdersPerSide: parseFloat(flags['max-orders']) || 1,
96
+ levelSpacingCents: flags['level-spacing'] ? (parseFloat(flags['level-spacing']) || undefined) : undefined,
97
+ levelSizeDecay: flags['level-decay'] ? (parseFloat(flags['level-decay']) || undefined) : undefined,
98
98
  };
99
99
  try {
100
100
  const { createMMStrategy } = await Promise.resolve().then(() => __importStar(require('../../../trading/market-making/strategy')));
@@ -204,30 +204,31 @@ async function handleConfig(args) {
204
204
  `\`\`\``,
205
205
  ].join('\n');
206
206
  }
207
+ const safeNum = (v) => { const n = Number(v); return isNaN(n) ? undefined : n; };
207
208
  if (flags['spread'])
208
- mm.config.baseSpreadCents = Number(flags['spread']);
209
+ mm.config.baseSpreadCents = safeNum(flags['spread']) ?? mm.config.baseSpreadCents;
209
210
  if (flags['min-spread'])
210
- mm.config.minSpreadCents = Number(flags['min-spread']);
211
+ mm.config.minSpreadCents = safeNum(flags['min-spread']) ?? mm.config.minSpreadCents;
211
212
  if (flags['max-spread'])
212
- mm.config.maxSpreadCents = Number(flags['max-spread']);
213
+ mm.config.maxSpreadCents = safeNum(flags['max-spread']) ?? mm.config.maxSpreadCents;
213
214
  if (flags['size'])
214
- mm.config.orderSize = Number(flags['size']);
215
+ mm.config.orderSize = safeNum(flags['size']) ?? mm.config.orderSize;
215
216
  if (flags['max-inventory'])
216
- mm.config.maxInventory = Number(flags['max-inventory']);
217
+ mm.config.maxInventory = safeNum(flags['max-inventory']) ?? mm.config.maxInventory;
217
218
  if (flags['skew'])
218
- mm.config.skewFactor = Number(flags['skew']);
219
+ mm.config.skewFactor = safeNum(flags['skew']) ?? mm.config.skewFactor;
219
220
  if (flags['alpha'])
220
- mm.config.fairValueAlpha = Number(flags['alpha']);
221
+ mm.config.fairValueAlpha = safeNum(flags['alpha']) ?? mm.config.fairValueAlpha;
221
222
  if (flags['interval'])
222
- mm.config.requoteIntervalMs = Number(flags['interval']);
223
+ mm.config.requoteIntervalMs = safeNum(flags['interval']) ?? mm.config.requoteIntervalMs;
223
224
  if (flags['max-loss'])
224
- mm.config.maxLossUsd = Number(flags['max-loss']);
225
+ mm.config.maxLossUsd = safeNum(flags['max-loss']) ?? mm.config.maxLossUsd;
225
226
  if (flags['max-orders'])
226
- mm.config.maxOrdersPerSide = Number(flags['max-orders']);
227
+ mm.config.maxOrdersPerSide = safeNum(flags['max-orders']) ?? mm.config.maxOrdersPerSide;
227
228
  if (flags['level-spacing'])
228
- mm.config.levelSpacingCents = Number(flags['level-spacing']);
229
+ mm.config.levelSpacingCents = safeNum(flags['level-spacing']) ?? mm.config.levelSpacingCents;
229
230
  if (flags['level-decay'])
230
- mm.config.levelSizeDecay = Number(flags['level-decay']);
231
+ mm.config.levelSizeDecay = safeNum(flags['level-decay']) ?? mm.config.levelSizeDecay;
231
232
  return `Config updated for "${id}". Changes take effect on next requote.`;
232
233
  }
233
234
  function handleList() {