@madeonsol/plugin-madeonsol 1.0.1 → 1.1.1
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/README.md +29 -5
- package/dist/actions/kol-coordination.js +6 -1
- package/dist/client.d.ts +43 -0
- package/dist/client.js +16 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ Gives your ElizaOS agent access to MadeOnSol's Solana intelligence API.
|
|
|
32
32
|
| Action | Description |
|
|
33
33
|
|--------|-------------|
|
|
34
34
|
| `GET_KOL_FEED` | Real-time KOL trade feed (1,000+ wallets) |
|
|
35
|
-
| `GET_KOL_COORDINATION` | Multi-KOL convergence
|
|
35
|
+
| `GET_KOL_COORDINATION` | Multi-KOL convergence (v1.1 — peak-density, exits, 0-100 score) |
|
|
36
36
|
| `GET_KOL_LEADERBOARD` | KOL PnL/win-rate rankings (180 days of history) |
|
|
37
37
|
| `GET_DEPLOYER_ALERTS` | Pump.fun deployer alerts with KOL enrichment |
|
|
38
38
|
| `WALLET_TRACKER_WATCHLIST` | List your tracked wallets and remaining capacity |
|
|
@@ -63,6 +63,30 @@ const agent = {
|
|
|
63
63
|
};
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
+
### v1.1 Coordination alerts (programmatic)
|
|
67
|
+
|
|
68
|
+
The `GET_KOL_COORDINATION` action surfaces the v1.1 `coordination_score`, `peak_kols`, and `exited_count` fields. For **push alerts** (fires within ~1s of a qualifying trade via WS `kol:coordination` channel + HMAC-signed webhook), use the client directly from a custom action:
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
import { MadeOnSolClient } from "@madeonsol/plugin-madeonsol";
|
|
72
|
+
|
|
73
|
+
const client = new MadeOnSolClient({ apiKey: process.env.MADEONSOL_API_KEY });
|
|
74
|
+
const res = await client.coordinationAlertsCreate({
|
|
75
|
+
name: "fresh pump cluster",
|
|
76
|
+
min_kols: 4,
|
|
77
|
+
window_minutes: 15,
|
|
78
|
+
min_score: 70,
|
|
79
|
+
include_majors: false,
|
|
80
|
+
cooldown_min: 60,
|
|
81
|
+
score_jump_break: 10,
|
|
82
|
+
delivery_mode: "both",
|
|
83
|
+
webhook_url: "https://you.com/hooks/coord",
|
|
84
|
+
});
|
|
85
|
+
// store res.data.webhook_secret — shown ONCE
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
PRO=5 rules, ULTRA=20. Also available: `coordinationAlertsList()`, `coordinationAlertsGet(id)`, `coordinationAlertsUpdate(id, updates)`, `coordinationAlertsDelete(id)`.
|
|
89
|
+
|
|
66
90
|
Your agent can then respond to queries like:
|
|
67
91
|
- "What are KOLs buying right now?"
|
|
68
92
|
- "Show me the KOL leaderboard this week"
|
|
@@ -75,11 +99,11 @@ Your agent can then respond to queries like:
|
|
|
75
99
|
|
|
76
100
|
| Tier | Price | Wallets tracked | Requests/day |
|
|
77
101
|
|------|-------|-----------------|--------------|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
102
|
+
| Free | $0 | 10 | 200 |
|
|
103
|
+
| Pro | $49/mo | 50 | 10,000 |
|
|
104
|
+
| Ultra | $149/mo | 100 + WS events | 100,000 |
|
|
81
105
|
|
|
82
|
-
Get a key at [madeonsol.com/developer](https://madeonsol.com/developer).
|
|
106
|
+
Free tier returns the full REST response shape on every endpoint — real wallets, TX signatures, full precision. Paid tiers unlock webhooks, WebSockets, rule engines, and ULTRA-only data depth. Get a key at [madeonsol.com/developer](https://madeonsol.com/developer).
|
|
83
107
|
|
|
84
108
|
## Also Available
|
|
85
109
|
|
|
@@ -29,7 +29,12 @@ export const kolCoordinationAction = {
|
|
|
29
29
|
return undefined;
|
|
30
30
|
}
|
|
31
31
|
const data = result.data;
|
|
32
|
-
const lines = (data.coordination || []).map((t) =>
|
|
32
|
+
const lines = (data.coordination || []).map((t) => {
|
|
33
|
+
const score = t.coordination_score != null ? ` · score ${t.coordination_score}/100` : "";
|
|
34
|
+
const peak = t.peak_kols != null ? ` · peak ${t.peak_kols}` : "";
|
|
35
|
+
const exited = t.exited_count ? ` · ${t.exited_count} exited` : "";
|
|
36
|
+
return `${t.token_symbol}: ${t.kol_count} KOLs ${t.signal} (${t.net_sol_flow > 0 ? "+" : ""}${t.net_sol_flow.toFixed(2)} SOL net)${score}${peak}${exited}`;
|
|
37
|
+
});
|
|
33
38
|
callback?.({
|
|
34
39
|
text: `KOL convergence signals (${period}):\n${lines.join("\n") || "No coordination signals found."}`,
|
|
35
40
|
content: data,
|
package/dist/client.d.ts
CHANGED
|
@@ -45,6 +45,14 @@ export declare class MadeOnSolClient {
|
|
|
45
45
|
period?: string;
|
|
46
46
|
min_kols?: string;
|
|
47
47
|
limit?: string;
|
|
48
|
+
/** v1.1 — include WIF/BONK/POPCAT etc. ("true" | "false", default "false") */
|
|
49
|
+
include_majors?: string;
|
|
50
|
+
/** v1.1 — peak-density window in minutes (1-60, default 15) */
|
|
51
|
+
window_minutes?: string;
|
|
52
|
+
/** v1.1 — minimum composite coordination_score (0-100) */
|
|
53
|
+
min_score?: string;
|
|
54
|
+
min_avg_winrate?: string;
|
|
55
|
+
unique_strategies?: string;
|
|
48
56
|
}): Promise<{
|
|
49
57
|
data?: unknown;
|
|
50
58
|
error?: string;
|
|
@@ -265,6 +273,41 @@ export declare class MadeOnSolClient {
|
|
|
265
273
|
error?: string;
|
|
266
274
|
status: number;
|
|
267
275
|
}>;
|
|
276
|
+
coordinationAlertsList(): Promise<{
|
|
277
|
+
data?: unknown;
|
|
278
|
+
error?: string;
|
|
279
|
+
status: number;
|
|
280
|
+
}>;
|
|
281
|
+
coordinationAlertsCreate(params: {
|
|
282
|
+
name?: string;
|
|
283
|
+
min_kols?: number;
|
|
284
|
+
window_minutes?: number;
|
|
285
|
+
min_score?: number;
|
|
286
|
+
include_majors?: boolean;
|
|
287
|
+
cooldown_min?: number;
|
|
288
|
+
score_jump_break?: number;
|
|
289
|
+
delivery_mode?: "websocket" | "webhook" | "both";
|
|
290
|
+
webhook_url?: string;
|
|
291
|
+
}): Promise<{
|
|
292
|
+
data?: unknown;
|
|
293
|
+
error?: string;
|
|
294
|
+
status: number;
|
|
295
|
+
}>;
|
|
296
|
+
coordinationAlertsGet(ruleId: string): Promise<{
|
|
297
|
+
data?: unknown;
|
|
298
|
+
error?: string;
|
|
299
|
+
status: number;
|
|
300
|
+
}>;
|
|
301
|
+
coordinationAlertsUpdate(ruleId: string, updates: Record<string, unknown>): Promise<{
|
|
302
|
+
data?: unknown;
|
|
303
|
+
error?: string;
|
|
304
|
+
status: number;
|
|
305
|
+
}>;
|
|
306
|
+
coordinationAlertsDelete(ruleId: string): Promise<{
|
|
307
|
+
data?: unknown;
|
|
308
|
+
error?: string;
|
|
309
|
+
status: number;
|
|
310
|
+
}>;
|
|
268
311
|
copyTradeSignals(params?: {
|
|
269
312
|
rule_id?: string;
|
|
270
313
|
limit?: string;
|
package/dist/client.js
CHANGED
|
@@ -215,6 +215,22 @@ export class MadeOnSolClient {
|
|
|
215
215
|
copyTradeDelete(ruleId) {
|
|
216
216
|
return this.restRequest("DELETE", `/copy-trade/rules/${encodeURIComponent(ruleId)}`);
|
|
217
217
|
}
|
|
218
|
+
// ── Coordination alerts (PRO/ULTRA, v1.1) ──
|
|
219
|
+
coordinationAlertsList() {
|
|
220
|
+
return this.restRequest("GET", "/kol/coordination/alerts");
|
|
221
|
+
}
|
|
222
|
+
coordinationAlertsCreate(params) {
|
|
223
|
+
return this.restRequest("POST", "/kol/coordination/alerts", params);
|
|
224
|
+
}
|
|
225
|
+
coordinationAlertsGet(ruleId) {
|
|
226
|
+
return this.restRequest("GET", `/kol/coordination/alerts/${encodeURIComponent(ruleId)}`);
|
|
227
|
+
}
|
|
228
|
+
coordinationAlertsUpdate(ruleId, updates) {
|
|
229
|
+
return this.restRequest("PATCH", `/kol/coordination/alerts/${encodeURIComponent(ruleId)}`, updates);
|
|
230
|
+
}
|
|
231
|
+
coordinationAlertsDelete(ruleId) {
|
|
232
|
+
return this.restRequest("DELETE", `/kol/coordination/alerts/${encodeURIComponent(ruleId)}`);
|
|
233
|
+
}
|
|
218
234
|
copyTradeSignals(params) {
|
|
219
235
|
const qs = new URLSearchParams();
|
|
220
236
|
if (params)
|
package/package.json
CHANGED