clodds 1.2.9 → 1.3.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/dist/skills/bundled/acp/SKILL.md +188 -0
- package/dist/skills/bundled/acp/index.d.ts +0 -3
- package/dist/skills/bundled/acp/index.js +1 -1
- package/dist/skills/bundled/acp/index.js.map +1 -1
- package/dist/skills/bundled/agentbets/SKILL.md +19 -0
- package/dist/skills/bundled/ai-strategy/SKILL.md +111 -0
- package/dist/skills/bundled/ai-strategy/index.js +1 -1
- package/dist/skills/bundled/ai-strategy/index.js.map +1 -1
- package/dist/skills/bundled/alerts/SKILL.md +87 -0
- package/dist/skills/bundled/analytics/SKILL.md +252 -0
- package/dist/skills/bundled/analytics/index.js +2 -2
- package/dist/skills/bundled/analytics/index.js.map +1 -1
- package/dist/skills/bundled/arbitrage/SKILL.md +287 -0
- package/dist/skills/bundled/auto-reply/SKILL.md +285 -0
- package/dist/skills/bundled/auto-reply/index.js +2 -2
- package/dist/skills/bundled/auto-reply/index.js.map +1 -1
- package/dist/skills/bundled/automation/SKILL.md +242 -0
- package/dist/skills/bundled/automation/index.js +2 -2
- package/dist/skills/bundled/automation/index.js.map +1 -1
- package/dist/skills/bundled/backtest/SKILL.md +225 -0
- package/dist/skills/bundled/bags/SKILL.md +131 -0
- package/dist/skills/bundled/bankr/SKILL.md +114 -0
- package/dist/skills/bundled/betfair/SKILL.md +113 -0
- package/dist/skills/bundled/binance-futures/SKILL.md +84 -0
- package/dist/skills/bundled/binance-futures/index.d.ts +0 -3
- package/dist/skills/bundled/binance-futures/index.js +1 -2
- package/dist/skills/bundled/binance-futures/index.js.map +1 -1
- package/dist/skills/bundled/botchan/SKILL.md +66 -0
- package/dist/skills/bundled/botchan/index.d.ts +0 -3
- package/dist/skills/bundled/botchan/index.js +0 -1
- package/dist/skills/bundled/botchan/index.js.map +1 -1
- package/dist/skills/bundled/bridge/SKILL.md +215 -0
- package/dist/skills/bundled/bybit-futures/SKILL.md +84 -0
- package/dist/skills/bundled/bybit-futures/index.d.ts +0 -3
- package/dist/skills/bundled/bybit-futures/index.js +0 -1
- package/dist/skills/bundled/bybit-futures/index.js.map +1 -1
- package/dist/skills/bundled/clanker/SKILL.md +125 -0
- package/dist/skills/bundled/clanker/index.d.ts +0 -3
- package/dist/skills/bundled/clanker/index.js +0 -1
- package/dist/skills/bundled/clanker/index.js.map +1 -1
- package/dist/skills/bundled/copy-trading/SKILL.md +285 -0
- package/dist/skills/bundled/copy-trading/index.js +2 -2
- package/dist/skills/bundled/copy-trading/index.js.map +1 -1
- package/dist/skills/bundled/copy-trading-solana/SKILL.md +66 -0
- package/dist/skills/bundled/credentials/SKILL.md +261 -0
- package/dist/skills/bundled/crypto-hft/SKILL.md +121 -0
- package/dist/skills/bundled/dca/SKILL.md +27 -0
- package/dist/skills/bundled/dex/SKILL.md +87 -0
- package/dist/skills/bundled/divergence/SKILL.md +83 -0
- package/dist/skills/bundled/doctor/SKILL.md +267 -0
- package/dist/skills/bundled/doctor/index.js +2 -8
- package/dist/skills/bundled/doctor/index.js.map +1 -1
- package/dist/skills/bundled/drift/SKILL.md +53 -0
- package/dist/skills/bundled/drift-sdk/SKILL.md +103 -0
- package/dist/skills/bundled/drift-sdk/index.d.ts +0 -3
- package/dist/skills/bundled/drift-sdk/index.js +0 -1
- package/dist/skills/bundled/drift-sdk/index.js.map +1 -1
- package/dist/skills/bundled/edge/SKILL.md +84 -0
- package/dist/skills/bundled/embeddings/SKILL.md +244 -0
- package/dist/skills/bundled/endaoment/SKILL.md +65 -0
- package/dist/skills/bundled/endaoment/index.d.ts +0 -3
- package/dist/skills/bundled/endaoment/index.js +0 -1
- package/dist/skills/bundled/endaoment/index.js.map +1 -1
- package/dist/skills/bundled/ens/SKILL.md +63 -0
- package/dist/skills/bundled/ens/index.d.ts +0 -3
- package/dist/skills/bundled/ens/index.js +0 -1
- package/dist/skills/bundled/ens/index.js.map +1 -1
- package/dist/skills/bundled/erc8004/SKILL.md +79 -0
- package/dist/skills/bundled/erc8004/index.d.ts +0 -3
- package/dist/skills/bundled/erc8004/index.js +0 -1
- package/dist/skills/bundled/erc8004/index.js.map +1 -1
- package/dist/skills/bundled/execution/SKILL.md +278 -0
- package/dist/skills/bundled/farcaster/SKILL.md +80 -0
- package/dist/skills/bundled/features/SKILL.md +20 -0
- package/dist/skills/bundled/feeds/SKILL.md +288 -0
- package/dist/skills/bundled/harden/SKILL.md +74 -0
- package/dist/skills/bundled/history/SKILL.md +257 -0
- package/dist/skills/bundled/hyperliquid/SKILL.md +200 -0
- package/dist/skills/bundled/hyperliquid/index.d.ts +0 -3
- package/dist/skills/bundled/hyperliquid/index.js +0 -1
- package/dist/skills/bundled/hyperliquid/index.js.map +1 -1
- package/dist/skills/bundled/identity/SKILL.md +228 -0
- package/dist/skills/bundled/identity/index.js +2 -2
- package/dist/skills/bundled/identity/index.js.map +1 -1
- package/dist/skills/bundled/integrations/SKILL.md +321 -0
- package/dist/skills/bundled/integrations/index.js +2 -2
- package/dist/skills/bundled/integrations/index.js.map +1 -1
- package/dist/skills/bundled/jupiter/SKILL.md +163 -0
- package/dist/skills/bundled/kamino/SKILL.md +69 -0
- package/dist/skills/bundled/ledger/SKILL.md +20 -0
- package/dist/skills/bundled/lighter/SKILL.md +83 -0
- package/dist/skills/bundled/lighter/index.d.ts +0 -3
- package/dist/skills/bundled/lighter/index.js +0 -1
- package/dist/skills/bundled/lighter/index.js.map +1 -1
- package/dist/skills/bundled/marginfi/SKILL.md +62 -0
- package/dist/skills/bundled/market-index/SKILL.md +242 -0
- package/dist/skills/bundled/market-index/index.js +1 -3
- package/dist/skills/bundled/market-index/index.js.map +1 -1
- package/dist/skills/bundled/markets/SKILL.md +49 -0
- package/dist/skills/bundled/mcp/SKILL.md +235 -0
- package/dist/skills/bundled/mcp/index.js +1 -3
- package/dist/skills/bundled/mcp/index.js.map +1 -1
- package/dist/skills/bundled/memory/SKILL.md +209 -0
- package/dist/skills/bundled/metaculus/SKILL.md +62 -0
- package/dist/skills/bundled/meteora/SKILL.md +28 -0
- package/dist/skills/bundled/meteora-dbc/SKILL.md +25 -0
- package/dist/skills/bundled/metrics/SKILL.md +338 -0
- package/dist/skills/bundled/mev/SKILL.md +239 -0
- package/dist/skills/bundled/mev/index.js +2 -2
- package/dist/skills/bundled/mev/index.js.map +1 -1
- package/dist/skills/bundled/mexc-futures/SKILL.md +86 -0
- package/dist/skills/bundled/mexc-futures/index.d.ts +0 -3
- package/dist/skills/bundled/mexc-futures/index.js +0 -1
- package/dist/skills/bundled/mexc-futures/index.js.map +1 -1
- package/dist/skills/bundled/mm/SKILL.md +142 -0
- package/dist/skills/bundled/monitoring/SKILL.md +249 -0
- package/dist/skills/bundled/news/SKILL.md +95 -0
- package/dist/skills/bundled/onchainkit/SKILL.md +83 -0
- package/dist/skills/bundled/opinion/SKILL.md +87 -0
- package/dist/skills/bundled/opportunity/SKILL.md +308 -0
- package/dist/skills/bundled/orca/SKILL.md +28 -0
- package/dist/skills/bundled/pairing/SKILL.md +275 -0
- package/dist/skills/bundled/pancakeswap/SKILL.md +93 -0
- package/dist/skills/bundled/pancakeswap/index.d.ts +0 -3
- package/dist/skills/bundled/pancakeswap/index.js +0 -1
- package/dist/skills/bundled/pancakeswap/index.js.map +1 -1
- package/dist/skills/bundled/percolator/SKILL.md +22 -0
- package/dist/skills/bundled/permissions/SKILL.md +269 -0
- package/dist/skills/bundled/permissions/index.js +2 -2
- package/dist/skills/bundled/permissions/index.js.map +1 -1
- package/dist/skills/bundled/plugins/SKILL.md +263 -0
- package/dist/skills/bundled/plugins/index.js +2 -2
- package/dist/skills/bundled/plugins/index.js.map +1 -1
- package/dist/skills/bundled/portfolio/SKILL.md +161 -0
- package/dist/skills/bundled/portfolio/index.js +1 -1
- package/dist/skills/bundled/portfolio/index.js.map +1 -1
- package/dist/skills/bundled/portfolio-sync/SKILL.md +466 -0
- package/dist/skills/bundled/positions/SKILL.md +262 -0
- package/dist/skills/bundled/predictfun/SKILL.md +109 -0
- package/dist/skills/bundled/predictfun/index.js +1 -1
- package/dist/skills/bundled/predictfun/index.js.map +1 -1
- package/dist/skills/bundled/predictit/SKILL.md +66 -0
- package/dist/skills/bundled/presence/SKILL.md +217 -0
- package/dist/skills/bundled/presence/index.js +2 -2
- package/dist/skills/bundled/presence/index.js.map +1 -1
- package/dist/skills/bundled/processes/SKILL.md +254 -0
- package/dist/skills/bundled/pump-swarm/SKILL.md +309 -0
- package/dist/skills/bundled/pumpfun/SKILL.md +145 -0
- package/dist/skills/bundled/qmd/SKILL.md +129 -0
- package/dist/skills/bundled/qrcoin/SKILL.md +60 -0
- package/dist/skills/bundled/qrcoin/index.d.ts +0 -3
- package/dist/skills/bundled/qrcoin/index.js +0 -1
- package/dist/skills/bundled/qrcoin/index.js.map +1 -1
- package/dist/skills/bundled/raydium/SKILL.md +198 -0
- package/dist/skills/bundled/remote/SKILL.md +201 -0
- package/dist/skills/bundled/research/SKILL.md +83 -0
- package/dist/skills/bundled/research/index.js +2 -2
- package/dist/skills/bundled/research/index.js.map +1 -1
- package/dist/skills/bundled/risk/SKILL.md +323 -0
- package/dist/skills/bundled/router/SKILL.md +233 -0
- package/dist/skills/bundled/routing/SKILL.md +258 -0
- package/dist/skills/bundled/sandbox/SKILL.md +257 -0
- package/dist/skills/bundled/search-config/SKILL.md +257 -0
- package/dist/skills/bundled/search-config/index.js +2 -2
- package/dist/skills/bundled/search-config/index.js.map +1 -1
- package/dist/skills/bundled/sessions/SKILL.md +251 -0
- package/dist/skills/bundled/sessions/index.js +1 -1
- package/dist/skills/bundled/sessions/index.js.map +1 -1
- package/dist/skills/bundled/setup/SKILL.md +53 -0
- package/dist/skills/bundled/shield/SKILL.md +21 -0
- package/dist/skills/bundled/signals/SKILL.md +106 -0
- package/dist/skills/bundled/signals/index.d.ts +0 -3
- package/dist/skills/bundled/signals/index.js +3 -4
- package/dist/skills/bundled/signals/index.js.map +1 -1
- package/dist/skills/bundled/sizing/SKILL.md +238 -0
- package/dist/skills/bundled/slippage/SKILL.md +306 -0
- package/dist/skills/bundled/smarkets/SKILL.md +107 -0
- package/dist/skills/bundled/solend/SKILL.md +63 -0
- package/dist/skills/bundled/strategy/SKILL.md +266 -0
- package/dist/skills/bundled/streaming/SKILL.md +150 -0
- package/dist/skills/bundled/streaming/index.js +2 -2
- package/dist/skills/bundled/streaming/index.js.map +1 -1
- package/dist/skills/bundled/tailscale/SKILL.md +249 -0
- package/dist/skills/bundled/tailscale/index.js +2 -2
- package/dist/skills/bundled/tailscale/index.js.map +1 -1
- package/dist/skills/bundled/ticks/SKILL.md +61 -0
- package/dist/skills/bundled/token-security/SKILL.md +18 -0
- package/dist/skills/bundled/trading-evm/SKILL.md +329 -0
- package/dist/skills/bundled/trading-futures/SKILL.md +865 -0
- package/dist/skills/bundled/trading-kalshi/SKILL.md +629 -0
- package/dist/skills/bundled/trading-manifold/SKILL.md +387 -0
- package/dist/skills/bundled/trading-polymarket/SKILL.md +1080 -0
- package/dist/skills/bundled/trading-solana/SKILL.md +418 -0
- package/dist/skills/bundled/trading-system/SKILL.md +290 -0
- package/dist/skills/bundled/triggers/SKILL.md +433 -0
- package/dist/skills/bundled/tts/SKILL.md +220 -0
- package/dist/skills/bundled/tweet-ideas/SKILL.md +77 -0
- package/dist/skills/bundled/usage/SKILL.md +239 -0
- package/dist/skills/bundled/usage/index.js +2 -2
- package/dist/skills/bundled/usage/index.js.map +1 -1
- package/dist/skills/bundled/veil/SKILL.md +76 -0
- package/dist/skills/bundled/veil/index.d.ts +0 -3
- package/dist/skills/bundled/veil/index.js +0 -1
- package/dist/skills/bundled/veil/index.js.map +1 -1
- package/dist/skills/bundled/verify/SKILL.md +199 -0
- package/dist/skills/bundled/verify/index.d.ts +0 -3
- package/dist/skills/bundled/verify/index.js +0 -1
- package/dist/skills/bundled/verify/index.js.map +1 -1
- package/dist/skills/bundled/virtuals/SKILL.md +82 -0
- package/dist/skills/bundled/voice/SKILL.md +217 -0
- package/dist/skills/bundled/voice/index.js +2 -2
- package/dist/skills/bundled/voice/index.js.map +1 -1
- package/dist/skills/bundled/weather/SKILL.md +80 -0
- package/dist/skills/bundled/webhooks/SKILL.md +297 -0
- package/dist/skills/bundled/webhooks/index.js +2 -2
- package/dist/skills/bundled/webhooks/index.js.map +1 -1
- package/dist/skills/bundled/whale-tracking/SKILL.md +287 -0
- package/dist/skills/bundled/whale-tracking/index.js +2 -2
- package/dist/skills/bundled/whale-tracking/index.js.map +1 -1
- package/dist/skills/bundled/yoink/SKILL.md +54 -0
- package/dist/skills/bundled/yoink/index.d.ts +0 -3
- package/dist/skills/bundled/yoink/index.js +0 -1
- package/dist/skills/bundled/yoink/index.js.map +1 -1
- package/dist/skills/executor.js +5 -3
- package/dist/skills/executor.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integrations
|
|
3
|
+
description: "External data sources, connectors, and custom data streams"
|
|
4
|
+
emoji: "🔗"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Integrations - Complete API Reference
|
|
8
|
+
|
|
9
|
+
Manage external data sources, add custom connectors, and plug in new data streams for trading bots.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Chat Commands
|
|
14
|
+
|
|
15
|
+
### List Data Sources
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/integrations List all data sources
|
|
19
|
+
/integrations status Show source health
|
|
20
|
+
/integrations sources Available source types
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Manage Sources
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
/integrations enable fedwatch Enable CME FedWatch
|
|
27
|
+
/integrations disable 538 Disable FiveThirtyEight
|
|
28
|
+
/integrations add webhook "my-signals" Add custom webhook source
|
|
29
|
+
/integrations add rest "my-api" <url> Add REST API source
|
|
30
|
+
/integrations remove <source-id> Remove data source
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Configure Sources
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
/integrations config fedwatch View source config
|
|
37
|
+
/integrations set fedwatch interval 60 Set refresh interval
|
|
38
|
+
/integrations set fedwatch key <api-key> Set API key
|
|
39
|
+
/integrations test <source-id> Test source connection
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### View Data
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
/integrations data fedwatch Latest data from source
|
|
46
|
+
/integrations history <source> --hours 24 Historical data
|
|
47
|
+
/integrations subscribe <source> Real-time updates
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## TypeScript API Reference
|
|
53
|
+
|
|
54
|
+
### Create Integrations Manager
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import { createIntegrationsManager } from 'clodds/integrations';
|
|
58
|
+
|
|
59
|
+
const integrations = createIntegrationsManager({
|
|
60
|
+
// Storage
|
|
61
|
+
storage: 'sqlite',
|
|
62
|
+
dbPath: './integrations.db',
|
|
63
|
+
|
|
64
|
+
// Default refresh interval
|
|
65
|
+
defaultIntervalMs: 60000,
|
|
66
|
+
|
|
67
|
+
// Retry settings
|
|
68
|
+
maxRetries: 3,
|
|
69
|
+
retryDelayMs: 5000,
|
|
70
|
+
});
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Built-in Data Sources
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
// Enable built-in sources
|
|
77
|
+
await integrations.enable('fedwatch'); // CME FedWatch
|
|
78
|
+
await integrations.enable('538'); // FiveThirtyEight
|
|
79
|
+
await integrations.enable('silver'); // Silver Bulletin
|
|
80
|
+
await integrations.enable('rcp'); // RealClearPolitics
|
|
81
|
+
await integrations.enable('odds-api'); // The Odds API
|
|
82
|
+
await integrations.enable('polymarket'); // Polymarket prices
|
|
83
|
+
await integrations.enable('kalshi'); // Kalshi prices
|
|
84
|
+
await integrations.enable('binance'); // Binance spot prices
|
|
85
|
+
await integrations.enable('crypto'); // Multi-exchange crypto
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Add Custom Webhook Source
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
// Add webhook to receive custom signals
|
|
92
|
+
const source = await integrations.addWebhook({
|
|
93
|
+
name: 'my-signals',
|
|
94
|
+
description: 'Custom trading signals',
|
|
95
|
+
|
|
96
|
+
// Webhook config
|
|
97
|
+
path: '/webhooks/my-signals',
|
|
98
|
+
secret: process.env.WEBHOOK_SECRET,
|
|
99
|
+
|
|
100
|
+
// Data schema (optional validation)
|
|
101
|
+
schema: {
|
|
102
|
+
type: 'object',
|
|
103
|
+
properties: {
|
|
104
|
+
signal: { type: 'string', enum: ['BUY', 'SELL', 'HOLD'] },
|
|
105
|
+
symbol: { type: 'string' },
|
|
106
|
+
confidence: { type: 'number', min: 0, max: 1 },
|
|
107
|
+
},
|
|
108
|
+
required: ['signal', 'symbol'],
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
// Transform incoming data
|
|
112
|
+
transform: (payload) => ({
|
|
113
|
+
signal: payload.signal,
|
|
114
|
+
symbol: payload.symbol,
|
|
115
|
+
confidence: payload.confidence || 0.5,
|
|
116
|
+
timestamp: Date.now(),
|
|
117
|
+
}),
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
console.log(`Webhook URL: ${source.url}`);
|
|
121
|
+
// POST to: https://your-domain.com/webhooks/my-signals
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Add Custom REST Source
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
// Add REST API data source
|
|
128
|
+
const source = await integrations.addRest({
|
|
129
|
+
name: 'my-api',
|
|
130
|
+
description: 'Custom price API',
|
|
131
|
+
|
|
132
|
+
// API config
|
|
133
|
+
url: 'https://api.example.com/prices',
|
|
134
|
+
method: 'GET',
|
|
135
|
+
headers: {
|
|
136
|
+
'Authorization': `Bearer ${process.env.MY_API_KEY}`,
|
|
137
|
+
},
|
|
138
|
+
|
|
139
|
+
// Polling interval
|
|
140
|
+
intervalMs: 30000,
|
|
141
|
+
|
|
142
|
+
// Transform response
|
|
143
|
+
transform: (response) => ({
|
|
144
|
+
price: response.data.price,
|
|
145
|
+
volume: response.data.volume,
|
|
146
|
+
timestamp: Date.now(),
|
|
147
|
+
}),
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Add WebSocket Source
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
// Add WebSocket data source
|
|
155
|
+
const source = await integrations.addWebSocket({
|
|
156
|
+
name: 'live-prices',
|
|
157
|
+
description: 'Real-time price feed',
|
|
158
|
+
|
|
159
|
+
// WebSocket config
|
|
160
|
+
url: 'wss://stream.example.com/prices',
|
|
161
|
+
|
|
162
|
+
// Message handlers
|
|
163
|
+
onMessage: (data) => ({
|
|
164
|
+
type: 'price',
|
|
165
|
+
symbol: data.s,
|
|
166
|
+
price: parseFloat(data.p),
|
|
167
|
+
timestamp: data.t,
|
|
168
|
+
}),
|
|
169
|
+
|
|
170
|
+
// Subscription message
|
|
171
|
+
subscribe: {
|
|
172
|
+
method: 'SUBSCRIBE',
|
|
173
|
+
params: ['btcusdt@trade'],
|
|
174
|
+
},
|
|
175
|
+
|
|
176
|
+
// Reconnect settings
|
|
177
|
+
reconnect: true,
|
|
178
|
+
reconnectIntervalMs: 5000,
|
|
179
|
+
});
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Subscribe to Data
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
// Subscribe to real-time updates
|
|
186
|
+
integrations.subscribe('my-signals', (data) => {
|
|
187
|
+
console.log(`Signal: ${data.signal} ${data.symbol}`);
|
|
188
|
+
console.log(`Confidence: ${data.confidence}`);
|
|
189
|
+
|
|
190
|
+
if (data.signal === 'BUY' && data.confidence > 0.8) {
|
|
191
|
+
// Execute trade logic
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
// Subscribe to multiple sources
|
|
196
|
+
integrations.subscribeAll(['fedwatch', 'crypto', 'my-signals'], (source, data) => {
|
|
197
|
+
console.log(`[${source}] ${JSON.stringify(data)}`);
|
|
198
|
+
});
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Get Latest Data
|
|
202
|
+
|
|
203
|
+
```typescript
|
|
204
|
+
// Get current data from source
|
|
205
|
+
const fedData = await integrations.getData('fedwatch');
|
|
206
|
+
|
|
207
|
+
console.log('Fed Rate Probabilities:');
|
|
208
|
+
for (const meeting of fedData.meetings) {
|
|
209
|
+
console.log(`${meeting.date}: ${meeting.probabilities}`);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Get with freshness check
|
|
213
|
+
const data = await integrations.getData('crypto', {
|
|
214
|
+
maxAgeMs: 60000, // Refetch if older than 60s
|
|
215
|
+
});
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Check Status
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
// Get source status
|
|
222
|
+
const status = await integrations.getStatus('my-api');
|
|
223
|
+
|
|
224
|
+
console.log(`Status: ${status.status}`); // 'healthy' | 'degraded' | 'error'
|
|
225
|
+
console.log(`Last fetch: ${status.lastFetch}`);
|
|
226
|
+
console.log(`Last error: ${status.lastError}`);
|
|
227
|
+
console.log(`Fetch count: ${status.fetchCount}`);
|
|
228
|
+
console.log(`Error count: ${status.errorCount}`);
|
|
229
|
+
|
|
230
|
+
// Get all statuses
|
|
231
|
+
const all = await integrations.getAllStatuses();
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Built-in Data Sources
|
|
237
|
+
|
|
238
|
+
| Source | Type | Data | Refresh |
|
|
239
|
+
|--------|------|------|---------|
|
|
240
|
+
| **fedwatch** | REST | Fed rate probabilities | 5 min |
|
|
241
|
+
| **538** | REST | Election forecasts | 1 hour |
|
|
242
|
+
| **silver** | REST | Silver Bulletin forecasts | 1 hour |
|
|
243
|
+
| **rcp** | REST | Polling averages | 15 min |
|
|
244
|
+
| **odds-api** | REST | Sports betting odds | 1 min |
|
|
245
|
+
| **polymarket** | WebSocket | Market prices | Real-time |
|
|
246
|
+
| **kalshi** | WebSocket | Market prices | Real-time |
|
|
247
|
+
| **binance** | WebSocket | Crypto prices | Real-time |
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Custom Source Types
|
|
252
|
+
|
|
253
|
+
| Type | Best For | Latency |
|
|
254
|
+
|------|----------|---------|
|
|
255
|
+
| **webhook** | External signals pushed to you | Instant |
|
|
256
|
+
| **rest** | APIs you poll periodically | Seconds |
|
|
257
|
+
| **websocket** | Real-time streaming data | Milliseconds |
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Using Data in Bots
|
|
262
|
+
|
|
263
|
+
```typescript
|
|
264
|
+
import { createTradingBot } from 'clodds/trading';
|
|
265
|
+
import { createIntegrationsManager } from 'clodds/integrations';
|
|
266
|
+
|
|
267
|
+
const integrations = createIntegrationsManager();
|
|
268
|
+
const bot = createTradingBot();
|
|
269
|
+
|
|
270
|
+
// Use custom signals in bot strategy
|
|
271
|
+
integrations.subscribe('my-signals', async (signal) => {
|
|
272
|
+
if (signal.signal === 'BUY' && signal.confidence > 0.9) {
|
|
273
|
+
await bot.execute({
|
|
274
|
+
platform: 'polymarket',
|
|
275
|
+
market: signal.symbol,
|
|
276
|
+
side: 'YES',
|
|
277
|
+
size: 100 * signal.confidence,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
// Use Fed data for macro bets
|
|
283
|
+
integrations.subscribe('fedwatch', async (data) => {
|
|
284
|
+
const cutProb = data.meetings[0].probabilities['25bp_cut'];
|
|
285
|
+
if (cutProb > 0.8) {
|
|
286
|
+
// High probability of rate cut
|
|
287
|
+
await bot.execute({
|
|
288
|
+
platform: 'kalshi',
|
|
289
|
+
market: 'fed-rate-cut',
|
|
290
|
+
side: 'YES',
|
|
291
|
+
size: 500,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Environment Variables
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# Built-in sources
|
|
303
|
+
CME_FEDWATCH_API_KEY=your-key
|
|
304
|
+
FIVETHIRTYEIGHT_API_KEY=your-key
|
|
305
|
+
ODDS_API_KEY=your-key
|
|
306
|
+
|
|
307
|
+
# Custom sources
|
|
308
|
+
MY_SIGNALS_WEBHOOK_SECRET=your-secret
|
|
309
|
+
MY_API_KEY=your-key
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Best Practices
|
|
315
|
+
|
|
316
|
+
1. **Validate incoming data** — Use schemas for webhooks
|
|
317
|
+
2. **Set appropriate intervals** — Don't poll too frequently
|
|
318
|
+
3. **Handle errors gracefully** — Sources will fail sometimes
|
|
319
|
+
4. **Monitor freshness** — Alert on stale data
|
|
320
|
+
5. **Transform consistently** — Normalize data formats
|
|
321
|
+
6. **Use WebSocket for latency** — When milliseconds matter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/integrations/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,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,SAAS,GAAG,4BAA4B,CAAC;QAC/C,MAAM,EAAE,wBAAwB,EAAE,GAAG,yBAAa,SAAS,uCAAC,CAAC;QAC7D,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC;QAEzB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,EAAE,CAAC,CAAC,CAAC;gBACR,oDAAoD;gBACpD,MAAM,SAAS,GAAG;oBAChB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE;oBAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE;oBACvD,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE;oBAC7D,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;oBAClE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE;oBACpD,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE;oBACjD,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,EAAE;iBACvE,CAAC;gBAEF,IAAI,MAAM,GAAG,gCAAgC,CAAC;gBAC9C,MAAM,IAAI,gDAAgD,CAAC;gBAC3D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,EAAS,CAAC,CAAC;oBACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBAC3F,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,MAAM,MAAM,CAAC;gBAC1C,CAAC;gBAED,MAAM,IAAI,qBAAqB,CAAC;gBAChC,MAAM,IAAI,wEAAwE,CAAC;gBACnF,MAAM,IAAI,0CAA0C,CAAC;gBACrD,MAAM,IAAI,yDAAyD,CAAC;gBACpE,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,SAAS,GAAG;oBAChB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,6BAA6B,EAAE;oBACjG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,kCAAkC,EAAE;oBAChG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,0BAA0B,EAAE;iBAC5F,CAAC;gBAEF,IAAI,MAAM,GAAG,4BAA4B,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,EAAS,CAAC,CAAC;oBACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,QAAQ,IAAI,MAAM,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC;oBAC5B,MAAM,IAAI,kBAAkB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;oBAC1D,MAAM,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC;gBAClC,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAE,OAAO,uHAAuH,CAAC;gBAC9I,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,QAAe,CAAC,CAAC;gBAClE,IAAI,GAAG;oBAAE,OAAO,0BAA0B,QAAQ,0BAA0B,QAAQ,eAAe,CAAC;gBACpG,OAAO,gBAAgB,QAAQ,wCAAwC,QAAQ,uCAAuC,QAAQ,6BAA6B,CAAC;YAC9J,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAE,OAAO,4CAA4C,CAAC;gBACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACxC,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAe,CAAC,CAAC;gBACzD,OAAO,uBAAuB,QAAQ,0BAA0B,CAAC;YACnE,CAAC;YAED;gBACE,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/integrations/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jupiter
|
|
3
|
+
description: "Jupiter DEX aggregator - swaps, limit orders, and DCA on Solana"
|
|
4
|
+
command: jup
|
|
5
|
+
emoji: "🪐"
|
|
6
|
+
gates:
|
|
7
|
+
envs:
|
|
8
|
+
- SOLANA_PRIVATE_KEY
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Jupiter Aggregator
|
|
12
|
+
|
|
13
|
+
Jupiter finds the best swap routes across all Solana DEXes, plus limit orders and DCA (Dollar Cost Averaging).
|
|
14
|
+
|
|
15
|
+
## Commands
|
|
16
|
+
|
|
17
|
+
### Swaps
|
|
18
|
+
```
|
|
19
|
+
/jup swap <amount> <from> to <to> Execute swap via Jupiter
|
|
20
|
+
/jup quote <amount> <from> to <to> Get quote without executing
|
|
21
|
+
/jup route <from> <to> <amount> Show detailed route info
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Limit Orders
|
|
25
|
+
```
|
|
26
|
+
/jup limit create <sell> <from> for <buy> <to> Create limit order
|
|
27
|
+
/jup limit cancel <order_pubkey> Cancel limit order
|
|
28
|
+
/jup limit list List your open orders
|
|
29
|
+
/jup limit history Order history
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### DCA (Dollar Cost Averaging)
|
|
33
|
+
```
|
|
34
|
+
/jup dca create <total> <from> to <to> every <interval> Create DCA
|
|
35
|
+
/jup dca close <dca_pubkey> Close DCA
|
|
36
|
+
/jup dca list List active DCAs
|
|
37
|
+
/jup dca deposit <dca_pubkey> <amount> Add funds
|
|
38
|
+
/jup dca withdraw <dca_pubkey> Withdraw funds
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Examples
|
|
42
|
+
|
|
43
|
+
### Swaps
|
|
44
|
+
```
|
|
45
|
+
/jup swap 1 SOL to USDC
|
|
46
|
+
/jup quote 100 USDC to JUP
|
|
47
|
+
/jup route SOL BONK 1
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Limit Orders
|
|
51
|
+
```
|
|
52
|
+
/jup limit create 1 SOL for 250 USDC # Sell 1 SOL when price hits $250
|
|
53
|
+
/jup limit create 100 USDC for 0.5 SOL # Buy SOL at $200
|
|
54
|
+
/jup limit list
|
|
55
|
+
/jup limit cancel ABC123...
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### DCA
|
|
59
|
+
```
|
|
60
|
+
/jup dca create 10 SOL to USDC every 1 day # DCA 10 SOL into USDC daily
|
|
61
|
+
/jup dca create 1000 USDC to JUP every 1 hour # Accumulate JUP hourly
|
|
62
|
+
/jup dca list
|
|
63
|
+
/jup dca close XYZ789...
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Features
|
|
67
|
+
|
|
68
|
+
- Best route across 20+ DEXes
|
|
69
|
+
- Automatic route splitting
|
|
70
|
+
- MEV protection
|
|
71
|
+
- Priority fee support
|
|
72
|
+
- **Limit Orders** - set target prices
|
|
73
|
+
- **DCA** - automated periodic swaps
|
|
74
|
+
|
|
75
|
+
## Tools Available
|
|
76
|
+
|
|
77
|
+
### Swap Tools
|
|
78
|
+
| Tool | Description |
|
|
79
|
+
|------|-------------|
|
|
80
|
+
| `solana_jupiter_swap` | Execute swap |
|
|
81
|
+
| `solana_jupiter_quote` | Get quote (no execution) |
|
|
82
|
+
|
|
83
|
+
### Limit Order Tools
|
|
84
|
+
| Tool | Description |
|
|
85
|
+
|------|-------------|
|
|
86
|
+
| `solana_jupiter_limit_order_create` | Create limit order |
|
|
87
|
+
| `solana_jupiter_limit_order_cancel` | Cancel order |
|
|
88
|
+
| `solana_jupiter_limit_orders_list` | List open orders |
|
|
89
|
+
| `solana_jupiter_limit_order_get` | Get order details |
|
|
90
|
+
| `solana_jupiter_limit_order_history` | Order history |
|
|
91
|
+
| `solana_jupiter_trade_history` | Trade fill history |
|
|
92
|
+
|
|
93
|
+
### DCA Tools
|
|
94
|
+
| Tool | Description |
|
|
95
|
+
|------|-------------|
|
|
96
|
+
| `solana_jupiter_dca_create` | Create DCA order |
|
|
97
|
+
| `solana_jupiter_dca_close` | Close DCA |
|
|
98
|
+
| `solana_jupiter_dca_deposit` | Add funds |
|
|
99
|
+
| `solana_jupiter_dca_withdraw` | Withdraw funds |
|
|
100
|
+
| `solana_jupiter_dca_list` | List active DCAs |
|
|
101
|
+
| `solana_jupiter_dca_get` | Get DCA details |
|
|
102
|
+
| `solana_jupiter_dca_balance` | Check balances |
|
|
103
|
+
| `solana_jupiter_dca_fills` | Fill history |
|
|
104
|
+
|
|
105
|
+
## TypeScript API
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
import {
|
|
109
|
+
// Swaps
|
|
110
|
+
executeJupiterSwap,
|
|
111
|
+
getJupiterQuote,
|
|
112
|
+
|
|
113
|
+
// Limit Orders
|
|
114
|
+
createJupiterLimitOrder,
|
|
115
|
+
cancelJupiterLimitOrder,
|
|
116
|
+
listJupiterLimitOrders,
|
|
117
|
+
getJupiterLimitOrder,
|
|
118
|
+
getJupiterLimitOrderHistory,
|
|
119
|
+
getJupiterTradeHistory,
|
|
120
|
+
|
|
121
|
+
// DCA
|
|
122
|
+
createJupiterDCA,
|
|
123
|
+
closeJupiterDCA,
|
|
124
|
+
depositJupiterDCA,
|
|
125
|
+
withdrawJupiterDCA,
|
|
126
|
+
listJupiterDCAs,
|
|
127
|
+
getJupiterDCA,
|
|
128
|
+
getJupiterDCABalance,
|
|
129
|
+
getJupiterDCAFillHistory,
|
|
130
|
+
} from 'clodds/solana/jupiter';
|
|
131
|
+
|
|
132
|
+
// Swap example
|
|
133
|
+
const swap = await executeJupiterSwap(connection, keypair, {
|
|
134
|
+
inputMint: 'So11111111111111111111111111111111111111112',
|
|
135
|
+
outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
136
|
+
amount: '1000000000', // 1 SOL
|
|
137
|
+
slippageBps: 50,
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
// Limit order example
|
|
141
|
+
const order = await createJupiterLimitOrder(connection, keypair, {
|
|
142
|
+
inputMint: 'So11111111111111111111111111111111111111112',
|
|
143
|
+
outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
144
|
+
inAmount: '1000000000', // Sell 1 SOL
|
|
145
|
+
outAmount: '250000000', // For 250 USDC (min)
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
// DCA example
|
|
149
|
+
const dca = await createJupiterDCA(connection, keypair, {
|
|
150
|
+
inputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
151
|
+
outputMint: 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN',
|
|
152
|
+
inAmount: '100000000', // Total 100 USDC
|
|
153
|
+
inAmountPerCycle: '10000000', // 10 USDC per swap
|
|
154
|
+
cycleSecondsApart: 3600, // Every hour
|
|
155
|
+
});
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Environment Variables
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
SOLANA_PRIVATE_KEY=<base58 or JSON array>
|
|
162
|
+
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com # optional
|
|
163
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kamino
|
|
3
|
+
description: "Kamino Finance — Solana lending, borrowing, and liquidity vaults"
|
|
4
|
+
emoji: "🌀"
|
|
5
|
+
commands:
|
|
6
|
+
- /kamino
|
|
7
|
+
gates:
|
|
8
|
+
envs:
|
|
9
|
+
- SOLANA_PRIVATE_KEY
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Kamino Finance
|
|
13
|
+
|
|
14
|
+
Kamino is Solana's largest lending protocol and liquidity vault provider. Deposit collateral, borrow assets, provide liquidity to automated vaults, and monitor health to avoid liquidation.
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
|
|
18
|
+
### Lending
|
|
19
|
+
```
|
|
20
|
+
/kamino deposit <amount> <token> Deposit collateral
|
|
21
|
+
/kamino withdraw <amount|all> <token> Withdraw collateral
|
|
22
|
+
/kamino borrow <amount> <token> Borrow assets
|
|
23
|
+
/kamino repay <amount|all> <token> Repay borrowed assets
|
|
24
|
+
/kamino obligation View your positions
|
|
25
|
+
/kamino health Check health factor & liquidation risk
|
|
26
|
+
/kamino reserves List available reserves with rates
|
|
27
|
+
/kamino rates View supply/borrow APYs
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Liquidity Vaults
|
|
31
|
+
```
|
|
32
|
+
/kamino strategies List all vault strategies
|
|
33
|
+
/kamino strategy <address> Get strategy details
|
|
34
|
+
/kamino vault-deposit <strat> <amtA> [amtB] Deposit to vault
|
|
35
|
+
/kamino vault-withdraw <strat> [shares|all] Withdraw from vault
|
|
36
|
+
/kamino shares View your vault shares
|
|
37
|
+
/kamino share-price <strategy> Get strategy share price
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Info
|
|
41
|
+
```
|
|
42
|
+
/kamino markets List lending markets
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Examples
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
/kamino deposit 100 USDC
|
|
49
|
+
/kamino borrow 50 SOL
|
|
50
|
+
/kamino health
|
|
51
|
+
/kamino repay all SOL
|
|
52
|
+
/kamino rates
|
|
53
|
+
/kamino strategies
|
|
54
|
+
/kamino vault-deposit ABC123... 1000 500
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Configuration
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
export SOLANA_PRIVATE_KEY="your-base58-private-key"
|
|
61
|
+
export SOLANA_RPC_URL="https://api.mainnet-beta.solana.com" # Optional
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## See Also
|
|
65
|
+
|
|
66
|
+
- `/marginfi` — MarginFi lending protocol
|
|
67
|
+
- `/solend` — Solend lending protocol
|
|
68
|
+
- `/jup` — Jupiter DEX aggregator
|
|
69
|
+
- `/bags` — Portfolio overview
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ledger
|
|
3
|
+
description: "Trade decision audit trail and statistics"
|
|
4
|
+
command: ledger
|
|
5
|
+
emoji: "📒"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Ledger
|
|
9
|
+
|
|
10
|
+
Decision audit trail and performance statistics for all trading decisions.
|
|
11
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/ledger list [n] [category] View recent decisions (with optional filters)
|
|
16
|
+
/ledger get <id> Show detailed decision information
|
|
17
|
+
/ledger stats [period] Decision statistics (24h, 7d, 30d, 90d, all)
|
|
18
|
+
/ledger calibration Confidence accuracy analysis
|
|
19
|
+
/ledger help Show help
|
|
20
|
+
```
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lighter
|
|
3
|
+
description: "Lighter — Orderbook DEX on Arbitrum"
|
|
4
|
+
emoji: "⚡"
|
|
5
|
+
commands:
|
|
6
|
+
- /lighter
|
|
7
|
+
gates:
|
|
8
|
+
envs:
|
|
9
|
+
- EVM_PRIVATE_KEY
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Lighter
|
|
13
|
+
|
|
14
|
+
On-chain orderbook DEX on Arbitrum. Trade perpetual futures with deep liquidity and low fees.
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Set credentials
|
|
20
|
+
export EVM_PRIVATE_KEY="0x..."
|
|
21
|
+
|
|
22
|
+
# Check markets
|
|
23
|
+
/lighter markets
|
|
24
|
+
|
|
25
|
+
# Get price
|
|
26
|
+
/lighter price ETH-USD
|
|
27
|
+
|
|
28
|
+
# Open positions
|
|
29
|
+
/lighter long ETH-USD 1
|
|
30
|
+
/lighter short BTC-USD 0.1 45000
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Commands
|
|
34
|
+
|
|
35
|
+
### Market Data
|
|
36
|
+
|
|
37
|
+
| Command | Description |
|
|
38
|
+
|---------|-------------|
|
|
39
|
+
| `/lighter markets` | List available markets |
|
|
40
|
+
| `/lighter price <market>` | Get current price |
|
|
41
|
+
| `/lighter book <market>` | Show orderbook depth |
|
|
42
|
+
|
|
43
|
+
### Account
|
|
44
|
+
|
|
45
|
+
| Command | Description |
|
|
46
|
+
|---------|-------------|
|
|
47
|
+
| `/lighter balance` | Show balances |
|
|
48
|
+
| `/lighter positions` | Show open positions |
|
|
49
|
+
| `/lighter orders` | List open orders |
|
|
50
|
+
|
|
51
|
+
### Trading
|
|
52
|
+
|
|
53
|
+
| Command | Description |
|
|
54
|
+
|---------|-------------|
|
|
55
|
+
| `/lighter long <market> <size> [price]` | Open long position |
|
|
56
|
+
| `/lighter short <market> <size> [price]` | Open short position |
|
|
57
|
+
| `/lighter close <market>` | Close position |
|
|
58
|
+
| `/lighter closeall` | Close all positions |
|
|
59
|
+
| `/lighter cancel <orderId>` | Cancel order |
|
|
60
|
+
| `/lighter cancelall` | Cancel all orders |
|
|
61
|
+
|
|
62
|
+
**Examples:**
|
|
63
|
+
```bash
|
|
64
|
+
/lighter long ETH-USD 1 # Market long 1 ETH
|
|
65
|
+
/lighter long ETH-USD 1 3000 # Limit long at $3,000
|
|
66
|
+
/lighter short BTC-USD 0.1 # Market short 0.1 BTC
|
|
67
|
+
/lighter close ETH-USD # Close ETH position
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Configuration
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Required
|
|
74
|
+
export EVM_PRIVATE_KEY="0x..."
|
|
75
|
+
|
|
76
|
+
# Optional
|
|
77
|
+
export DRY_RUN=true
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Resources
|
|
81
|
+
|
|
82
|
+
- [Lighter App](https://app.lighter.xyz)
|
|
83
|
+
- [Lighter Docs](https://docs.lighter.xyz)
|