solana-agent-kit-plugin-madeonsol 1.8.1 → 1.9.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
@@ -9,8 +9,12 @@
9
9
 
10
10
  [Solana Agent Kit](https://github.com/sendaifun/solana-agent-kit) plugin for [MadeOnSol](https://madeonsol.com) — Solana KOL intelligence, deployer analytics, and wallet tracking.
11
11
 
12
- > Real-time Solana trading intelligence: track 1,000+ KOL wallets with <3s latency, score 6,700+ Pump.fun deployers by reputation, detect multi-KOL coordination signals, monitor any Solana wallet for swaps and transfers, and stream every DEX trade. Free tier: 200 requests/day at [madeonsol.com/pricing](https://madeonsol.com/pricing) — no credit card required.
12
+ > Real-time Solana trading intelligence: track 1,069 KOL wallets with <3s latency, score 23,000+ Pump.fun deployers, surface deshred deploy signals ~500ms before on-chain confirmation, detect multi-KOL coordination, and stream every DEX trade. Free tier: 200 requests/day at [madeonsol.com/pricing](https://madeonsol.com/pricing) — no credit card required.
13
13
 
14
+ > **New in 1.9** — **Price alerts, scout leaderboard, coordination history.** `agent.methods.priceAlertsCreate()` (PRO=5, ULTRA=25). `agent.methods.scoutLeaderboard()`, `kolConsensus()`, `peakHistory()`, `coordinationHistory()`. `walletStats` now returns `derived`: win_rate, roi, verdict, biggest_miss.
15
+ >
16
+ > **New in 1.8** — **Universal Wallet API.** `agent.methods.walletStats()`, `walletPnl()`, `walletPositions()`, `walletTrades()` — FIFO cost-basis PnL for any wallet. PRO+. Cache hits free.
17
+ >
14
18
  > **New in 1.7.0** *(2026-05-12)* — **Account introspection + filtered token directory.** Two new actions: `meAction` (`GET /me`) returns your tier, daily/burst quota state, remaining requests, and per-feature usage so the agent can self-throttle; `tokensListAction` (`GET /tokens`, PRO+) exposes the full filtered/sortable token directory with MC band, liquidity floor, recent-activity window, primary DEX, authority flags, computed 1h volume floor, MEV-share ceiling, and MC change deltas — defaults to `min_liq=2000` to skip dust. Token responses now carry velocity / MEV-share fields. `/token/{mint}` returns structured 400 errors (`code`, `reason`, `example`, `docs`) instead of bare 400s. Deprecated `avg_entry_mc_usd` removed from leaderboards.
15
19
 
16
20
  ## Quick start (10 seconds)
@@ -99,7 +103,7 @@ These are exposed via `agent.methods.*` (no LLM action wrappers — call directl
99
103
 
100
104
  ### Alpha Wallet Intelligence
101
105
 
102
- Scored from 47,000+ early-buyer records (wallets seen in the first 20 buyers of Pump.fun tokens).
106
+ Scored from 1M+ early-buyer records (wallets seen in the first 20 buyers of Pump.fun tokens).
103
107
 
104
108
  ```ts
105
109
  await agent.methods.alphaLeaderboard(agent, { limit: 100 }); // Free/Pro=100, ULTRA=500 + bot signals
@@ -188,6 +192,55 @@ ULTRA only for subscriptions — up to 10 active per user.
188
192
 
189
193
  > **Don't poll — push.** Median lead time before the second KOL is 12 seconds. WebSocket channel: `kol:first_touches` (PRO+).
190
194
 
195
+ ### Price Alerts *(new in 1.9)*
196
+
197
+ CRUD for token dip/recovery price alerts. Fires when a token's market cap crosses your threshold. PRO=5 rules, ULTRA=25.
198
+
199
+ ```ts
200
+ const { alert, webhook_secret } = await agent.methods.priceAlertsCreate(agent, {
201
+ name: "SOL dip buy",
202
+ token_mint: "So11111111111111111111111111111111111111112",
203
+ condition: "below",
204
+ threshold_mc_usd: 5_000_000_000,
205
+ cooldown_min: 120,
206
+ delivery_mode: "both",
207
+ webhook_url: "https://you.com/hooks/price",
208
+ });
209
+ // store webhook_secret — shown ONCE
210
+
211
+ await agent.methods.priceAlertsList(agent);
212
+ await agent.methods.priceAlertsGet(agent, { alert_id: "uuid..." });
213
+ await agent.methods.priceAlertsUpdate(agent, { alert_id: "uuid...", updates: { is_active: false } });
214
+ await agent.methods.priceAlertsDelete(agent, { alert_id: "uuid..." });
215
+ ```
216
+
217
+ Also exposed as `MADEONSOL_PRICE_ALERTS_LIST_ACTION` ("my price alerts") and `MADEONSOL_PRICE_ALERTS_CREATE_ACTION` ("alert me when token dips below").
218
+
219
+ ### Scout Leaderboard & KOL Consensus *(new in 1.9)*
220
+
221
+ | Method / Action | Description |
222
+ |---|---|
223
+ | `agent.methods.scoutLeaderboard(agent, params)` | Top scout-tier KOLs ranked by first-touch follow-on rate, win rate, and ROI (PRO+) |
224
+ | `agent.methods.kolConsensus(agent, params)` | Tokens with the strongest KOL agreement signal (PRO+) |
225
+ | `agent.methods.peakHistory(agent, { mint })` | Historical peak-density windows for a token (PRO+) |
226
+ | `agent.methods.coordinationHistory(agent, params)` | Global coordination event log (PRO+) |
227
+
228
+ ```ts
229
+ const { leaderboard } = await agent.methods.scoutLeaderboard(agent, { period: "30d", limit: 25 });
230
+ const { tokens } = await agent.methods.kolConsensus(agent, { min_kols: 5, period: "24h" });
231
+ ```
232
+
233
+ Also exposed as `MADEONSOL_SCOUT_LEADERBOARD_ACTION` and `MADEONSOL_KOL_CONSENSUS_ACTION`.
234
+
235
+ ### Wallet Derived Stats *(new in 1.9)*
236
+
237
+ `walletStats` now returns a `stats` object with derived fields: `win_rate` (0-1), `roi`, `verdict` ("strong" | "profitable" | "neutral" | "losing"), and `biggest_miss` (token with the highest post-exit gain the wallet missed).
238
+
239
+ ```ts
240
+ const { stats } = await agent.methods.walletStats(agent, { address: "WALLET_ADDRESS" });
241
+ // stats.win_rate, stats.roi, stats.verdict, stats.biggest_miss
242
+ ```
243
+
191
244
  ### Rate-limit headers
192
245
 
193
246
  Every successful request populates a module-level `lastRateLimit` (limit / remaining / reset / requestId):
@@ -202,9 +255,9 @@ console.log(lastRateLimit); // { limit: "10000", remaining: "9999", reset: "..."
202
255
 
203
256
  | Tier | Price | Wallets tracked | Requests/day |
204
257
  |------|-------|-----------------|--------------|
205
- | Free | $0 | 10 | 200 |
206
- | Pro | $49/mo | 50 | 10,000 |
207
- | Ultra | $149/mo | 100 + WS events | 100,000 |
258
+ | BASIC (free) | $0 | 10 | 200 |
259
+ | PRO | $49/mo ($490/yr) | 50 | 10,000 |
260
+ | ULTRA | $149/mo ($1,490/yr) | 100 + WS events | 100,000 |
208
261
 
209
262
  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/pricing](https://madeonsol.com/pricing).
210
263
 
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ import { kolAlertsRecentAction } from "./actions/kolAlertsRecent.js";
11
11
  import { kolFirstTouchesAction } from "./actions/kolFirstTouches.js";
12
12
  import { meAction } from "./actions/me.js";
13
13
  import { tokensListAction } from "./actions/tokensList.js";
14
- import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, walletStats, walletPnl, walletPositions, walletTrades, me, tokensList } from "./tools/index.js";
14
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletTrades, me, tokensList } from "./tools/index.js";
15
15
  import { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction } from "./actions/wallet.js";
16
16
  declare const MadeOnSolPlugin: {
17
17
  name: string;
@@ -57,6 +57,16 @@ declare const MadeOnSolPlugin: {
57
57
  firstTouchSubscriptionsGet: typeof firstTouchSubscriptionsGet;
58
58
  firstTouchSubscriptionsUpdate: typeof firstTouchSubscriptionsUpdate;
59
59
  firstTouchSubscriptionsDelete: typeof firstTouchSubscriptionsDelete;
60
+ priceAlertsList: typeof priceAlertsList;
61
+ priceAlertsCreate: typeof priceAlertsCreate;
62
+ priceAlertsGet: typeof priceAlertsGet;
63
+ priceAlertsUpdate: typeof priceAlertsUpdate;
64
+ priceAlertsDelete: typeof priceAlertsDelete;
65
+ priceAlertsEvents: typeof priceAlertsEvents;
66
+ scoutLeaderboard: typeof scoutLeaderboard;
67
+ coordinationHistory: typeof coordinationHistory;
68
+ kolConsensus: typeof kolConsensus;
69
+ peakHistory: typeof peakHistory;
60
70
  me: typeof me;
61
71
  tokensList: typeof tokensList;
62
72
  walletStats: typeof walletStats;
@@ -843,7 +853,7 @@ declare const MadeOnSolPlugin: {
843
853
  initialize(_agent: unknown): void;
844
854
  };
845
855
  export default MadeOnSolPlugin;
846
- export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, walletStats, walletPnl, walletPositions, walletTrades, me, tokensList, };
856
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletTrades, me, tokensList, };
847
857
  export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
848
858
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
849
859
  export { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction };
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import { kolAlertsRecentAction } from "./actions/kolAlertsRecent.js";
11
11
  import { kolFirstTouchesAction } from "./actions/kolFirstTouches.js";
12
12
  import { meAction } from "./actions/me.js";
13
13
  import { tokensListAction } from "./actions/tokensList.js";
14
- import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, walletStats, walletPnl, walletPositions, walletTrades, me, tokensList, } from "./tools/index.js";
14
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletTrades, me, tokensList, } from "./tools/index.js";
15
15
  import { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction } from "./actions/wallet.js";
16
16
  const MadeOnSolPlugin = {
17
17
  name: "madeonsol",
@@ -57,6 +57,16 @@ const MadeOnSolPlugin = {
57
57
  firstTouchSubscriptionsGet,
58
58
  firstTouchSubscriptionsUpdate,
59
59
  firstTouchSubscriptionsDelete,
60
+ priceAlertsList,
61
+ priceAlertsCreate,
62
+ priceAlertsGet,
63
+ priceAlertsUpdate,
64
+ priceAlertsDelete,
65
+ priceAlertsEvents,
66
+ scoutLeaderboard,
67
+ coordinationHistory,
68
+ kolConsensus,
69
+ peakHistory,
60
70
  me,
61
71
  tokensList,
62
72
  walletStats,
@@ -92,7 +102,7 @@ const MadeOnSolPlugin = {
92
102
  },
93
103
  };
94
104
  export default MadeOnSolPlugin;
95
- export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, walletStats, walletPnl, walletPositions, walletTrades, me, tokensList, };
105
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletTrades, me, tokensList, };
96
106
  export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
97
107
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
98
108
  export { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction };
@@ -288,4 +288,45 @@ export declare function copyTradeSignals(agent: Agent, params?: {
288
288
  limit?: number;
289
289
  since?: string;
290
290
  }): Promise<any>;
291
+ export declare function priceAlertsList(agent: Agent): Promise<any>;
292
+ export declare function priceAlertsCreate(agent: Agent, params: {
293
+ token_mint: string;
294
+ drop_pct: number;
295
+ recovery_pct?: number;
296
+ name?: string;
297
+ delivery_mode?: "webhook" | "websocket" | "both";
298
+ webhook_url?: string;
299
+ }): Promise<any>;
300
+ export declare function priceAlertsGet(agent: Agent, params: {
301
+ id: number;
302
+ }): Promise<any>;
303
+ export declare function priceAlertsUpdate(agent: Agent, params: {
304
+ id: number;
305
+ updates: Record<string, unknown>;
306
+ }): Promise<any>;
307
+ export declare function priceAlertsDelete(agent: Agent, params: {
308
+ id: number;
309
+ }): Promise<any>;
310
+ export declare function priceAlertsEvents(agent: Agent, params?: {
311
+ alert_id?: number;
312
+ event_type?: "dip" | "recovery";
313
+ since?: string;
314
+ limit?: number;
315
+ }): Promise<any>;
316
+ export declare function scoutLeaderboard(agent: Agent, params?: {
317
+ limit?: number;
318
+ scout_tier?: "S" | "A" | "B" | "C";
319
+ sort?: string;
320
+ }): Promise<any>;
321
+ export declare function coordinationHistory(agent: Agent, params?: {
322
+ limit?: number;
323
+ since?: string;
324
+ min_score?: number;
325
+ }): Promise<any>;
326
+ export declare function kolConsensus(agent: Agent, params: {
327
+ mint: string;
328
+ }): Promise<any>;
329
+ export declare function peakHistory(agent: Agent, params: {
330
+ mint: string;
331
+ }): Promise<any>;
291
332
  export {};
@@ -30,7 +30,7 @@ export async function initAuth(agent) {
30
30
  const privateKey = getConfig(agent, "SVM_PRIVATE_KEY");
31
31
  if (apiKey) {
32
32
  _authMode = "madeonsol";
33
- _authHeaders = { Authorization: `Bearer ${apiKey}` };
33
+ _authHeaders = { Authorization: `Bearer ${apiKey}`, "User-Agent": "solana-agent-kit-plugin-madeonsol/1.9.0" };
34
34
  _paidFetch = fetch;
35
35
  console.log("[madeonsol] Using MadeOnSol API key (Bearer auth)");
36
36
  }
@@ -362,3 +362,53 @@ export async function copyTradeSignals(agent, params = {}) {
362
362
  const query = qs.toString() ? `?${qs.toString()}` : "";
363
363
  return restQuery(agent, "GET", `/copy-trade/signals${query}`);
364
364
  }
365
+ // ── Price Alerts (PRO/ULTRA, v1.9) ──
366
+ export async function priceAlertsList(agent) {
367
+ return restQuery(agent, "GET", "/price-alerts");
368
+ }
369
+ export async function priceAlertsCreate(agent, params) {
370
+ return restQuery(agent, "POST", "/price-alerts", params);
371
+ }
372
+ export async function priceAlertsGet(agent, params) {
373
+ return restQuery(agent, "GET", `/price-alerts/${params.id}`);
374
+ }
375
+ export async function priceAlertsUpdate(agent, params) {
376
+ return restQuery(agent, "PATCH", `/price-alerts/${params.id}`, params.updates);
377
+ }
378
+ export async function priceAlertsDelete(agent, params) {
379
+ return restQuery(agent, "DELETE", `/price-alerts/${params.id}`);
380
+ }
381
+ export async function priceAlertsEvents(agent, params = {}) {
382
+ const qs = new URLSearchParams();
383
+ for (const [k, v] of Object.entries(params)) {
384
+ if (v !== undefined)
385
+ qs.set(k, String(v));
386
+ }
387
+ const query = qs.toString() ? `?${qs.toString()}` : "";
388
+ return restQuery(agent, "GET", `/price-alerts/events${query}`);
389
+ }
390
+ // ── v1.9 new endpoints ──
391
+ export async function scoutLeaderboard(agent, params = {}) {
392
+ const qs = new URLSearchParams();
393
+ for (const [k, v] of Object.entries(params)) {
394
+ if (v !== undefined)
395
+ qs.set(k, String(v));
396
+ }
397
+ const query = qs.toString() ? `?${qs.toString()}` : "";
398
+ return restQuery(agent, "GET", `/kol/scouts/leaderboard${query}`);
399
+ }
400
+ export async function coordinationHistory(agent, params = {}) {
401
+ const qs = new URLSearchParams();
402
+ for (const [k, v] of Object.entries(params)) {
403
+ if (v !== undefined)
404
+ qs.set(k, String(v));
405
+ }
406
+ const query = qs.toString() ? `?${qs.toString()}` : "";
407
+ return restQuery(agent, "GET", `/kol/coordination/history${query}`);
408
+ }
409
+ export async function kolConsensus(agent, params) {
410
+ return restQuery(agent, "GET", `/tokens/${encodeURIComponent(params.mint)}/kol-consensus`);
411
+ }
412
+ export async function peakHistory(agent, params) {
413
+ return restQuery(agent, "GET", `/tokens/${encodeURIComponent(params.mint)}/peak-history`);
414
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solana-agent-kit-plugin-madeonsol",
3
- "version": "1.8.1",
3
+ "version": "1.9.1",
4
4
  "description": "Solana Agent Kit plugin for MadeOnSol — KOL intelligence and deployer analytics via x402 micropayments",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",