solana-agent-kit-plugin-madeonsol 1.14.0 → 1.15.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 MadeOnSol
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -9,8 +9,10 @@
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,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.
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, every endpoint — no signup payment. Get a key at [madeonsol.com/pricing](https://madeonsol.com/pricing).
13
13
 
14
+ > **New in 1.15.0** — **Batch risk scoring + WebSocket session control.** New tool `tokenRiskBatch()` + action `MADEONSOL_TOKEN_RISK_BATCH_ACTION` — bulk 0–100 rug-risk/safety scoring for 1–50 mints in one call (`{ tokens, count }`, same per-mint shape as `tokenRisk()` plus an `as_of` ISO string; untracked mints come back as `{ mint, error: "not_tracked" }` without failing the batch; counts as one request). New tools `streamSessions()` / `streamSessionKill({ id })` + actions `MADEONSOL_STREAM_SESSIONS_ACTION` / `MADEONSOL_STREAM_SESSION_KILL_ACTION` — list your live ws-streaming/dex-stream sessions (`id`, `service`, `tier`, `channels[]`, `connected_at`, `remote_ip`, `messages_sent`) and evict one by id to free a connection slot. PRO/ULTRA only.
15
+ >
14
16
  > **New in 1.14.0** — **Almost-bonded discovery + trending sorts.** New tool `almostBonded()` + action `MADEONSOL_ALMOST_BONDED_ACTION` — pre-bond pump.fun tokens near graduation, ranked by velocity (Δprogress/min): "95% and accelerating" beats "92% stalled". Each token carries `progress_pct`, `velocity_pct_per_min`, `eta_minutes`, `stalled`, `real_sol_reserves`, `market_cap_usd`, `liquidity_usd`, `authorities_revoked`, `deployer_tier`, and `age_minutes`. Params: `min_progress`, `max_progress`, `min_velocity_pct_per_min`, `max_age_minutes`, `deployer_tier`, `authority_revoked`, `min_liq`, `sort` (velocity_desc / progress_desc / eta_asc), `limit`. PRO/ULTRA only. Plus `tokensList({ sort })` gains four momentum sorts — `mc_change_5m_desc`, `mc_change_1h_desc`, `volume_1h_desc`, and `trending` (composite recent-volume × positive-momentum rank).
15
17
  >
16
18
  > **New in 1.13.0** — **Token net flow.** New tool `tokenFlow()` + action `MADEONSOL_TOKEN_FLOW_ACTION` — net buy/sell flow over a rolling window (`1h` default, or `24h`): `unique_wallets`, `unique_buyers`, `unique_sellers`, `buy_count`, `sell_count`, `total_trades`, `buy_sol`, `sell_sol`, `net_sol`, `trades_per_wallet`. PRO/ULTRA only. Deployer alerts now also surface `deployer_sol_balance` — the deployer wallet's SOL balance at alert time (`null` for historical rows).
@@ -112,6 +114,9 @@ const events = await agent.methods.walletTrackerTrades(agent, { limit: 50 });
112
114
  | `MADEONSOL_WALLET_POSITIONS_ACTION` | **New 1.8** · "wallet positions", "wallet bags", "open positions" — open lots with live unrealized SOL (PRO+) |
113
115
  | `MADEONSOL_WALLET_TRADES_ACTION` | **New 1.8** · "wallet trades", "wallet history" — cursor-paginated raw trades with filters (PRO+) |
114
116
  | `MADEONSOL_TOKEN_FLOW_ACTION` | **New 1.13** · "token flow", "net flow", "buy/sell pressure" — net buy/sell flow over a 1h/24h window (PRO+) |
117
+ | `MADEONSOL_TOKEN_RISK_BATCH_ACTION` | **New 1.15** · "batch token risk", "bulk rug risk", "score many tokens" — rug-risk scoring for 1–50 mints in one call; untracked mints don't fail the batch (PRO+) |
118
+ | `MADEONSOL_STREAM_SESSIONS_ACTION` | **New 1.15** · "list stream sessions", "live websocket sessions", "active ws sessions" — your live ws-streaming/dex-stream sessions (PRO+) |
119
+ | `MADEONSOL_STREAM_SESSION_KILL_ACTION` | **New 1.15** · "kill stream session", "evict session", "free a connection slot" — evict a live streaming session by id (PRO+) |
115
120
 
116
121
  ## Additional methods (v1.0+)
117
122
 
@@ -133,6 +138,7 @@ await agent.methods.alphaLinked(agent, { wallet: "WALLET" }); // ULTRA
133
138
  await agent.methods.tokenCapTable(agent, { mint: "MINT" }); // PRO=10, ULTRA=20 first non-deployer buyers
134
139
  await agent.methods.tokenBuyerQuality(agent, { mint: "MINT" }); // 0–100 buyer-quality score (5-min cached)
135
140
  await agent.methods.tokenRisk(agent, { mint: "MINT" }); // PRO+ 0–100 rug-risk/safety score + band + factors
141
+ await agent.methods.tokenRiskBatch(agent, { mints: ["MINT_A", "MINT_B"] }); // PRO+ bulk rug-risk for 1–50 mints → { tokens, count }; one request
136
142
  await agent.methods.tokenCandles(agent, { mint: "MINT", tf: "1h" }); // PRO+ OHLCV candles (1m–1d); ULTRA=+net flow, liquidity, full history
137
143
  await agent.methods.tokenFlow(agent, { mint: "MINT", window: "24h" }); // PRO+ net buy/sell flow (1h/24h): unique wallets, buy/sell/net SOL, trades-per-wallet
138
144
  await agent.methods.almostBonded(agent, { min_progress: 90, sort: "eta_asc" }); // PRO+ pre-bond pump.fun tokens by velocity: progress, ETA, stalled, deployer tier
@@ -158,6 +164,17 @@ await agent.methods.copyTradeCreate(agent, {
158
164
  await agent.methods.copyTradeSignals(agent, { limit: 50 }); // up to 7 days
159
165
  ```
160
166
 
167
+ ### Streaming Sessions *(new in 1.15)*
168
+
169
+ List and kill your live WebSocket streaming sessions (ws-streaming + dex-stream). Handy when a ghost socket is holding a connection slot. PRO/ULTRA only.
170
+
171
+ ```ts
172
+ const { sessions, count } = await agent.methods.streamSessions(agent); // id, service, tier, channels[], connected_at, remote_ip, messages_sent
173
+ await agent.methods.streamSessionKill(agent, { id: "123" }); // → { evicted: true, id }
174
+ ```
175
+
176
+ Also exposed as `MADEONSOL_STREAM_SESSIONS_ACTION` and `MADEONSOL_STREAM_SESSION_KILL_ACTION`.
177
+
161
178
  ### KOL Coordination Alerts (PRO/ULTRA — v1.1 push signals)
162
179
 
163
180
  Real-time push alerts when a KOL cluster co-buys the same token. Fires within ~1s of the triggering trade (pg_notify push, not polling). Delivered via WebSocket (`kol:coordination` channel, user-scoped) and/or HMAC-signed webhook. PRO=5 rules, ULTRA=20.
@@ -281,8 +298,8 @@ console.log(lastRateLimit); // { limit: "10000", remaining: "9999", reset: "..."
281
298
  | Tier | Price | Wallets tracked | Requests/day |
282
299
  |------|-------|-----------------|--------------|
283
300
  | BASIC (free) | $0 | 10 | 200 |
284
- | PRO | $49/mo ($490/yr) | 50 | 10,000 |
285
- | ULTRA | $149/mo ($1,490/yr) | 100 + WS events | 100,000 |
301
+ | PRO | €43/mo (€430/yr) ≈ $49 | 50 | 10,000 |
302
+ | ULTRA | €131/mo (€1310/yr) ≈ $149 | 100 + WS events | 100,000 |
286
303
 
287
304
  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).
288
305
 
@@ -293,7 +310,7 @@ Free tier returns the full REST response shape on every endpoint — real wallet
293
310
  | TypeScript SDK | [`madeonsol`](https://www.npmjs.com/package/madeonsol) on npm |
294
311
  | Rust SDK | [`madeonsol`](https://crates.io/crates/madeonsol) on crates.io |
295
312
  | Python (LangChain, CrewAI) | [`madeonsol-x402`](https://pypi.org/project/madeonsol-x402/) on PyPI |
296
- | MCP Server (Claude, Cursor) | [`mcp-server-madeonsol`](https://www.npmjs.com/package/mcp-server-madeonsol) · [Smithery](https://smithery.ai/servers/madeonsol/solana-kol-intelligence) · [Glama](https://glama.ai/mcp/servers/LamboPoewert/mcp-server-madeonsol) |
313
+ | MCP Server (Claude, Cursor) | [`mcp-server-madeonsol`](https://www.npmjs.com/package/mcp-server-madeonsol) · [Smithery](https://smithery.ai/servers/madeonsol/solana-kol-intelligence) · [Glama](https://glama.ai/mcp/servers/madeonsol/mcp-server-madeonsol) |
297
314
  | ElizaOS | [`@madeonsol/plugin-madeonsol`](https://www.npmjs.com/package/@madeonsol/plugin-madeonsol) |
298
315
 
299
316
  ## License
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ export declare const streamSessionsAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {};
8
+ output: {
9
+ status: string;
10
+ };
11
+ explanation: string;
12
+ }[][];
13
+ schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
14
+ handler: (agent: unknown) => Promise<{
15
+ status: string;
16
+ result: any;
17
+ message?: undefined;
18
+ } | {
19
+ status: string;
20
+ message: string;
21
+ result?: undefined;
22
+ }>;
23
+ };
24
+ export declare const streamSessionKillAction: {
25
+ name: string;
26
+ similes: string[];
27
+ description: string;
28
+ examples: {
29
+ input: {
30
+ id: string;
31
+ };
32
+ output: {
33
+ status: string;
34
+ };
35
+ explanation: string;
36
+ }[][];
37
+ schema: z.ZodObject<{
38
+ id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
39
+ }, "strip", z.ZodTypeAny, {
40
+ id: string | number;
41
+ }, {
42
+ id: string | number;
43
+ }>;
44
+ handler: (agent: unknown, input: {
45
+ id: string | number;
46
+ }) => Promise<{
47
+ status: string;
48
+ result: any;
49
+ message?: undefined;
50
+ } | {
51
+ status: string;
52
+ message: string;
53
+ result?: undefined;
54
+ }>;
55
+ };
@@ -0,0 +1,40 @@
1
+ import { z } from "zod";
2
+ import { streamSessions, streamSessionKill } from "../tools/index.js";
3
+ export const streamSessionsAction = {
4
+ name: "MADEONSOL_STREAM_SESSIONS_ACTION",
5
+ similes: ["list stream sessions", "live websocket sessions", "my streaming connections", "active ws sessions", "who is connected"],
6
+ description: "List your live WebSocket streaming sessions across ws-streaming and dex-stream. Returns { sessions, count }: each session has id, service (ws-streaming|dex-stream), tier, channels[], connected_at, remote_ip, and messages_sent. PRO/ULTRA only.",
7
+ examples: [
8
+ [{ input: {}, output: { status: "success" }, explanation: "Show my active streaming sessions" }],
9
+ ],
10
+ schema: z.object({}),
11
+ handler: async (agent) => {
12
+ try {
13
+ const data = await streamSessions(agent);
14
+ return { status: "success", result: data };
15
+ }
16
+ catch (err) {
17
+ return { status: "error", message: err.message };
18
+ }
19
+ },
20
+ };
21
+ export const streamSessionKillAction = {
22
+ name: "MADEONSOL_STREAM_SESSION_KILL_ACTION",
23
+ similes: ["kill stream session", "disconnect session", "evict websocket session", "close streaming session", "free up a connection slot"],
24
+ description: "Evict (kill) one of your live WebSocket streaming sessions by id — frees the connection slot. Returns { evicted: true, id }; 404 if no such session, 400 if id is not a positive integer. PRO/ULTRA only.",
25
+ examples: [
26
+ [{ input: { id: "123" }, output: { status: "success" }, explanation: "Kill a live streaming session to free a slot" }],
27
+ ],
28
+ schema: z.object({
29
+ id: z.union([z.string(), z.number()]).describe("Session id (positive integer)"),
30
+ }),
31
+ handler: async (agent, input) => {
32
+ try {
33
+ const data = await streamSessionKill(agent, input);
34
+ return { status: "success", result: data };
35
+ }
36
+ catch (err) {
37
+ return { status: "error", message: err.message };
38
+ }
39
+ },
40
+ };
@@ -0,0 +1,33 @@
1
+ import { z } from "zod";
2
+ export declare const tokenRiskBatchAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {
8
+ mints: string[];
9
+ };
10
+ output: {
11
+ status: string;
12
+ };
13
+ explanation: string;
14
+ }[][];
15
+ schema: z.ZodObject<{
16
+ mints: z.ZodArray<z.ZodString, "many">;
17
+ }, "strip", z.ZodTypeAny, {
18
+ mints: string[];
19
+ }, {
20
+ mints: string[];
21
+ }>;
22
+ handler: (agent: unknown, input: {
23
+ mints: string[];
24
+ }) => Promise<{
25
+ status: string;
26
+ result: any;
27
+ message?: undefined;
28
+ } | {
29
+ status: string;
30
+ message: string;
31
+ result?: undefined;
32
+ }>;
33
+ };
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import { tokenRiskBatch } from "../tools/index.js";
3
+ export const tokenRiskBatchAction = {
4
+ name: "MADEONSOL_TOKEN_RISK_BATCH_ACTION",
5
+ similes: ["batch token risk", "bulk rug risk", "score many tokens", "risk score multiple tokens", "rug check list"],
6
+ description: "Bulk 0–100 rug-risk/safety scoring for 1–50 Solana token mints in one call (higher = riskier). Returns { tokens, count }: each tracked mint has the same shape as the single-mint risk score (band, factors[], inputs) plus an `as_of` ISO timestamp; untracked mints come back as { mint, error: \"not_tracked\" } and do NOT fail the batch. Order follows the de-duplicated input; counts as one request against quota. PRO/ULTRA only — BASIC receives HTTP 403.",
7
+ examples: [
8
+ [
9
+ {
10
+ input: { mints: ["7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU", "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"] },
11
+ output: { status: "success" },
12
+ explanation: "Score the rug risk of several tokens at once",
13
+ },
14
+ ],
15
+ ],
16
+ schema: z.object({
17
+ mints: z.array(z.string()).min(1).max(50).describe("1-50 token mint addresses (base58)"),
18
+ }),
19
+ handler: async (agent, input) => {
20
+ try {
21
+ const data = await tokenRiskBatch(agent, input);
22
+ return { status: "success", result: data };
23
+ }
24
+ catch (err) {
25
+ return { status: "error", message: err.message };
26
+ }
27
+ },
28
+ };
package/dist/index.d.ts CHANGED
@@ -15,7 +15,9 @@ import { almostBondedAction } from "./actions/almostBonded.js";
15
15
  import { tokenRiskAction } from "./actions/tokenRisk.js";
16
16
  import { tokenCandlesAction } from "./actions/tokenCandles.js";
17
17
  import { tokenFlowAction } from "./actions/tokenFlow.js";
18
- 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, tokenRisk, tokenCandles, tokenFlow, 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, almostBonded } from "./tools/index.js";
18
+ import { tokenRiskBatchAction } from "./actions/tokenRiskBatch.js";
19
+ import { streamSessionsAction, streamSessionKillAction } from "./actions/streamSessions.js";
20
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenCandles, tokenFlow, 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, almostBonded } from "./tools/index.js";
19
21
  import { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction } from "./actions/wallet.js";
20
22
  declare const MadeOnSolPlugin: {
21
23
  name: string;
@@ -34,6 +36,8 @@ declare const MadeOnSolPlugin: {
34
36
  deleteWebhook: typeof deleteWebhook;
35
37
  testWebhook: typeof testWebhook;
36
38
  getStreamToken: typeof getStreamToken;
39
+ streamSessions: typeof streamSessions;
40
+ streamSessionKill: typeof streamSessionKill;
37
41
  walletTrackerWatchlist: typeof walletTrackerWatchlist;
38
42
  walletTrackerAdd: typeof walletTrackerAdd;
39
43
  walletTrackerRemove: typeof walletTrackerRemove;
@@ -45,6 +49,7 @@ declare const MadeOnSolPlugin: {
45
49
  tokenCapTable: typeof tokenCapTable;
46
50
  tokenBuyerQuality: typeof tokenBuyerQuality;
47
51
  tokenRisk: typeof tokenRisk;
52
+ tokenRiskBatch: typeof tokenRiskBatch;
48
53
  tokenCandles: typeof tokenCandles;
49
54
  tokenFlow: typeof tokenFlow;
50
55
  copyTradeList: typeof copyTradeList;
@@ -963,6 +968,68 @@ declare const MadeOnSolPlugin: {
963
968
  message: string;
964
969
  result?: undefined;
965
970
  }>;
971
+ } | {
972
+ name: string;
973
+ similes: string[];
974
+ description: string;
975
+ examples: {
976
+ input: {
977
+ mints: string[];
978
+ };
979
+ output: {
980
+ status: string;
981
+ };
982
+ explanation: string;
983
+ }[][];
984
+ schema: import("zod").ZodObject<{
985
+ mints: import("zod").ZodArray<import("zod").ZodString, "many">;
986
+ }, "strip", import("zod").ZodTypeAny, {
987
+ mints: string[];
988
+ }, {
989
+ mints: string[];
990
+ }>;
991
+ handler: (agent: unknown, input: {
992
+ mints: string[];
993
+ }) => Promise<{
994
+ status: string;
995
+ result: any;
996
+ message?: undefined;
997
+ } | {
998
+ status: string;
999
+ message: string;
1000
+ result?: undefined;
1001
+ }>;
1002
+ } | {
1003
+ name: string;
1004
+ similes: string[];
1005
+ description: string;
1006
+ examples: {
1007
+ input: {
1008
+ id: string;
1009
+ };
1010
+ output: {
1011
+ status: string;
1012
+ };
1013
+ explanation: string;
1014
+ }[][];
1015
+ schema: import("zod").ZodObject<{
1016
+ id: import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber]>;
1017
+ }, "strip", import("zod").ZodTypeAny, {
1018
+ id: string | number;
1019
+ }, {
1020
+ id: string | number;
1021
+ }>;
1022
+ handler: (agent: unknown, input: {
1023
+ id: string | number;
1024
+ }) => Promise<{
1025
+ status: string;
1026
+ result: any;
1027
+ message?: undefined;
1028
+ } | {
1029
+ status: string;
1030
+ message: string;
1031
+ result?: undefined;
1032
+ }>;
966
1033
  } | {
967
1034
  name: string;
968
1035
  similes: string[];
@@ -1055,8 +1122,8 @@ declare const MadeOnSolPlugin: {
1055
1122
  initialize(_agent: unknown): void;
1056
1123
  };
1057
1124
  export default MadeOnSolPlugin;
1058
- 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, tokenRisk, tokenCandles, tokenFlow, 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, almostBonded, };
1125
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenCandles, tokenFlow, 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, almostBonded, };
1059
1126
  export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
1060
1127
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
1061
1128
  export { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction };
1062
- export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenCandlesAction, tokenFlowAction };
1129
+ export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenRiskBatchAction, tokenCandlesAction, tokenFlowAction, streamSessionsAction, streamSessionKillAction };
package/dist/index.js CHANGED
@@ -15,7 +15,9 @@ import { almostBondedAction } from "./actions/almostBonded.js";
15
15
  import { tokenRiskAction } from "./actions/tokenRisk.js";
16
16
  import { tokenCandlesAction } from "./actions/tokenCandles.js";
17
17
  import { tokenFlowAction } from "./actions/tokenFlow.js";
18
- 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, tokenRisk, tokenCandles, tokenFlow, 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, almostBonded, } from "./tools/index.js";
18
+ import { tokenRiskBatchAction } from "./actions/tokenRiskBatch.js";
19
+ import { streamSessionsAction, streamSessionKillAction } from "./actions/streamSessions.js";
20
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenCandles, tokenFlow, 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, almostBonded, } from "./tools/index.js";
19
21
  import { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction } from "./actions/wallet.js";
20
22
  const MadeOnSolPlugin = {
21
23
  name: "madeonsol",
@@ -34,6 +36,8 @@ const MadeOnSolPlugin = {
34
36
  deleteWebhook,
35
37
  testWebhook,
36
38
  getStreamToken,
39
+ streamSessions,
40
+ streamSessionKill,
37
41
  walletTrackerWatchlist,
38
42
  walletTrackerAdd,
39
43
  walletTrackerRemove,
@@ -45,6 +49,7 @@ const MadeOnSolPlugin = {
45
49
  tokenCapTable,
46
50
  tokenBuyerQuality,
47
51
  tokenRisk,
52
+ tokenRiskBatch,
48
53
  tokenCandles,
49
54
  tokenFlow,
50
55
  copyTradeList,
@@ -102,8 +107,11 @@ const MadeOnSolPlugin = {
102
107
  tokensListAction,
103
108
  almostBondedAction,
104
109
  tokenRiskAction,
110
+ tokenRiskBatchAction,
105
111
  tokenCandlesAction,
106
112
  tokenFlowAction,
113
+ streamSessionsAction,
114
+ streamSessionKillAction,
107
115
  walletStatsAction,
108
116
  walletPnlAction,
109
117
  walletPositionsAction,
@@ -114,8 +122,8 @@ const MadeOnSolPlugin = {
114
122
  },
115
123
  };
116
124
  export default MadeOnSolPlugin;
117
- 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, tokenRisk, tokenCandles, tokenFlow, 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, almostBonded, };
125
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenCandles, tokenFlow, 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, almostBonded, };
118
126
  export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
119
127
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
120
128
  export { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction };
121
- export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenCandlesAction, tokenFlowAction };
129
+ export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenRiskBatchAction, tokenCandlesAction, tokenFlowAction, streamSessionsAction, streamSessionKillAction };
@@ -113,6 +113,19 @@ export declare function testWebhook(agent: Agent, params: {
113
113
  webhook_id: number;
114
114
  }): Promise<any>;
115
115
  export declare function getStreamToken(agent: Agent): Promise<any>;
116
+ /**
117
+ * List your live WebSocket streaming sessions across ws-streaming and dex-stream.
118
+ * Returns `{ sessions, count }`; each session has `id`, `service`, `tier`, `channels[]`,
119
+ * `connected_at`, `remote_ip`, and `messages_sent`. PRO/ULTRA only.
120
+ */
121
+ export declare function streamSessions(agent: Agent): Promise<any>;
122
+ /**
123
+ * Evict (kill) a live WebSocket streaming session by id. Returns `{ evicted: true, id }`;
124
+ * 404 if no such session, 400 if `id` is not a positive integer. PRO/ULTRA only.
125
+ */
126
+ export declare function streamSessionKill(agent: Agent, params: {
127
+ id: string | number;
128
+ }): Promise<any>;
116
129
  export declare function walletTrackerWatchlist(agent: Agent): Promise<any>;
117
130
  export declare function walletTrackerAdd(agent: Agent, params: {
118
131
  wallet_address: string;
@@ -191,6 +204,14 @@ export declare function tokenFlow(agent: Agent, params: {
191
204
  export declare function tokenBuyerQualityBatch(agent: Agent, params: {
192
205
  mints: string[];
193
206
  }): Promise<any>;
207
+ /**
208
+ * Bulk rug-risk/safety scoring for 1–50 mints — same per-mint shape as tokenRisk() plus an `as_of` ISO string.
209
+ * Returns `{ tokens, count }` where `tokens` preserves de-duplicated input order; untracked mints come back as
210
+ * `{ mint, error: "not_tracked" }` and do NOT fail the batch. Counts as one request against quota. PRO/ULTRA only.
211
+ */
212
+ export declare function tokenRiskBatch(agent: Agent, params: {
213
+ mints: string[];
214
+ }): Promise<any>;
194
215
  /** Comprehensive per-mint snapshot: price, MC, 24h volume, deployer reputation, KOL activity, age, blacklist status. */
195
216
  export declare function tokenGet(agent: Agent, params: {
196
217
  mint: string;
@@ -182,6 +182,21 @@ export async function testWebhook(agent, params) {
182
182
  export async function getStreamToken(agent) {
183
183
  return restQuery(agent, "POST", "/stream/token");
184
184
  }
185
+ /**
186
+ * List your live WebSocket streaming sessions across ws-streaming and dex-stream.
187
+ * Returns `{ sessions, count }`; each session has `id`, `service`, `tier`, `channels[]`,
188
+ * `connected_at`, `remote_ip`, and `messages_sent`. PRO/ULTRA only.
189
+ */
190
+ export async function streamSessions(agent) {
191
+ return restQuery(agent, "GET", "/stream/sessions");
192
+ }
193
+ /**
194
+ * Evict (kill) a live WebSocket streaming session by id. Returns `{ evicted: true, id }`;
195
+ * 404 if no such session, 400 if `id` is not a positive integer. PRO/ULTRA only.
196
+ */
197
+ export async function streamSessionKill(agent, params) {
198
+ return restQuery(agent, "DELETE", `/stream/sessions/${encodeURIComponent(String(params.id))}`);
199
+ }
185
200
  // ── Wallet Tracker ──
186
201
  export async function walletTrackerWatchlist(agent) {
187
202
  return restQuery(agent, "GET", "/wallet-tracker/watchlist");
@@ -290,6 +305,14 @@ export async function tokenFlow(agent, params) {
290
305
  export async function tokenBuyerQualityBatch(agent, params) {
291
306
  return restQuery(agent, "POST", "/tokens/batch/buyer-quality", { mints: params.mints });
292
307
  }
308
+ /**
309
+ * Bulk rug-risk/safety scoring for 1–50 mints — same per-mint shape as tokenRisk() plus an `as_of` ISO string.
310
+ * Returns `{ tokens, count }` where `tokens` preserves de-duplicated input order; untracked mints come back as
311
+ * `{ mint, error: "not_tracked" }` and do NOT fail the batch. Counts as one request against quota. PRO/ULTRA only.
312
+ */
313
+ export async function tokenRiskBatch(agent, params) {
314
+ return restQuery(agent, "POST", "/tokens/batch/risk", { mints: params.mints });
315
+ }
293
316
  // ── Token Intelligence (/token/{mint}) ──
294
317
  /** Comprehensive per-mint snapshot: price, MC, 24h volume, deployer reputation, KOL activity, age, blacklist status. */
295
318
  export async function tokenGet(agent, params) {
package/package.json CHANGED
@@ -1,54 +1,54 @@
1
- {
2
- "name": "solana-agent-kit-plugin-madeonsol",
3
- "version": "1.14.0",
4
- "description": "Solana Agent Kit plugin for MadeOnSol — KOL intelligence and deployer analytics via x402 micropayments",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "files": [
9
- "dist",
10
- "README.md"
11
- ],
12
- "scripts": {
13
- "build": "tsc",
14
- "preflight": "bash ../../scripts/preflight-publish.sh",
15
- "prepublishOnly": "npm run preflight && npm run build"
16
- },
17
- "keywords": [
18
- "solana",
19
- "agent-kit",
20
- "solana-agent-kit",
21
- "sendaifun",
22
- "plugin",
23
- "ai-agent",
24
- "x402",
25
- "kol",
26
- "kol-tracker",
27
- "trading",
28
- "memecoin",
29
- "memecoin-tracker",
30
- "pumpfun",
31
- "deployer-hunter",
32
- "alpha",
33
- "alpha-bot",
34
- "smart-money",
35
- "copy-trading",
36
- "madeonsol"
37
- ],
38
- "license": "MIT",
39
- "repository": {
40
- "type": "git",
41
- "url": "https://github.com/LamboPoewert/solana-agent-kit-plugin-madeonsol"
42
- },
43
- "peerDependencies": {
44
- "solana-agent-kit": ">=2.0.0",
45
- "@x402/fetch": ">=0.1.0",
46
- "@x402/core": ">=0.1.0",
47
- "@x402/svm": ">=0.1.0",
48
- "@solana/kit": ">=2.0.0",
49
- "@scure/base": ">=1.0.0"
50
- },
51
- "dependencies": {
52
- "zod": "^3.24.0"
53
- }
54
- }
1
+ {
2
+ "name": "solana-agent-kit-plugin-madeonsol",
3
+ "version": "1.15.1",
4
+ "description": "Solana Agent Kit plugin for MadeOnSol — KOL intelligence and deployer analytics via x402 micropayments",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "README.md"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "preflight": "bash ../../scripts/preflight-publish.sh",
15
+ "prepublishOnly": "npm run preflight && npm run build"
16
+ },
17
+ "keywords": [
18
+ "solana",
19
+ "agent-kit",
20
+ "solana-agent-kit",
21
+ "sendaifun",
22
+ "plugin",
23
+ "ai-agent",
24
+ "x402",
25
+ "kol",
26
+ "kol-tracker",
27
+ "trading",
28
+ "memecoin",
29
+ "memecoin-tracker",
30
+ "pumpfun",
31
+ "deployer-hunter",
32
+ "alpha",
33
+ "alpha-bot",
34
+ "smart-money",
35
+ "copy-trading",
36
+ "madeonsol"
37
+ ],
38
+ "license": "MIT",
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "https://github.com/madeonsol/solana-agent-kit-plugin-madeonsol"
42
+ },
43
+ "peerDependencies": {
44
+ "solana-agent-kit": ">=2.0.0",
45
+ "@x402/fetch": ">=0.1.0",
46
+ "@x402/core": ">=0.1.0",
47
+ "@x402/svm": ">=0.1.0",
48
+ "@solana/kit": ">=2.0.0",
49
+ "@scure/base": ">=1.0.0"
50
+ },
51
+ "dependencies": {
52
+ "zod": "^3.24.0"
53
+ }
54
+ }