clodds 1.2.7 → 1.2.9

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.
@@ -0,0 +1,36 @@
1
+ /**
2
+ * DEX Market Intelligence Skill - Cross-chain, cross-DEX market data
3
+ *
4
+ * Powered by DexScreener (free, no API key required).
5
+ * Works across all chains: Solana, Ethereum, BSC, Base, Arbitrum, etc.
6
+ *
7
+ * Commands:
8
+ *
9
+ * DISCOVERY:
10
+ * /dex trending [chain] - Top tokens by 24h volume
11
+ * /dex gainers [chain] - Top 24h price gainers
12
+ * /dex losers [chain] - Top 24h price losers
13
+ * /dex hot [chain] - Most active right now (1h transactions)
14
+ * /dex new [chain] - Newest token profiles
15
+ * /dex boosted - DexScreener trending/boosted tokens
16
+ *
17
+ * TOKEN DATA:
18
+ * /dex token <address> [chain] - Full token stats (price, vol, liq, txns)
19
+ * /dex pairs <address> [chain] - All trading pairs for a token
20
+ * /dex search <query> - Search any token across all chains
21
+ *
22
+ * FILTERS (chain OR protocol):
23
+ * Chains: solana, ethereum, bsc, base, arbitrum, polygon, avalanche, optimism, sui, aptos, ton
24
+ * Solana DEXes: pumpfun, pumpswap, raydium, orca, meteora
25
+ * Base protocols: virtuals, clanker, aerodrome
26
+ * Ethereum: uniswap, sushiswap, curve
27
+ * BSC: pancakeswap
28
+ */
29
+ export declare function execute(args: string): Promise<string>;
30
+ declare const _default: {
31
+ name: string;
32
+ description: string;
33
+ commands: string[];
34
+ handle: typeof execute;
35
+ };
36
+ export default _default;
@@ -0,0 +1,537 @@
1
+ "use strict";
2
+ /**
3
+ * DEX Market Intelligence Skill - Cross-chain, cross-DEX market data
4
+ *
5
+ * Powered by DexScreener (free, no API key required).
6
+ * Works across all chains: Solana, Ethereum, BSC, Base, Arbitrum, etc.
7
+ *
8
+ * Commands:
9
+ *
10
+ * DISCOVERY:
11
+ * /dex trending [chain] - Top tokens by 24h volume
12
+ * /dex gainers [chain] - Top 24h price gainers
13
+ * /dex losers [chain] - Top 24h price losers
14
+ * /dex hot [chain] - Most active right now (1h transactions)
15
+ * /dex new [chain] - Newest token profiles
16
+ * /dex boosted - DexScreener trending/boosted tokens
17
+ *
18
+ * TOKEN DATA:
19
+ * /dex token <address> [chain] - Full token stats (price, vol, liq, txns)
20
+ * /dex pairs <address> [chain] - All trading pairs for a token
21
+ * /dex search <query> - Search any token across all chains
22
+ *
23
+ * FILTERS (chain OR protocol):
24
+ * Chains: solana, ethereum, bsc, base, arbitrum, polygon, avalanche, optimism, sui, aptos, ton
25
+ * Solana DEXes: pumpfun, pumpswap, raydium, orca, meteora
26
+ * Base protocols: virtuals, clanker, aerodrome
27
+ * Ethereum: uniswap, sushiswap, curve
28
+ * BSC: pancakeswap
29
+ */
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.execute = execute;
32
+ const DEXSCREENER_API = 'https://api.dexscreener.com';
33
+ // ============================================================================
34
+ // Helpers
35
+ // ============================================================================
36
+ const CHAIN_ALIASES = {
37
+ sol: 'solana', solana: 'solana',
38
+ eth: 'ethereum', ethereum: 'ethereum',
39
+ bsc: 'bsc', bnb: 'bsc',
40
+ base: 'base',
41
+ arb: 'arbitrum', arbitrum: 'arbitrum',
42
+ polygon: 'polygon', matic: 'polygon',
43
+ avax: 'avalanche', avalanche: 'avalanche',
44
+ op: 'optimism', optimism: 'optimism',
45
+ sui: 'sui',
46
+ aptos: 'aptos',
47
+ ton: 'ton',
48
+ near: 'near',
49
+ sei: 'seiv2',
50
+ cronos: 'cronos',
51
+ tron: 'tron',
52
+ pulsechain: 'pulsechain',
53
+ linea: 'linea',
54
+ zksync: 'zksync',
55
+ manta: 'manta',
56
+ ink: 'ink',
57
+ };
58
+ // DEX/Protocol aliases → { chain, dexId } or search term
59
+ // When a user says "/dex trending pumpfun", we filter by dexId
60
+ const DEX_ALIASES = {
61
+ // Solana DEXes
62
+ pumpfun: { chain: 'solana', dexId: 'pumpfun' },
63
+ 'pump.fun': { chain: 'solana', dexId: 'pumpfun' },
64
+ pump: { chain: 'solana', dexId: 'pumpfun' },
65
+ pumpswap: { chain: 'solana', dexId: 'pumpswap' },
66
+ raydium: { chain: 'solana', dexId: 'raydium' },
67
+ orca: { chain: 'solana', dexId: 'orca' },
68
+ meteora: { chain: 'solana', dexId: 'meteora' },
69
+ jupiter: { chain: 'solana', dexId: 'raydium' }, // Jupiter routes through raydium
70
+ // Base DEXes
71
+ aerodrome: { chain: 'base', dexId: 'aerodrome' },
72
+ virtuals: { chain: 'base', search: 'virtuals' },
73
+ clanker: { chain: 'base', search: 'clanker' },
74
+ // Ethereum DEXes
75
+ uniswap: { chain: 'ethereum', dexId: 'uniswap' },
76
+ sushiswap: { chain: 'ethereum', dexId: 'sushiswap' },
77
+ curve: { chain: 'ethereum', dexId: 'curve' },
78
+ // BSC DEXes
79
+ pancakeswap: { chain: 'bsc', dexId: 'pancakeswap' },
80
+ pancake: { chain: 'bsc', dexId: 'pancakeswap' },
81
+ // Other
82
+ velodrome: { chain: 'optimism', dexId: 'velodrome' },
83
+ traderjoe: { chain: 'avalanche', dexId: 'traderjoe' },
84
+ };
85
+ function resolveFilter(input) {
86
+ if (!input)
87
+ return { label: 'All Chains' };
88
+ const lower = input.toLowerCase();
89
+ // Check DEX aliases first (more specific)
90
+ const dex = DEX_ALIASES[lower];
91
+ if (dex) {
92
+ return {
93
+ chain: dex.chain,
94
+ dexId: dex.dexId,
95
+ search: dex.search,
96
+ label: input.charAt(0).toUpperCase() + input.slice(1),
97
+ };
98
+ }
99
+ // Then chain aliases
100
+ const chain = CHAIN_ALIASES[lower] || lower;
101
+ return { chain, label: chainEmoji(chain) };
102
+ }
103
+ function formatUsd(n) {
104
+ if (n >= 1_000_000_000)
105
+ return `$${(n / 1_000_000_000).toFixed(2)}B`;
106
+ if (n >= 1_000_000)
107
+ return `$${(n / 1_000_000).toFixed(2)}M`;
108
+ if (n >= 1_000)
109
+ return `$${(n / 1_000).toFixed(1)}K`;
110
+ return `$${n.toFixed(0)}`;
111
+ }
112
+ function formatPrice(price) {
113
+ const p = typeof price === 'string' ? parseFloat(price) : price;
114
+ if (p === 0)
115
+ return '$0';
116
+ if (p < 0.000001)
117
+ return `$${p.toExponential(2)}`;
118
+ if (p < 0.01)
119
+ return `$${p.toFixed(8)}`;
120
+ if (p < 1)
121
+ return `$${p.toFixed(6)}`;
122
+ if (p < 1000)
123
+ return `$${p.toFixed(4)}`;
124
+ return `$${p.toFixed(2)}`;
125
+ }
126
+ function chainEmoji(chain) {
127
+ const emojis = {
128
+ solana: 'SOL', ethereum: 'ETH', bsc: 'BSC', base: 'BASE',
129
+ arbitrum: 'ARB', polygon: 'POLY', avalanche: 'AVAX',
130
+ optimism: 'OP', sui: 'SUI', aptos: 'APT', ton: 'TON',
131
+ };
132
+ return emojis[chain] || chain.toUpperCase();
133
+ }
134
+ async function dexRequest(endpoint) {
135
+ const resp = await fetch(`${DEXSCREENER_API}${endpoint}`);
136
+ if (!resp.ok)
137
+ throw new Error(`DexScreener error: ${resp.status}`);
138
+ return resp.json();
139
+ }
140
+ // Deduplicate pairs — keep highest volume pair per base token
141
+ function dedupeByToken(pairs) {
142
+ const map = new Map();
143
+ for (const p of pairs) {
144
+ const key = `${p.chainId}:${p.baseToken.address}`;
145
+ const existing = map.get(key);
146
+ if (!existing || (p.volume?.h24 || 0) > (existing.volume?.h24 || 0)) {
147
+ map.set(key, p);
148
+ }
149
+ }
150
+ return [...map.values()];
151
+ }
152
+ // ============================================================================
153
+ // Discovery Handlers
154
+ // ============================================================================
155
+ // Fetch enriched pairs for a filter — either from boosted tokens or search
156
+ async function fetchFilteredPairs(filter) {
157
+ // If filter has a search term (e.g. "virtuals", "clanker"), use DexScreener search
158
+ if (filter.search) {
159
+ const data = await dexRequest(`/latest/dex/search?q=${encodeURIComponent(filter.search)}`);
160
+ let pairs = data.pairs || [];
161
+ if (filter.chain)
162
+ pairs = pairs.filter(p => p.chainId === filter.chain);
163
+ if (filter.dexId)
164
+ pairs = pairs.filter(p => p.dexId === filter.dexId);
165
+ return dedupeByToken(pairs);
166
+ }
167
+ // Otherwise use boosted tokens as the source, then enrich
168
+ const boosts = await dexRequest('/token-boosts/top/v1');
169
+ let filtered = boosts || [];
170
+ if (filter.chain)
171
+ filtered = filtered.filter(b => b.chainId === filter.chain);
172
+ if (!filtered.length)
173
+ return [];
174
+ const topTokens = filtered.slice(0, 15);
175
+ const pairsByChain = new Map();
176
+ for (const t of topTokens) {
177
+ const list = pairsByChain.get(t.chainId) || [];
178
+ list.push(t.tokenAddress);
179
+ pairsByChain.set(t.chainId, list);
180
+ }
181
+ const allPairs = [];
182
+ for (const [c, addrs] of pairsByChain) {
183
+ try {
184
+ const pairs = await dexRequest(`/tokens/v1/${c}/${addrs.join(',')}`);
185
+ if (Array.isArray(pairs))
186
+ allPairs.push(...pairs);
187
+ }
188
+ catch { /* skip chain errors */ }
189
+ }
190
+ let result = allPairs;
191
+ if (filter.dexId)
192
+ result = result.filter(p => p.dexId === filter.dexId);
193
+ return dedupeByToken(result);
194
+ }
195
+ async function handleTrending(args) {
196
+ const filter = resolveFilter(args[0]);
197
+ try {
198
+ const deduped = await fetchFilteredPairs(filter);
199
+ deduped.sort((a, b) => (b.volume?.h24 || 0) - (a.volume?.h24 || 0));
200
+ if (!deduped.length)
201
+ return `No trending tokens found on ${filter.label}. Try: /dex trending`;
202
+ let output = `**Trending on ${filter.label} (24h Volume)**\n\n`;
203
+ for (let i = 0; i < Math.min(deduped.length, 15); i++) {
204
+ const p = deduped[i];
205
+ const change = p.priceChange?.h24 || 0;
206
+ const changeStr = `${change >= 0 ? '+' : ''}${change.toFixed(1)}%`;
207
+ output += `${i + 1}. **${p.baseToken.symbol}** [${chainEmoji(p.chainId)}]\n`;
208
+ output += ` ${formatPrice(p.priceUsd)} | MCap: ${formatUsd(p.marketCap || p.fdv || 0)}`;
209
+ output += ` | Vol: ${formatUsd(p.volume?.h24 || 0)} | ${changeStr}\n`;
210
+ output += ` ${p.dexId} | \`${p.baseToken.address.slice(0, 20)}...\`\n\n`;
211
+ }
212
+ return output;
213
+ }
214
+ catch (error) {
215
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
216
+ }
217
+ }
218
+ async function handleGainers(args) {
219
+ const filter = resolveFilter(args[0]);
220
+ try {
221
+ const deduped = await fetchFilteredPairs(filter);
222
+ deduped.sort((a, b) => (b.priceChange?.h24 || 0) - (a.priceChange?.h24 || 0));
223
+ if (!deduped.length)
224
+ return `No gainer data on ${filter.label}.`;
225
+ let output = `**Top Gainers on ${filter.label} (24h)**\n\n`;
226
+ for (let i = 0; i < Math.min(deduped.length, 15); i++) {
227
+ const p = deduped[i];
228
+ const change = p.priceChange?.h24 || 0;
229
+ const arrow = change >= 0 ? '📈' : '📉';
230
+ output += `${i + 1}. ${arrow} **${p.baseToken.symbol}** [${chainEmoji(p.chainId)}] ${change >= 0 ? '+' : ''}${change.toFixed(1)}%\n`;
231
+ output += ` ${formatPrice(p.priceUsd)} | MCap: ${formatUsd(p.marketCap || p.fdv || 0)} | Vol: ${formatUsd(p.volume?.h24 || 0)}\n`;
232
+ output += ` ${p.dexId} | \`${p.baseToken.address.slice(0, 20)}...\`\n\n`;
233
+ }
234
+ return output;
235
+ }
236
+ catch (error) {
237
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
238
+ }
239
+ }
240
+ async function handleLosers(args) {
241
+ const filter = resolveFilter(args[0]);
242
+ try {
243
+ const deduped = await fetchFilteredPairs(filter);
244
+ deduped.sort((a, b) => (a.priceChange?.h24 || 0) - (b.priceChange?.h24 || 0));
245
+ if (!deduped.length)
246
+ return `No loser data on ${filter.label}.`;
247
+ let output = `**Top Losers on ${filter.label} (24h)**\n\n`;
248
+ for (let i = 0; i < Math.min(deduped.length, 15); i++) {
249
+ const p = deduped[i];
250
+ const change = p.priceChange?.h24 || 0;
251
+ output += `${i + 1}. 📉 **${p.baseToken.symbol}** [${chainEmoji(p.chainId)}] ${change.toFixed(1)}%\n`;
252
+ output += ` ${formatPrice(p.priceUsd)} | MCap: ${formatUsd(p.marketCap || p.fdv || 0)} | Vol: ${formatUsd(p.volume?.h24 || 0)}\n`;
253
+ output += ` ${p.dexId} | \`${p.baseToken.address.slice(0, 20)}...\`\n\n`;
254
+ }
255
+ return output;
256
+ }
257
+ catch (error) {
258
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
259
+ }
260
+ }
261
+ async function handleHot(args) {
262
+ const filter = resolveFilter(args[0]);
263
+ try {
264
+ const deduped = await fetchFilteredPairs(filter);
265
+ deduped.sort((a, b) => {
266
+ const aTxns = (a.txns?.h1?.buys || 0) + (a.txns?.h1?.sells || 0);
267
+ const bTxns = (b.txns?.h1?.buys || 0) + (b.txns?.h1?.sells || 0);
268
+ return bTxns - aTxns;
269
+ });
270
+ if (!deduped.length)
271
+ return `No activity data on ${filter.label}.`;
272
+ let output = `**Hottest Right Now on ${filter.label} (1h Activity)**\n\n`;
273
+ for (let i = 0; i < Math.min(deduped.length, 15); i++) {
274
+ const p = deduped[i];
275
+ const txns1h = (p.txns?.h1?.buys || 0) + (p.txns?.h1?.sells || 0);
276
+ const change1h = p.priceChange?.h1 || 0;
277
+ output += `${i + 1}. **${p.baseToken.symbol}** [${chainEmoji(p.chainId)}] - ${txns1h.toLocaleString()} txns/1h\n`;
278
+ output += ` ${formatPrice(p.priceUsd)} | 1h Vol: ${formatUsd(p.volume?.h1 || 0)}`;
279
+ output += ` | 1h: ${change1h >= 0 ? '+' : ''}${change1h.toFixed(1)}%\n`;
280
+ output += ` ${p.dexId} | \`${p.baseToken.address.slice(0, 20)}...\`\n\n`;
281
+ }
282
+ return output;
283
+ }
284
+ catch (error) {
285
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
286
+ }
287
+ }
288
+ async function handleNew(args) {
289
+ const filter = resolveFilter(args[0]);
290
+ const chain = filter.chain;
291
+ try {
292
+ const profiles = await dexRequest('/token-profiles/latest/v1');
293
+ let filtered = profiles || [];
294
+ if (chain) {
295
+ filtered = filtered.filter(p => p.chainId === chain);
296
+ }
297
+ if (!filtered.length) {
298
+ return chain
299
+ ? `No new token profiles on ${chain}.`
300
+ : 'No new token profiles found.';
301
+ }
302
+ // Get pair data for enrichment
303
+ const topTokens = filtered.slice(0, 12);
304
+ const pairsByChain = new Map();
305
+ for (const t of topTokens) {
306
+ const list = pairsByChain.get(t.chainId) || [];
307
+ list.push(t.tokenAddress);
308
+ pairsByChain.set(t.chainId, list);
309
+ }
310
+ const allPairs = [];
311
+ for (const [c, addrs] of pairsByChain) {
312
+ try {
313
+ const pairs = await dexRequest(`/tokens/v1/${c}/${addrs.join(',')}`);
314
+ if (Array.isArray(pairs))
315
+ allPairs.push(...pairs);
316
+ }
317
+ catch { /* skip */ }
318
+ }
319
+ const pairMap = new Map();
320
+ for (const p of allPairs) {
321
+ const key = `${p.chainId}:${p.baseToken.address}`;
322
+ const existing = pairMap.get(key);
323
+ if (!existing || (p.volume?.h24 || 0) > (existing.volume?.h24 || 0)) {
324
+ pairMap.set(key, p);
325
+ }
326
+ }
327
+ const title = chain ? `New Tokens on ${chainEmoji(chain)}` : 'Newest Token Profiles (All Chains)';
328
+ let output = `**${title}**\n\n`;
329
+ for (let i = 0; i < Math.min(topTokens.length, 15); i++) {
330
+ const t = topTokens[i];
331
+ const pair = pairMap.get(`${t.chainId}:${t.tokenAddress}`);
332
+ output += `${i + 1}. **${pair?.baseToken.symbol || '???'}** [${chainEmoji(t.chainId)}]`;
333
+ if (pair) {
334
+ output += ` - ${formatPrice(pair.priceUsd)}`;
335
+ output += `\n MCap: ${formatUsd(pair.marketCap || pair.fdv || 0)} | Vol: ${formatUsd(pair.volume?.h24 || 0)}`;
336
+ const change = pair.priceChange?.h24 || 0;
337
+ output += ` | 24h: ${change >= 0 ? '+' : ''}${change.toFixed(1)}%`;
338
+ }
339
+ if (t.description)
340
+ output += `\n ${t.description.slice(0, 80)}${t.description.length > 80 ? '...' : ''}`;
341
+ output += `\n \`${t.tokenAddress.slice(0, 20)}...\`\n\n`;
342
+ }
343
+ return output;
344
+ }
345
+ catch (error) {
346
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
347
+ }
348
+ }
349
+ async function handleBoosted() {
350
+ try {
351
+ const boosts = await dexRequest('/token-boosts/top/v1');
352
+ if (!boosts?.length)
353
+ return 'No boosted tokens found.';
354
+ let output = '**DexScreener Boosted/Trending**\n\n';
355
+ for (let i = 0; i < Math.min(boosts.length, 15); i++) {
356
+ const b = boosts[i];
357
+ output += `${i + 1}. [${chainEmoji(b.chainId)}] \`${b.tokenAddress.slice(0, 20)}...\`\n`;
358
+ output += ` Boost: ${b.totalAmount}`;
359
+ if (b.description)
360
+ output += ` | ${b.description.slice(0, 60)}${b.description.length > 60 ? '...' : ''}`;
361
+ output += '\n\n';
362
+ }
363
+ return output;
364
+ }
365
+ catch (error) {
366
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
367
+ }
368
+ }
369
+ // ============================================================================
370
+ // Token Data Handlers
371
+ // ============================================================================
372
+ async function handleToken(args) {
373
+ if (!args[0])
374
+ return 'Usage: /dex token <address> [chain]';
375
+ const address = args[0];
376
+ const filter = resolveFilter(args[1]);
377
+ const chain = filter.chain || 'solana';
378
+ try {
379
+ const pairs = await dexRequest(`/tokens/v1/${chain}/${address}`);
380
+ if (!Array.isArray(pairs) || !pairs.length) {
381
+ return `No data found for \`${address.slice(0, 20)}...\` on ${chain}.`;
382
+ }
383
+ // Use highest volume pair
384
+ pairs.sort((a, b) => (b.volume?.h24 || 0) - (a.volume?.h24 || 0));
385
+ const p = pairs[0];
386
+ const txns24h = (p.txns?.h24?.buys || 0) + (p.txns?.h24?.sells || 0);
387
+ const txns1h = (p.txns?.h1?.buys || 0) + (p.txns?.h1?.sells || 0);
388
+ let output = `**${p.baseToken.symbol} / ${p.quoteToken.symbol}** [${chainEmoji(p.chainId)}]\n\n`;
389
+ output += `**Price:** ${formatPrice(p.priceUsd)}\n`;
390
+ output += `**Market Cap:** ${formatUsd(p.marketCap || p.fdv || 0)}\n`;
391
+ output += `**Liquidity:** ${formatUsd(p.liquidity?.usd || 0)}\n`;
392
+ output += `**DEX:** ${p.dexId}\n\n`;
393
+ output += '**Volume:**\n';
394
+ output += ` 24h: ${formatUsd(p.volume?.h24 || 0)}\n`;
395
+ output += ` 6h: ${formatUsd(p.volume?.h6 || 0)}\n`;
396
+ output += ` 1h: ${formatUsd(p.volume?.h1 || 0)}\n`;
397
+ output += ` 5m: ${formatUsd(p.volume?.m5 || 0)}\n\n`;
398
+ output += '**Price Change:**\n';
399
+ output += ` 24h: ${(p.priceChange?.h24 || 0) >= 0 ? '+' : ''}${(p.priceChange?.h24 || 0).toFixed(2)}%\n`;
400
+ output += ` 6h: ${(p.priceChange?.h6 || 0) >= 0 ? '+' : ''}${(p.priceChange?.h6 || 0).toFixed(2)}%\n`;
401
+ output += ` 1h: ${(p.priceChange?.h1 || 0) >= 0 ? '+' : ''}${(p.priceChange?.h1 || 0).toFixed(2)}%\n`;
402
+ output += ` 5m: ${(p.priceChange?.m5 || 0) >= 0 ? '+' : ''}${(p.priceChange?.m5 || 0).toFixed(2)}%\n\n`;
403
+ output += '**Transactions:**\n';
404
+ output += ` 24h: ${txns24h.toLocaleString()} (${p.txns?.h24?.buys || 0} buys / ${p.txns?.h24?.sells || 0} sells)\n`;
405
+ output += ` 1h: ${txns1h.toLocaleString()} (${p.txns?.h1?.buys || 0} buys / ${p.txns?.h1?.sells || 0} sells)\n\n`;
406
+ if (pairs.length > 1) {
407
+ output += `**Other Pairs:** ${pairs.length - 1} more on ${[...new Set(pairs.map(pp => pp.dexId))].join(', ')}\n\n`;
408
+ }
409
+ output += `Pair: \`${p.pairAddress}\`\nToken: \`${address}\``;
410
+ return output;
411
+ }
412
+ catch (error) {
413
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
414
+ }
415
+ }
416
+ async function handlePairs(args) {
417
+ if (!args[0])
418
+ return 'Usage: /dex pairs <address> [chain]';
419
+ const address = args[0];
420
+ const filter = resolveFilter(args[1]);
421
+ const chain = filter.chain || 'solana';
422
+ try {
423
+ const pairs = await dexRequest(`/tokens/v1/${chain}/${address}`);
424
+ if (!Array.isArray(pairs) || !pairs.length) {
425
+ return `No pairs found for \`${address.slice(0, 20)}...\` on ${chain}.`;
426
+ }
427
+ pairs.sort((a, b) => (b.volume?.h24 || 0) - (a.volume?.h24 || 0));
428
+ let output = `**${pairs[0].baseToken.symbol} Trading Pairs** [${chainEmoji(chain)}]\n\n`;
429
+ output += `Total: ${pairs.length} pairs\n\n`;
430
+ for (let i = 0; i < Math.min(pairs.length, 10); i++) {
431
+ const p = pairs[i];
432
+ output += `${i + 1}. **${p.baseToken.symbol}/${p.quoteToken.symbol}** on ${p.dexId}\n`;
433
+ output += ` ${formatPrice(p.priceUsd)} | Vol: ${formatUsd(p.volume?.h24 || 0)} | Liq: ${formatUsd(p.liquidity?.usd || 0)}\n`;
434
+ output += ` \`${p.pairAddress.slice(0, 20)}...\`\n\n`;
435
+ }
436
+ return output;
437
+ }
438
+ catch (error) {
439
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
440
+ }
441
+ }
442
+ async function handleSearch(query) {
443
+ if (!query)
444
+ return 'Usage: /dex search <query>';
445
+ try {
446
+ const data = await dexRequest(`/latest/dex/search?q=${encodeURIComponent(query)}`);
447
+ if (!data.pairs?.length)
448
+ return `No results for "${query}".`;
449
+ const deduped = dedupeByToken(data.pairs);
450
+ deduped.sort((a, b) => (b.volume?.h24 || 0) - (a.volume?.h24 || 0));
451
+ let output = `**Search: "${query}"**\n\n`;
452
+ for (let i = 0; i < Math.min(deduped.length, 15); i++) {
453
+ const p = deduped[i];
454
+ const change = p.priceChange?.h24 || 0;
455
+ output += `${i + 1}. **${p.baseToken.symbol}** - ${p.baseToken.name} [${chainEmoji(p.chainId)}]\n`;
456
+ output += ` ${formatPrice(p.priceUsd)} | MCap: ${formatUsd(p.marketCap || p.fdv || 0)}`;
457
+ output += ` | Vol: ${formatUsd(p.volume?.h24 || 0)} | ${change >= 0 ? '+' : ''}${change.toFixed(1)}%\n`;
458
+ output += ` DEX: ${p.dexId} | \`${p.baseToken.address.slice(0, 20)}...\`\n\n`;
459
+ }
460
+ return output;
461
+ }
462
+ catch (error) {
463
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
464
+ }
465
+ }
466
+ // ============================================================================
467
+ // Main Execute Function
468
+ // ============================================================================
469
+ async function execute(args) {
470
+ const parts = args.trim().split(/\s+/);
471
+ const command = parts[0]?.toLowerCase() || 'help';
472
+ const rest = parts.slice(1);
473
+ switch (command) {
474
+ // Discovery
475
+ case 'trending':
476
+ return handleTrending(rest);
477
+ case 'gainers':
478
+ return handleGainers(rest);
479
+ case 'losers':
480
+ return handleLosers(rest);
481
+ case 'hot':
482
+ return handleHot(rest);
483
+ case 'new':
484
+ return handleNew(rest);
485
+ case 'boosted':
486
+ return handleBoosted();
487
+ // Token Data
488
+ case 'token':
489
+ case 'info':
490
+ return handleToken(rest);
491
+ case 'pairs':
492
+ return handlePairs(rest);
493
+ case 'search':
494
+ return handleSearch(rest.join(' '));
495
+ case 'help':
496
+ default:
497
+ return `**DEX Market Intelligence (9 Commands)**
498
+
499
+ Powered by DexScreener - works across all chains and DEXes, no API key.
500
+
501
+ **Discovery:**
502
+ /dex trending [filter] Top tokens by 24h volume
503
+ /dex gainers [filter] Top 24h price gainers
504
+ /dex losers [filter] Top 24h price losers
505
+ /dex hot [filter] Most active right now (1h txns)
506
+ /dex new [filter] Newest token profiles
507
+ /dex boosted DexScreener trending tokens
508
+
509
+ **Token Data:**
510
+ /dex token <address> [chain] Full stats (price, vol, liq, txns)
511
+ /dex pairs <address> [chain] All trading pairs for a token
512
+ /dex search <query> Search any token across all chains
513
+
514
+ **Filter = chain OR protocol:**
515
+ Chains: solana, ethereum, bsc, base, arbitrum, polygon, avalanche, optimism, sui, aptos, ton
516
+ Solana DEXes: pumpfun, pumpswap, raydium, orca, meteora, jupiter
517
+ Base: virtuals, clanker, aerodrome
518
+ Ethereum: uniswap, sushiswap, curve
519
+ BSC: pancakeswap
520
+
521
+ **Examples:**
522
+ /dex trending solana
523
+ /dex trending pumpfun
524
+ /dex gainers virtuals
525
+ /dex hot base
526
+ /dex losers ethereum
527
+ /dex token <address> eth
528
+ /dex search PEPE`;
529
+ }
530
+ }
531
+ exports.default = {
532
+ name: 'dex',
533
+ description: 'Cross-chain DEX market intelligence - trending, gainers, losers, volume, stats via DexScreener',
534
+ commands: ['/dex', '/dexscreener'],
535
+ handle: execute,
536
+ };
537
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/dex/index.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,11 @@
14
14
  * /pump quote <mint> <amount> <action>
15
15
  *
16
16
  * DISCOVERY:
17
- * /pump trending - Top performing tokens
17
+ * /pump trending - Top tokens by 24h volume (via DexScreener)
18
+ * /pump gainers - Top 24h price gainers
19
+ * /pump losers - Top 24h price losers
20
+ * /pump hot - Most active right now (1h transactions)
21
+ * /pump new-hot - Hottest new tokens by volume
18
22
  * /pump new - Recently created tokens
19
23
  * /pump live - Currently trading tokens
20
24
  * /pump graduated - Tokens migrated to Raydium
@@ -23,6 +27,9 @@
23
27
  * /pump koth - King of the Hill tokens (30-35K mcap)
24
28
  *
25
29
  * TOKEN DATA:
30
+ * /pump stats <mint> - Volume, txns, liquidity, price change (DexScreener)
31
+ *
32
+ * TOKEN DATA:
26
33
  * /pump token <mint> - Full token info (metadata, price, holders, liquidity)
27
34
  * /pump price <mint> - Current price and OHLCV
28
35
  * /pump holders <mint> - Top holders
@@ -15,7 +15,11 @@
15
15
  * /pump quote <mint> <amount> <action>
16
16
  *
17
17
  * DISCOVERY:
18
- * /pump trending - Top performing tokens
18
+ * /pump trending - Top tokens by 24h volume (via DexScreener)
19
+ * /pump gainers - Top 24h price gainers
20
+ * /pump losers - Top 24h price losers
21
+ * /pump hot - Most active right now (1h transactions)
22
+ * /pump new-hot - Hottest new tokens by volume
19
23
  * /pump new - Recently created tokens
20
24
  * /pump live - Currently trading tokens
21
25
  * /pump graduated - Tokens migrated to Raydium
@@ -24,6 +28,9 @@
24
28
  * /pump koth - King of the Hill tokens (30-35K mcap)
25
29
  *
26
30
  * TOKEN DATA:
31
+ * /pump stats <mint> - Volume, txns, liquidity, price change (DexScreener)
32
+ *
33
+ * TOKEN DATA:
27
34
  * /pump token <mint> - Full token info (metadata, price, holders, liquidity)
28
35
  * /pump price <mint> - Current price and OHLCV
29
36
  * /pump holders <mint> - Top holders
@@ -364,22 +371,120 @@ Fee (0.5%): ${fee.toFixed(6)} SOL
364
371
  return `Quote failed: ${error instanceof Error ? error.message : String(error)}`;
365
372
  }
366
373
  }
374
+ async function enrichWithDexScreener(mints) {
375
+ const result = new Map();
376
+ if (!mints.length)
377
+ return result;
378
+ try {
379
+ const resp = await fetch(`https://api.dexscreener.com/tokens/v1/solana/${mints.join(',')}`);
380
+ if (!resp.ok)
381
+ return result;
382
+ const pairs = await resp.json();
383
+ if (!Array.isArray(pairs))
384
+ return result;
385
+ // Keep highest-volume pair per token
386
+ for (const p of pairs) {
387
+ const addr = p.baseToken?.address;
388
+ if (!addr)
389
+ continue;
390
+ const vol24h = p.volume?.h24 || 0;
391
+ const existing = result.get(addr);
392
+ if (!existing || vol24h > existing.vol24h) {
393
+ const txns24h = p.txns?.h24 ? (p.txns.h24.buys + p.txns.h24.sells) : 0;
394
+ const txns1h = p.txns?.h1 ? (p.txns.h1.buys + p.txns.h1.sells) : 0;
395
+ result.set(addr, {
396
+ mint: addr,
397
+ name: p.baseToken.name,
398
+ symbol: p.baseToken.symbol,
399
+ marketCap: p.marketCap || p.fdv || 0,
400
+ vol24h,
401
+ vol1h: p.volume?.h1 || 0,
402
+ change24h: p.priceChange?.h24 || 0,
403
+ change1h: p.priceChange?.h1 || 0,
404
+ txns24h,
405
+ txns1h,
406
+ liquidity: p.liquidity?.usd || 0,
407
+ dex: p.dexId || 'unknown',
408
+ priceUsd: p.priceUsd || '0',
409
+ });
410
+ }
411
+ }
412
+ }
413
+ catch { /* best-effort */ }
414
+ return result;
415
+ }
416
+ async function getTopPumpTokenMints(limit = 20) {
417
+ const tokens = await pumpFrontendRequest(`/coins?limit=${limit}&offset=0&sort=market_cap&order=DESC&includeNsfw=false&complete=true`);
418
+ return tokens?.map(t => t.mint) || [];
419
+ }
367
420
  // ============================================================================
368
421
  // Discovery Handlers
369
422
  // ============================================================================
370
423
  async function handleTrending() {
371
424
  try {
372
- const tokens = await pumpFrontendRequest('/coins/top-runners');
373
- if (!tokens?.length)
425
+ const mints = await getTopPumpTokenMints(20);
426
+ if (!mints.length)
374
427
  return 'No trending tokens found.';
375
- let output = '**Trending on Pump.fun**\n\n';
376
- for (let i = 0; i < Math.min(tokens.length, 15); i++) {
428
+ const dex = await enrichWithDexScreener(mints);
429
+ const tokens = [...dex.values()].sort((a, b) => b.vol24h - a.vol24h).slice(0, 15);
430
+ if (!tokens.length)
431
+ return 'No trending tokens found.';
432
+ let output = '**Trending on Pump.fun (24h Volume)**\n\n';
433
+ for (let i = 0; i < tokens.length; i++) {
377
434
  const t = tokens[i];
435
+ const changeStr = t.change24h ? ` | 24h: ${t.change24h >= 0 ? '+' : ''}${t.change24h.toFixed(1)}%` : '';
378
436
  output += `${i + 1}. **${t.symbol}** - ${t.name}\n`;
379
- output += ` MCap: ${formatMarketCap(t.marketCap || 0)}`;
380
- if (t.volume24h)
381
- output += ` | Vol: ${formatMarketCap(t.volume24h)}`;
382
- output += `\n \`${t.mint.slice(0, 20)}...\`\n\n`;
437
+ output += ` MCap: ${formatMarketCap(t.marketCap)}`;
438
+ if (t.vol24h > 0)
439
+ output += ` | Vol: ${formatMarketCap(t.vol24h)}`;
440
+ output += `${changeStr}\n \`${t.mint.slice(0, 20)}...\`\n\n`;
441
+ }
442
+ return output;
443
+ }
444
+ catch (error) {
445
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
446
+ }
447
+ }
448
+ async function handleGainers() {
449
+ try {
450
+ const mints = await getTopPumpTokenMints(20);
451
+ if (!mints.length)
452
+ return 'No tokens found.';
453
+ const dex = await enrichWithDexScreener(mints);
454
+ const tokens = [...dex.values()].sort((a, b) => b.change24h - a.change24h).slice(0, 15);
455
+ if (!tokens.length)
456
+ return 'No gainer data available.';
457
+ let output = '**Top Gainers on Pump.fun (24h)**\n\n';
458
+ for (let i = 0; i < tokens.length; i++) {
459
+ const t = tokens[i];
460
+ const arrow = t.change24h >= 0 ? '📈' : '📉';
461
+ output += `${i + 1}. ${arrow} **${t.symbol}** ${t.change24h >= 0 ? '+' : ''}${t.change24h.toFixed(1)}%\n`;
462
+ output += ` MCap: ${formatMarketCap(t.marketCap)} | Vol: ${formatMarketCap(t.vol24h)}`;
463
+ output += ` | $${parseFloat(t.priceUsd).toFixed(6)}\n`;
464
+ output += ` \`${t.mint.slice(0, 20)}...\`\n\n`;
465
+ }
466
+ return output;
467
+ }
468
+ catch (error) {
469
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
470
+ }
471
+ }
472
+ async function handleLosers() {
473
+ try {
474
+ const mints = await getTopPumpTokenMints(20);
475
+ if (!mints.length)
476
+ return 'No tokens found.';
477
+ const dex = await enrichWithDexScreener(mints);
478
+ const tokens = [...dex.values()].sort((a, b) => a.change24h - b.change24h).slice(0, 15);
479
+ if (!tokens.length)
480
+ return 'No loser data available.';
481
+ let output = '**Top Losers on Pump.fun (24h)**\n\n';
482
+ for (let i = 0; i < tokens.length; i++) {
483
+ const t = tokens[i];
484
+ output += `${i + 1}. 📉 **${t.symbol}** ${t.change24h.toFixed(1)}%\n`;
485
+ output += ` MCap: ${formatMarketCap(t.marketCap)} | Vol: ${formatMarketCap(t.vol24h)}`;
486
+ output += ` | $${parseFloat(t.priceUsd).toFixed(6)}\n`;
487
+ output += ` \`${t.mint.slice(0, 20)}...\`\n\n`;
383
488
  }
384
489
  return output;
385
490
  }
@@ -387,6 +492,96 @@ async function handleTrending() {
387
492
  return `Error: ${error instanceof Error ? error.message : String(error)}`;
388
493
  }
389
494
  }
495
+ async function handleHot() {
496
+ try {
497
+ const mints = await getTopPumpTokenMints(20);
498
+ if (!mints.length)
499
+ return 'No tokens found.';
500
+ const dex = await enrichWithDexScreener(mints);
501
+ const tokens = [...dex.values()].sort((a, b) => b.txns1h - a.txns1h).slice(0, 15);
502
+ if (!tokens.length)
503
+ return 'No activity data available.';
504
+ let output = '**Hottest Right Now on Pump.fun (1h Activity)**\n\n';
505
+ for (let i = 0; i < tokens.length; i++) {
506
+ const t = tokens[i];
507
+ const changeStr = t.change1h ? ` | 1h: ${t.change1h >= 0 ? '+' : ''}${t.change1h.toFixed(1)}%` : '';
508
+ output += `${i + 1}. **${t.symbol}** - ${t.txns1h.toLocaleString()} txns/1h\n`;
509
+ output += ` MCap: ${formatMarketCap(t.marketCap)} | 1h Vol: ${formatMarketCap(t.vol1h)}${changeStr}\n`;
510
+ output += ` \`${t.mint.slice(0, 20)}...\`\n\n`;
511
+ }
512
+ return output;
513
+ }
514
+ catch (error) {
515
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
516
+ }
517
+ }
518
+ async function handleNewHot() {
519
+ try {
520
+ // Get recently created tokens from pump.fun
521
+ const tokens = await pumpFrontendRequest('/coins/currently-live?limit=20&offset=0&includeNsfw=false&order=DESC');
522
+ if (!tokens?.length)
523
+ return 'No new tokens found.';
524
+ const mints = tokens.map(t => t.mint);
525
+ const dex = await enrichWithDexScreener(mints);
526
+ // Merge and sort by volume
527
+ const enriched = tokens
528
+ .map(t => ({ ...t, dex: dex.get(t.mint) }))
529
+ .filter(t => t.dex && t.dex.vol24h > 0)
530
+ .sort((a, b) => (b.dex?.vol24h || 0) - (a.dex?.vol24h || 0))
531
+ .slice(0, 15);
532
+ if (!enriched.length)
533
+ return 'No new tokens with volume found.';
534
+ let output = '**Hottest New Tokens on Pump.fun**\n\n';
535
+ for (let i = 0; i < enriched.length; i++) {
536
+ const t = enriched[i];
537
+ const d = t.dex;
538
+ const age = t.created_timestamp ? Math.round((Date.now() - t.created_timestamp) / 3600000) : 0;
539
+ const ageStr = age < 1 ? '<1h' : age < 24 ? `${age}h` : `${Math.round(age / 24)}d`;
540
+ output += `${i + 1}. **${d.symbol}** - ${d.name} (${ageStr} old)\n`;
541
+ output += ` MCap: ${formatMarketCap(d.marketCap)} | Vol: ${formatMarketCap(d.vol24h)}`;
542
+ output += ` | 24h: ${d.change24h >= 0 ? '+' : ''}${d.change24h.toFixed(1)}%\n`;
543
+ output += ` Txns: ${d.txns24h.toLocaleString()} | Liq: ${formatMarketCap(d.liquidity)}\n`;
544
+ output += ` \`${t.mint.slice(0, 20)}...\`\n\n`;
545
+ }
546
+ return output;
547
+ }
548
+ catch (error) {
549
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
550
+ }
551
+ }
552
+ async function handleStats(mint) {
553
+ if (!mint)
554
+ return 'Usage: /pump stats <mint>';
555
+ try {
556
+ const dex = await enrichWithDexScreener([mint]);
557
+ const t = dex.get(mint);
558
+ if (!t)
559
+ return `No market data found for \`${mint.slice(0, 20)}...\``;
560
+ return `**${t.symbol} - Market Stats**
561
+
562
+ Price: $${parseFloat(t.priceUsd).toFixed(8)}
563
+ Market Cap: ${formatMarketCap(t.marketCap)}
564
+ Liquidity: ${formatMarketCap(t.liquidity)}
565
+ DEX: ${t.dex}
566
+
567
+ **Volume:**
568
+ 24h: ${formatMarketCap(t.vol24h)}
569
+ 1h: ${formatMarketCap(t.vol1h)}
570
+
571
+ **Price Change:**
572
+ 24h: ${t.change24h >= 0 ? '+' : ''}${t.change24h.toFixed(2)}%
573
+ 1h: ${t.change1h >= 0 ? '+' : ''}${t.change1h.toFixed(2)}%
574
+
575
+ **Transactions:**
576
+ 24h: ${t.txns24h.toLocaleString()}
577
+ 1h: ${t.txns1h.toLocaleString()}
578
+
579
+ \`${mint}\``;
580
+ }
581
+ catch (error) {
582
+ return `Error: ${error instanceof Error ? error.message : String(error)}`;
583
+ }
584
+ }
390
585
  async function handleNew() {
391
586
  try {
392
587
  const tokens = await pumpFrontendRequest('/coins/currently-live?limit=20&offset=0&includeNsfw=false&order=DESC');
@@ -1288,6 +1483,16 @@ async function execute(args) {
1288
1483
  return handleVolatile();
1289
1484
  case 'koth':
1290
1485
  return handleKOTH();
1486
+ case 'gainers':
1487
+ return handleGainers();
1488
+ case 'losers':
1489
+ return handleLosers();
1490
+ case 'hot':
1491
+ return handleHot();
1492
+ case 'new-hot':
1493
+ return handleNewHot();
1494
+ case 'stats':
1495
+ return handleStats(rest[0]);
1291
1496
  // Token Data
1292
1497
  case 'token':
1293
1498
  return handleToken(rest[0]);
@@ -1337,7 +1542,7 @@ async function execute(args) {
1337
1542
  return handleSolPrice();
1338
1543
  case 'help':
1339
1544
  default:
1340
- return `**Pump.fun - Complete API (26 Commands)**
1545
+ return `**Pump.fun - Complete API (32 Commands)**
1341
1546
 
1342
1547
  **Trading:**
1343
1548
  /pump buy <mint> <SOL> [--pool X] [--slippage X]
@@ -1345,7 +1550,11 @@ async function execute(args) {
1345
1550
  /pump quote <mint> <amount> <buy|sell> (on-chain accurate)
1346
1551
 
1347
1552
  **Discovery:**
1348
- /pump trending Top performing tokens
1553
+ /pump trending Top tokens by 24h volume
1554
+ /pump gainers Top 24h price gainers
1555
+ /pump losers Top 24h price losers
1556
+ /pump hot Most active right now (1h txns)
1557
+ /pump new-hot Hottest new tokens by volume
1349
1558
  /pump new Recently created
1350
1559
  /pump live Currently trading
1351
1560
  /pump graduated Migrated to Raydium
@@ -1357,6 +1566,7 @@ async function execute(args) {
1357
1566
 
1358
1567
  **Token Data:**
1359
1568
  /pump token <mint> Full token info
1569
+ /pump stats <mint> Volume, txns, liquidity, price change
1360
1570
  /pump price <mint> Price + 24h stats
1361
1571
  /pump holders <mint> Top holders
1362
1572
  /pump trades <mint> [--limit N] Recent trades
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/pumpfun/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/pumpfun/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clodds",
3
- "version": "1.2.7",
3
+ "version": "1.2.9",
4
4
  "description": "Open-source AI trading terminal. Trade Polymarket, Kalshi, Betfair, Binance, Bybit, Hyperliquid, Solana DEXs from Telegram, Discord, Slack or web. Arbitrage detection, whale tracking, copy trading, perpetual futures up to 200x, DeFi swaps, MEV protection. Self-hosted, 118 skills, powered by Claude.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -195,7 +195,7 @@ export class Chat {
195
195
  const avatar = document.createElement('div');
196
196
  avatar.className = 'msg-avatar bot-avatar';
197
197
  const img = document.createElement('img');
198
- img.src = 'https://cloddsbot.com/logo.png';
198
+ img.src = 'logo.png';
199
199
  img.alt = 'C';
200
200
  img.className = 'avatar-img';
201
201
  img.onerror = () => { img.remove(); avatar.textContent = 'C'; };