@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 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 signals |
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
- | BASIC | Free | 10 | 200 |
79
- | PRO | $49/mo | 50 | 10,000 |
80
- | ULTRA | $149/mo | 100 + WS events | 100,000 |
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) => `${t.token_symbol}: ${t.kol_count} KOLs ${t.signal} (${t.net_sol_flow > 0 ? "+" : ""}${t.net_sol_flow.toFixed(2)} SOL net)`);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@madeonsol/plugin-madeonsol",
3
- "version": "1.0.1",
3
+ "version": "1.1.1",
4
4
  "description": "ElizaOS plugin for MadeOnSol — Solana KOL intelligence and deployer analytics via x402 micropayments",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",