solana-agent-kit-plugin-madeonsol 0.3.3 → 0.5.0

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
@@ -54,8 +54,8 @@ const trades = await agent.methods.kolFeed(agent, { limit: 10, action: "buy" });
54
54
  |---|---|
55
55
  | `MADEONSOL_KOL_FEED_ACTION` | "kol trades", "what are kols buying" |
56
56
  | `MADEONSOL_KOL_COORDINATION_ACTION` | "kol convergence", "tokens kols accumulating" |
57
- | `MADEONSOL_KOL_LEADERBOARD_ACTION` | "top kols", "kol rankings", "best kol" |
58
- | `MADEONSOL_DEPLOYER_ALERTS_ACTION` | "deployer alerts", "pump fun launches" |
57
+ | `MADEONSOL_KOL_LEADERBOARD_ACTION` | "top kols", "kol rankings", "best kol" — periods: today, 7d, 30d, 90d, 180d (180-day retention) |
58
+ | `MADEONSOL_DEPLOYER_ALERTS_ACTION` | "deployer alerts", "pump fun launches" — PRO/ULTRA: filter by tier (elite/good/moderate/rising/cold) |
59
59
  | `MADEONSOL_TOKEN_INFO_ACTION` | "token info", "token price", "what is this token" |
60
60
 
61
61
  ## Also Available
@@ -16,19 +16,23 @@ export declare const deployerAlertsAction: {
16
16
  limit: z.ZodDefault<z.ZodNumber>;
17
17
  offset: z.ZodDefault<z.ZodNumber>;
18
18
  since: z.ZodOptional<z.ZodString>;
19
+ tier: z.ZodOptional<z.ZodEnum<["elite", "good", "moderate", "rising", "cold"]>>;
19
20
  }, "strip", z.ZodTypeAny, {
20
21
  limit: number;
21
22
  offset: number;
22
23
  since?: string | undefined;
24
+ tier?: "elite" | "good" | "moderate" | "rising" | "cold" | undefined;
23
25
  }, {
24
26
  limit?: number | undefined;
25
27
  offset?: number | undefined;
26
28
  since?: string | undefined;
29
+ tier?: "elite" | "good" | "moderate" | "rising" | "cold" | undefined;
27
30
  }>;
28
31
  handler: (agent: unknown, input: {
29
32
  limit?: number;
30
33
  offset?: number;
31
34
  since?: string;
35
+ tier?: "elite" | "good" | "moderate" | "rising" | "cold";
32
36
  }) => Promise<{
33
37
  status: string;
34
38
  result: any;
@@ -11,6 +11,10 @@ export const deployerAlertsAction = {
11
11
  limit: z.number().min(1).max(100).default(10).describe("Number of alerts"),
12
12
  offset: z.number().min(0).default(0).describe("Pagination offset"),
13
13
  since: z.string().optional().describe("ISO8601 timestamp to filter alerts after"),
14
+ tier: z
15
+ .enum(["elite", "good", "moderate", "rising", "cold"])
16
+ .optional()
17
+ .describe("Filter by deployer tier. PRO/ULTRA subscribers only — BASIC callers receive 403."),
14
18
  }),
15
19
  handler: async (agent, input) => {
16
20
  try {
@@ -3,7 +3,7 @@ import { kolFeed } from "../tools/index.js";
3
3
  export const kolFeedAction = {
4
4
  name: "MADEONSOL_KOL_FEED_ACTION",
5
5
  similes: ["kol trades", "what are kols buying", "kol feed", "smart money trades", "kol activity"],
6
- description: "Get real-time Solana KOL trades from 946 tracked wallets via MadeOnSol x402 API. Costs $0.005 USDC per request.",
6
+ description: "Get real-time Solana KOL trades from 1,000+ tracked wallets via MadeOnSol x402 API. Costs $0.005 USDC per request.",
7
7
  examples: [
8
8
  [{ input: { limit: 10, action: "buy" }, output: { status: "success" }, explanation: "Fetch the 10 most recent KOL buy trades" }],
9
9
  ],
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ export declare const kolPnlAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {
8
+ wallet: string;
9
+ period: string;
10
+ };
11
+ output: {
12
+ status: string;
13
+ };
14
+ explanation: string;
15
+ }[][];
16
+ schema: z.ZodObject<{
17
+ wallet: z.ZodString;
18
+ period: z.ZodDefault<z.ZodEnum<["7d", "30d", "90d", "180d"]>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ period: "7d" | "30d" | "90d" | "180d";
21
+ wallet: string;
22
+ }, {
23
+ wallet: string;
24
+ period?: "7d" | "30d" | "90d" | "180d" | undefined;
25
+ }>;
26
+ handler: (agent: unknown, input: {
27
+ wallet: string;
28
+ period?: string;
29
+ }) => Promise<{
30
+ status: string;
31
+ result: any;
32
+ message?: undefined;
33
+ } | {
34
+ status: string;
35
+ message: string;
36
+ result?: undefined;
37
+ }>;
38
+ };
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ import { kolPnl } from "../tools/index.js";
3
+ export const kolPnlAction = {
4
+ name: "MADEONSOL_KOL_PNL_ACTION",
5
+ similes: ["kol pnl", "kol profit", "kol performance", "wallet pnl", "kol win rate", "kol drawdown"],
6
+ description: "Get deep per-wallet PnL breakdown — realized PnL, win rate, profit factor, max drawdown, daily equity curve, and per-token positions via MadeOnSol API.",
7
+ examples: [
8
+ [{ input: { wallet: "ABC...xyz", period: "30d" }, output: { status: "success" }, explanation: "Get 30-day PnL breakdown for a KOL wallet" }],
9
+ ],
10
+ schema: z.object({
11
+ wallet: z.string().describe("KOL wallet address (base58)"),
12
+ period: z.enum(["7d", "30d", "90d", "180d"]).default("30d").describe("Time period"),
13
+ }),
14
+ handler: async (agent, input) => {
15
+ try {
16
+ const data = await kolPnl(agent, input);
17
+ return { status: "success", result: data };
18
+ }
19
+ catch (err) {
20
+ return { status: "error", message: err.message };
21
+ }
22
+ },
23
+ };
@@ -0,0 +1,42 @@
1
+ import { z } from "zod";
2
+ export declare const kolTrendingTokensAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {
8
+ period: string;
9
+ min_kols: number;
10
+ };
11
+ output: {
12
+ status: string;
13
+ };
14
+ explanation: string;
15
+ }[][];
16
+ schema: z.ZodObject<{
17
+ period: z.ZodDefault<z.ZodEnum<["5m", "15m", "30m", "1h", "2h", "4h", "12h"]>>;
18
+ min_kols: z.ZodDefault<z.ZodNumber>;
19
+ limit: z.ZodDefault<z.ZodNumber>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ limit: number;
22
+ period: "1h" | "5m" | "15m" | "30m" | "2h" | "4h" | "12h";
23
+ min_kols: number;
24
+ }, {
25
+ limit?: number | undefined;
26
+ period?: "1h" | "5m" | "15m" | "30m" | "2h" | "4h" | "12h" | undefined;
27
+ min_kols?: number | undefined;
28
+ }>;
29
+ handler: (agent: unknown, input: {
30
+ period?: string;
31
+ min_kols?: number;
32
+ limit?: number;
33
+ }) => Promise<{
34
+ status: string;
35
+ result: any;
36
+ message?: undefined;
37
+ } | {
38
+ status: string;
39
+ message: string;
40
+ result?: undefined;
41
+ }>;
42
+ };
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ import { kolTrendingTokens } from "../tools/index.js";
3
+ export const kolTrendingTokensAction = {
4
+ name: "MADEONSOL_KOL_TRENDING_TOKENS_ACTION",
5
+ similes: ["trending tokens", "kol volume", "what are kols buying now", "hot buys", "kol capital flow"],
6
+ description: "Get tokens ranked by KOL buy volume — pure capital-flow signal. Sub-hour periods (5m/15m/30m) require PRO/ULTRA. Costs $0.005 USDC per request.",
7
+ examples: [
8
+ [{ input: { period: "1h", min_kols: 2 }, output: { status: "success" }, explanation: "Get tokens with highest KOL buy volume in the last hour, with at least 2 KOLs buying" }],
9
+ ],
10
+ schema: z.object({
11
+ period: z.enum(["5m", "15m", "30m", "1h", "2h", "4h", "12h"]).default("1h").describe("Time window"),
12
+ min_kols: z.number().min(1).max(20).default(1).describe("Minimum KOL buyers"),
13
+ limit: z.number().min(1).max(50).default(20).describe("Number of tokens"),
14
+ }),
15
+ handler: async (agent, input) => {
16
+ try {
17
+ const data = await kolTrendingTokens(agent, input);
18
+ return { status: "success", result: data };
19
+ }
20
+ catch (err) {
21
+ return { status: "error", message: err.message };
22
+ }
23
+ },
24
+ };
package/dist/index.d.ts CHANGED
@@ -2,7 +2,9 @@ import { kolFeedAction } from "./actions/kolFeed.js";
2
2
  import { kolCoordinationAction } from "./actions/kolCoordination.js";
3
3
  import { kolLeaderboardAction } from "./actions/kolLeaderboard.js";
4
4
  import { deployerAlertsAction } from "./actions/deployerAlerts.js";
5
- import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken } from "./tools/index.js";
5
+ import { kolPnlAction } from "./actions/kolPnl.js";
6
+ import { kolTrendingTokensAction } from "./actions/kolTrendingTokens.js";
7
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken } from "./tools/index.js";
6
8
  declare const MadeOnSolPlugin: {
7
9
  name: string;
8
10
  methods: {
@@ -10,6 +12,8 @@ declare const MadeOnSolPlugin: {
10
12
  kolCoordination: typeof kolCoordination;
11
13
  kolLeaderboard: typeof kolLeaderboard;
12
14
  deployerAlerts: typeof deployerAlerts;
15
+ kolPnl: typeof kolPnl;
16
+ kolTrendingTokens: typeof kolTrendingTokens;
13
17
  createWebhook: typeof createWebhook;
14
18
  listWebhooks: typeof listWebhooks;
15
19
  deleteWebhook: typeof deleteWebhook;
@@ -149,19 +153,99 @@ declare const MadeOnSolPlugin: {
149
153
  limit: import("zod").ZodDefault<import("zod").ZodNumber>;
150
154
  offset: import("zod").ZodDefault<import("zod").ZodNumber>;
151
155
  since: import("zod").ZodOptional<import("zod").ZodString>;
156
+ tier: import("zod").ZodOptional<import("zod").ZodEnum<["elite", "good", "moderate", "rising", "cold"]>>;
152
157
  }, "strip", import("zod").ZodTypeAny, {
153
158
  limit: number;
154
159
  offset: number;
155
160
  since?: string | undefined;
161
+ tier?: "elite" | "good" | "moderate" | "rising" | "cold" | undefined;
156
162
  }, {
157
163
  limit?: number | undefined;
158
164
  offset?: number | undefined;
159
165
  since?: string | undefined;
166
+ tier?: "elite" | "good" | "moderate" | "rising" | "cold" | undefined;
160
167
  }>;
161
168
  handler: (agent: unknown, input: {
162
169
  limit?: number;
163
170
  offset?: number;
164
171
  since?: string;
172
+ tier?: "elite" | "good" | "moderate" | "rising" | "cold";
173
+ }) => Promise<{
174
+ status: string;
175
+ result: any;
176
+ message?: undefined;
177
+ } | {
178
+ status: string;
179
+ message: string;
180
+ result?: undefined;
181
+ }>;
182
+ } | {
183
+ name: string;
184
+ similes: string[];
185
+ description: string;
186
+ examples: {
187
+ input: {
188
+ wallet: string;
189
+ period: string;
190
+ };
191
+ output: {
192
+ status: string;
193
+ };
194
+ explanation: string;
195
+ }[][];
196
+ schema: import("zod").ZodObject<{
197
+ wallet: import("zod").ZodString;
198
+ period: import("zod").ZodDefault<import("zod").ZodEnum<["7d", "30d", "90d", "180d"]>>;
199
+ }, "strip", import("zod").ZodTypeAny, {
200
+ period: "7d" | "30d" | "90d" | "180d";
201
+ wallet: string;
202
+ }, {
203
+ wallet: string;
204
+ period?: "7d" | "30d" | "90d" | "180d" | undefined;
205
+ }>;
206
+ handler: (agent: unknown, input: {
207
+ wallet: string;
208
+ period?: string;
209
+ }) => Promise<{
210
+ status: string;
211
+ result: any;
212
+ message?: undefined;
213
+ } | {
214
+ status: string;
215
+ message: string;
216
+ result?: undefined;
217
+ }>;
218
+ } | {
219
+ name: string;
220
+ similes: string[];
221
+ description: string;
222
+ examples: {
223
+ input: {
224
+ period: string;
225
+ min_kols: number;
226
+ };
227
+ output: {
228
+ status: string;
229
+ };
230
+ explanation: string;
231
+ }[][];
232
+ schema: import("zod").ZodObject<{
233
+ period: import("zod").ZodDefault<import("zod").ZodEnum<["5m", "15m", "30m", "1h", "2h", "4h", "12h"]>>;
234
+ min_kols: import("zod").ZodDefault<import("zod").ZodNumber>;
235
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
236
+ }, "strip", import("zod").ZodTypeAny, {
237
+ limit: number;
238
+ period: "1h" | "5m" | "15m" | "30m" | "2h" | "4h" | "12h";
239
+ min_kols: number;
240
+ }, {
241
+ limit?: number | undefined;
242
+ period?: "1h" | "5m" | "15m" | "30m" | "2h" | "4h" | "12h" | undefined;
243
+ min_kols?: number | undefined;
244
+ }>;
245
+ handler: (agent: unknown, input: {
246
+ period?: string;
247
+ min_kols?: number;
248
+ limit?: number;
165
249
  }) => Promise<{
166
250
  status: string;
167
251
  result: any;
@@ -175,5 +259,5 @@ declare const MadeOnSolPlugin: {
175
259
  initialize(_agent: unknown): void;
176
260
  };
177
261
  export default MadeOnSolPlugin;
178
- export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken };
179
- export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction };
262
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken };
263
+ export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction };
package/dist/index.js CHANGED
@@ -2,7 +2,9 @@ import { kolFeedAction } from "./actions/kolFeed.js";
2
2
  import { kolCoordinationAction } from "./actions/kolCoordination.js";
3
3
  import { kolLeaderboardAction } from "./actions/kolLeaderboard.js";
4
4
  import { deployerAlertsAction } from "./actions/deployerAlerts.js";
5
- import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken } from "./tools/index.js";
5
+ import { kolPnlAction } from "./actions/kolPnl.js";
6
+ import { kolTrendingTokensAction } from "./actions/kolTrendingTokens.js";
7
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken } from "./tools/index.js";
6
8
  const MadeOnSolPlugin = {
7
9
  name: "madeonsol",
8
10
  methods: {
@@ -10,6 +12,8 @@ const MadeOnSolPlugin = {
10
12
  kolCoordination,
11
13
  kolLeaderboard,
12
14
  deployerAlerts,
15
+ kolPnl,
16
+ kolTrendingTokens,
13
17
  createWebhook,
14
18
  listWebhooks,
15
19
  deleteWebhook,
@@ -21,11 +25,13 @@ const MadeOnSolPlugin = {
21
25
  kolCoordinationAction,
22
26
  kolLeaderboardAction,
23
27
  deployerAlertsAction,
28
+ kolPnlAction,
29
+ kolTrendingTokensAction,
24
30
  ],
25
31
  initialize(_agent) {
26
32
  // No-op — payment setup is lazy in tool functions
27
33
  },
28
34
  };
29
35
  export default MadeOnSolPlugin;
30
- export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken };
31
- export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction };
36
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken };
37
+ export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction };
@@ -21,10 +21,16 @@ export declare function kolLeaderboard(agent: Agent, params?: {
21
21
  period?: string;
22
22
  limit?: number;
23
23
  }): Promise<any>;
24
+ /**
25
+ * Get Pump.fun deployer alerts with KOL buy enrichment.
26
+ * The `tier` filter (elite/good/moderate/rising/cold) is PRO/ULTRA only —
27
+ * BASIC callers passing it receive HTTP 403.
28
+ */
24
29
  export declare function deployerAlerts(agent: Agent, params?: {
25
30
  limit?: number;
26
31
  since?: string;
27
32
  offset?: number;
33
+ tier?: "elite" | "good" | "moderate" | "rising" | "cold";
28
34
  }): Promise<any>;
29
35
  export declare function kolPairs(agent: Agent, params?: {
30
36
  period?: string;
@@ -36,6 +42,15 @@ export declare function kolHotTokens(agent: Agent, params?: {
36
42
  min_kols?: number;
37
43
  limit?: number;
38
44
  }): Promise<any>;
45
+ export declare function kolTrendingTokens(agent: Agent, params?: {
46
+ period?: string;
47
+ min_kols?: number;
48
+ limit?: number;
49
+ }): Promise<any>;
50
+ export declare function kolPnl(agent: Agent, params: {
51
+ wallet: string;
52
+ period?: string;
53
+ }): Promise<any>;
39
54
  export declare function kolTiming(agent: Agent, params: {
40
55
  wallet: string;
41
56
  period?: string;
@@ -85,6 +85,11 @@ export async function kolLeaderboard(agent, params = {}) {
85
85
  await initAuth(agent);
86
86
  return query("/api/x402/kol/leaderboard", params);
87
87
  }
88
+ /**
89
+ * Get Pump.fun deployer alerts with KOL buy enrichment.
90
+ * The `tier` filter (elite/good/moderate/rising/cold) is PRO/ULTRA only —
91
+ * BASIC callers passing it receive HTTP 403.
92
+ */
88
93
  export async function deployerAlerts(agent, params = {}) {
89
94
  await initAuth(agent);
90
95
  return query("/api/x402/deployer-hunter/alerts", params);
@@ -97,6 +102,14 @@ export async function kolHotTokens(agent, params = {}) {
97
102
  await initAuth(agent);
98
103
  return query("/api/x402/kol/tokens/hot", params);
99
104
  }
105
+ export async function kolTrendingTokens(agent, params = {}) {
106
+ await initAuth(agent);
107
+ return query("/api/x402/kol/tokens/trending", params);
108
+ }
109
+ export async function kolPnl(agent, params) {
110
+ const qs = params.period ? `?period=${params.period}` : "";
111
+ return restQuery(agent, "GET", `/kol/${params.wallet}/pnl${qs}`);
112
+ }
100
113
  export async function kolTiming(agent, params) {
101
114
  const qs = params.period ? `?period=${params.period}` : "";
102
115
  return restQuery(agent, "GET", `/kol/${params.wallet}/timing${qs}`);
package/package.json CHANGED
@@ -1,40 +1,40 @@
1
- {
2
- "name": "solana-agent-kit-plugin-madeonsol",
3
- "version": "0.3.3",
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
- "prepublishOnly": ""
15
- },
16
- "keywords": [
17
- "solana",
18
- "agent-kit",
19
- "x402",
20
- "kol",
21
- "trading",
22
- "madeonsol"
23
- ],
24
- "license": "MIT",
25
- "repository": {
26
- "type": "git",
27
- "url": "https://github.com/LamboPoewert/solana-agent-kit-plugin-madeonsol"
28
- },
29
- "peerDependencies": {
30
- "solana-agent-kit": ">=2.0.0",
31
- "@x402/fetch": ">=0.1.0",
32
- "@x402/core": ">=0.1.0",
33
- "@x402/svm": ">=0.1.0",
34
- "@solana/kit": ">=2.0.0",
35
- "@scure/base": ">=1.0.0"
36
- },
37
- "dependencies": {
38
- "zod": "^3.24.0"
39
- }
40
- }
1
+ {
2
+ "name": "solana-agent-kit-plugin-madeonsol",
3
+ "version": "0.5.0",
4
+ "description": "Solana Agent Kit plugin for MadeOnSol \u00e2\u20ac\u201d 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
+ "prepublishOnly": ""
15
+ },
16
+ "keywords": [
17
+ "solana",
18
+ "agent-kit",
19
+ "x402",
20
+ "kol",
21
+ "trading",
22
+ "madeonsol"
23
+ ],
24
+ "license": "MIT",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/LamboPoewert/solana-agent-kit-plugin-madeonsol"
28
+ },
29
+ "peerDependencies": {
30
+ "solana-agent-kit": ">=2.0.0",
31
+ "@x402/fetch": ">=0.1.0",
32
+ "@x402/core": ">=0.1.0",
33
+ "@x402/svm": ">=0.1.0",
34
+ "@solana/kit": ">=2.0.0",
35
+ "@scure/base": ">=1.0.0"
36
+ },
37
+ "dependencies": {
38
+ "zod": "^3.24.0"
39
+ }
40
+ }