solana-agent-kit-plugin-madeonsol 1.7.0 โ†’ 1.7.3

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
@@ -1,8 +1,15 @@
1
1
  # solana-agent-kit-plugin-madeonsol
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/solana-agent-kit-plugin-madeonsol?style=flat-square)](https://www.npmjs.com/package/solana-agent-kit-plugin-madeonsol)
4
+ [![npm downloads](https://img.shields.io/npm/dm/solana-agent-kit-plugin-madeonsol?style=flat-square)](https://www.npmjs.com/package/solana-agent-kit-plugin-madeonsol)
5
+ [![SAK](https://img.shields.io/badge/Solana%20Agent%20Kit-plugin-blueviolet?style=flat-square)](https://github.com/sendaifun/solana-agent-kit)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](LICENSE)
7
+
8
+ > ๐Ÿ“š **[API docs](https://madeonsol.com/api-docs)** ยท ๐Ÿ’ฐ **[Free API key](https://madeonsol.com/pricing)** ยท ๐Ÿค– **[Solana Agent Kit](https://github.com/sendaifun/solana-agent-kit)**
9
+
3
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.
4
11
 
5
- > 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/developer](https://madeonsol.com/developer) โ€” no credit card required.
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.
6
13
 
7
14
  > **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.
8
15
 
@@ -15,7 +22,7 @@ npm install solana-agent-kit-plugin-madeonsol
15
22
  ```ts
16
23
  import { SolanaAgentKit } from "solana-agent-kit";
17
24
  import MadeOnSolPlugin from "solana-agent-kit-plugin-madeonsol";
18
- const agent = new SolanaAgentKit(privateKey, rpcUrl, { MADEONSOL_API_KEY: "msk_..." }); // free key: https://madeonsol.com/developer
25
+ const agent = new SolanaAgentKit(privateKey, rpcUrl, { MADEONSOL_API_KEY: "msk_..." }); // free tier at https://madeonsol.com/pricing
19
26
  agent.use(MadeOnSolPlugin);
20
27
  const trades = await agent.methods.kolFeed(agent, { limit: 5, action: "buy" });
21
28
  ```
@@ -26,10 +33,10 @@ Two options (in priority order):
26
33
 
27
34
  | Method | Config key | Best for |
28
35
  |---|---|---|
29
- | **MadeOnSol API key** (recommended) | `MADEONSOL_API_KEY` | Developers โ€” [get a free key](https://madeonsol.com/developer) |
36
+ | **MadeOnSol API key** (recommended) | `MADEONSOL_API_KEY` | Developers โ€” [get a free key](https://madeonsol.com/pricing) |
30
37
  | x402 micropayments | `SVM_PRIVATE_KEY` | AI agents with Solana wallets |
31
38
 
32
- > **v1.0 breaking change:** RapidAPI auth (`RAPIDAPI_KEY`) has been removed. The MadeOnSol RapidAPI marketplace was retired on 2026-04-19. Get a free `msk_` key at [madeonsol.com/developer](https://madeonsol.com/developer).
39
+ > **v1.0 breaking change:** RapidAPI auth (`RAPIDAPI_KEY`) has been removed. The MadeOnSol RapidAPI marketplace was retired on 2026-04-19. Get a free `msk_` key at [madeonsol.com/pricing](https://madeonsol.com/pricing).
33
40
 
34
41
  ## Install
35
42
 
@@ -195,7 +202,7 @@ console.log(lastRateLimit); // { limit: "10000", remaining: "9999", reset: "..."
195
202
  | Pro | $49/mo | 50 | 10,000 |
196
203
  | Ultra | $149/mo | 100 + WS events | 100,000 |
197
204
 
198
- 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).
205
+ 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).
199
206
 
200
207
  ## Also Available
201
208
 
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ export declare const meAction: {
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, _input: Record<string, never>) => Promise<{
15
+ status: string;
16
+ result: any;
17
+ message?: undefined;
18
+ } | {
19
+ status: string;
20
+ message: string;
21
+ result?: undefined;
22
+ }>;
23
+ };
@@ -0,0 +1,33 @@
1
+ import { z } from "zod";
2
+ import { me } from "../tools/index.js";
3
+ export const meAction = {
4
+ name: "MADEONSOL_ME_ACTION",
5
+ similes: [
6
+ "my api account",
7
+ "api quota",
8
+ "api tier",
9
+ "remaining requests",
10
+ "rate limit status",
11
+ "my usage",
12
+ ],
13
+ description: "Inspect your MadeOnSol API account โ€” tier, daily/burst quota state, remaining requests, and per-feature usage.",
14
+ examples: [
15
+ [
16
+ {
17
+ input: {},
18
+ output: { status: "success" },
19
+ explanation: "Check current tier, daily and burst quota remaining, and per-feature usage counters",
20
+ },
21
+ ],
22
+ ],
23
+ schema: z.object({}),
24
+ handler: async (agent, _input) => {
25
+ try {
26
+ const data = await me(agent);
27
+ return { status: "success", result: data };
28
+ }
29
+ catch (err) {
30
+ return { status: "error", message: err.message };
31
+ }
32
+ },
33
+ };
@@ -0,0 +1,93 @@
1
+ import { z } from "zod";
2
+ export declare const tokensListAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {
8
+ min_mc: number;
9
+ max_mc: number;
10
+ primary_dex: string;
11
+ sort: string;
12
+ limit: number;
13
+ };
14
+ output: {
15
+ status: string;
16
+ };
17
+ explanation: string;
18
+ }[][];
19
+ schema: z.ZodObject<{
20
+ min_mc: z.ZodOptional<z.ZodNumber>;
21
+ max_mc: z.ZodOptional<z.ZodNumber>;
22
+ min_liq: z.ZodOptional<z.ZodNumber>;
23
+ active_h: z.ZodOptional<z.ZodNumber>;
24
+ primary_dex: z.ZodOptional<z.ZodEnum<["pumpfun", "pumpswap", "raydium", "meteora", "orca", "letsbonk", "other"]>>;
25
+ authority_revoked: z.ZodOptional<z.ZodBoolean>;
26
+ exclude_token2022: z.ZodOptional<z.ZodBoolean>;
27
+ min_lp_burnt_pct: z.ZodOptional<z.ZodNumber>;
28
+ min_volume_1h_usd: z.ZodOptional<z.ZodNumber>;
29
+ max_mev_share_pct: z.ZodOptional<z.ZodNumber>;
30
+ mc_change_1h_min_pct: z.ZodOptional<z.ZodNumber>;
31
+ mc_change_1h_max_pct: z.ZodOptional<z.ZodNumber>;
32
+ sort: z.ZodOptional<z.ZodEnum<["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc"]>>;
33
+ limit: z.ZodDefault<z.ZodNumber>;
34
+ offset: z.ZodOptional<z.ZodNumber>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ limit: number;
37
+ sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | undefined;
38
+ min_mc?: number | undefined;
39
+ max_mc?: number | undefined;
40
+ min_liq?: number | undefined;
41
+ active_h?: number | undefined;
42
+ primary_dex?: "pumpfun" | "pumpswap" | "raydium" | "meteora" | "orca" | "letsbonk" | "other" | undefined;
43
+ authority_revoked?: boolean | undefined;
44
+ exclude_token2022?: boolean | undefined;
45
+ min_lp_burnt_pct?: number | undefined;
46
+ min_volume_1h_usd?: number | undefined;
47
+ max_mev_share_pct?: number | undefined;
48
+ mc_change_1h_min_pct?: number | undefined;
49
+ mc_change_1h_max_pct?: number | undefined;
50
+ offset?: number | undefined;
51
+ }, {
52
+ sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | undefined;
53
+ limit?: number | undefined;
54
+ min_mc?: number | undefined;
55
+ max_mc?: number | undefined;
56
+ min_liq?: number | undefined;
57
+ active_h?: number | undefined;
58
+ primary_dex?: "pumpfun" | "pumpswap" | "raydium" | "meteora" | "orca" | "letsbonk" | "other" | undefined;
59
+ authority_revoked?: boolean | undefined;
60
+ exclude_token2022?: boolean | undefined;
61
+ min_lp_burnt_pct?: number | undefined;
62
+ min_volume_1h_usd?: number | undefined;
63
+ max_mev_share_pct?: number | undefined;
64
+ mc_change_1h_min_pct?: number | undefined;
65
+ mc_change_1h_max_pct?: number | undefined;
66
+ offset?: number | undefined;
67
+ }>;
68
+ handler: (agent: unknown, input: {
69
+ min_mc?: number;
70
+ max_mc?: number;
71
+ min_liq?: number;
72
+ active_h?: number;
73
+ primary_dex?: "pumpfun" | "pumpswap" | "raydium" | "meteora" | "orca" | "letsbonk" | "other";
74
+ authority_revoked?: boolean;
75
+ exclude_token2022?: boolean;
76
+ min_lp_burnt_pct?: number;
77
+ min_volume_1h_usd?: number;
78
+ max_mev_share_pct?: number;
79
+ mc_change_1h_min_pct?: number;
80
+ mc_change_1h_max_pct?: number;
81
+ sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc";
82
+ limit?: number;
83
+ offset?: number;
84
+ }) => Promise<{
85
+ status: string;
86
+ result: any;
87
+ message?: undefined;
88
+ } | {
89
+ status: string;
90
+ message: string;
91
+ result?: undefined;
92
+ }>;
93
+ };
@@ -0,0 +1,57 @@
1
+ import { z } from "zod";
2
+ import { tokensList } from "../tools/index.js";
3
+ export const tokensListAction = {
4
+ name: "MADEONSOL_TOKENS_LIST_ACTION",
5
+ similes: [
6
+ "token list",
7
+ "filter tokens",
8
+ "token directory",
9
+ "scan tokens",
10
+ "tokens by market cap",
11
+ "tokens by liquidity",
12
+ "tokens by dex",
13
+ "find tokens",
14
+ ],
15
+ description: "Filtered, sortable token directory (PRO+). Default `min_liq=2000` skips dust. Supports MC band, liquidity floor, recent-activity window, primary DEX, authority flags, computed 1h volume floor, MEV-share ceiling, MC change deltas.",
16
+ examples: [
17
+ [
18
+ {
19
+ input: { min_mc: 100000, max_mc: 5000000, primary_dex: "pumpswap", sort: "cumulative_volume_desc", limit: 25 },
20
+ output: { status: "success" },
21
+ explanation: "List PumpSwap tokens between $100K and $5M MC sorted by cumulative volume",
22
+ },
23
+ ],
24
+ ],
25
+ schema: z.object({
26
+ min_mc: z.number().min(0).optional().describe("Minimum market cap USD"),
27
+ max_mc: z.number().min(0).optional().describe("Maximum market cap USD"),
28
+ min_liq: z.number().min(0).optional().describe("Minimum liquidity USD (default 2000 โ€” skips dust)"),
29
+ active_h: z.number().min(1).max(168).optional().describe("Only tokens with a trade in the last N hours"),
30
+ primary_dex: z
31
+ .enum(["pumpfun", "pumpswap", "raydium", "meteora", "orca", "letsbonk", "other"])
32
+ .optional()
33
+ .describe("Filter by primary DEX venue"),
34
+ authority_revoked: z.boolean().optional().describe("Only tokens with mint+freeze authorities revoked"),
35
+ exclude_token2022: z.boolean().optional().describe("Skip Token-2022 mints (transfer fees / hooks)"),
36
+ min_lp_burnt_pct: z.number().min(0).max(100).optional().describe("Minimum % of LP tokens burnt"),
37
+ min_volume_1h_usd: z.number().min(0).optional().describe("Minimum computed 1h volume USD"),
38
+ max_mev_share_pct: z.number().min(0).max(100).optional().describe("Maximum MEV-share % of recent buys"),
39
+ mc_change_1h_min_pct: z.number().optional().describe("Minimum 1h MC change %"),
40
+ mc_change_1h_max_pct: z.number().optional().describe("Maximum 1h MC change %"),
41
+ sort: z
42
+ .enum(["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc"])
43
+ .optional()
44
+ .describe("Sort order"),
45
+ limit: z.number().min(1).max(100).default(20).describe("Number of tokens (max 100)"),
46
+ offset: z.number().min(0).optional().describe("Pagination offset"),
47
+ }),
48
+ handler: async (agent, input) => {
49
+ try {
50
+ const data = await tokensList(agent, input);
51
+ return { status: "success", result: data };
52
+ }
53
+ catch (err) {
54
+ return { status: "error", message: err.message };
55
+ }
56
+ },
57
+ };
package/dist/index.d.ts CHANGED
@@ -9,7 +9,9 @@ import { kolTokenEntryOrderAction } from "./actions/kolTokenEntryOrder.js";
9
9
  import { kolCompareAction } from "./actions/kolCompare.js";
10
10
  import { kolAlertsRecentAction } from "./actions/kolAlertsRecent.js";
11
11
  import { kolFirstTouchesAction } from "./actions/kolFirstTouches.js";
12
- 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 } from "./tools/index.js";
12
+ import { meAction } from "./actions/me.js";
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, me, tokensList } from "./tools/index.js";
13
15
  declare const MadeOnSolPlugin: {
14
16
  name: string;
15
17
  methods: {
@@ -54,6 +56,8 @@ declare const MadeOnSolPlugin: {
54
56
  firstTouchSubscriptionsGet: typeof firstTouchSubscriptionsGet;
55
57
  firstTouchSubscriptionsUpdate: typeof firstTouchSubscriptionsUpdate;
56
58
  firstTouchSubscriptionsDelete: typeof firstTouchSubscriptionsDelete;
59
+ me: typeof me;
60
+ tokensList: typeof tokensList;
57
61
  };
58
62
  actions: ({
59
63
  name: string;
@@ -290,27 +294,6 @@ declare const MadeOnSolPlugin: {
290
294
  message: string;
291
295
  result?: undefined;
292
296
  }>;
293
- } | {
294
- name: string;
295
- similes: string[];
296
- description: string;
297
- examples: {
298
- input: {};
299
- output: {
300
- status: string;
301
- };
302
- explanation: string;
303
- }[][];
304
- schema: import("zod").ZodObject<{}, "strip", import("zod").ZodTypeAny, {}, {}>;
305
- handler: (agent: unknown) => Promise<{
306
- status: string;
307
- result: any;
308
- message?: undefined;
309
- } | {
310
- status: string;
311
- message: string;
312
- result?: undefined;
313
- }>;
314
297
  } | {
315
298
  name: string;
316
299
  similes: string[];
@@ -651,10 +634,123 @@ declare const MadeOnSolPlugin: {
651
634
  message: string;
652
635
  result?: undefined;
653
636
  }>;
637
+ } | {
638
+ name: string;
639
+ similes: string[];
640
+ description: string;
641
+ examples: {
642
+ input: {};
643
+ output: {
644
+ status: string;
645
+ };
646
+ explanation: string;
647
+ }[][];
648
+ schema: import("zod").ZodObject<{}, "strip", import("zod").ZodTypeAny, {}, {}>;
649
+ handler: (agent: unknown, _input: Record<string, never>) => Promise<{
650
+ status: string;
651
+ result: any;
652
+ message?: undefined;
653
+ } | {
654
+ status: string;
655
+ message: string;
656
+ result?: undefined;
657
+ }>;
658
+ } | {
659
+ name: string;
660
+ similes: string[];
661
+ description: string;
662
+ examples: {
663
+ input: {
664
+ min_mc: number;
665
+ max_mc: number;
666
+ primary_dex: string;
667
+ sort: string;
668
+ limit: number;
669
+ };
670
+ output: {
671
+ status: string;
672
+ };
673
+ explanation: string;
674
+ }[][];
675
+ schema: import("zod").ZodObject<{
676
+ min_mc: import("zod").ZodOptional<import("zod").ZodNumber>;
677
+ max_mc: import("zod").ZodOptional<import("zod").ZodNumber>;
678
+ min_liq: import("zod").ZodOptional<import("zod").ZodNumber>;
679
+ active_h: import("zod").ZodOptional<import("zod").ZodNumber>;
680
+ primary_dex: import("zod").ZodOptional<import("zod").ZodEnum<["pumpfun", "pumpswap", "raydium", "meteora", "orca", "letsbonk", "other"]>>;
681
+ authority_revoked: import("zod").ZodOptional<import("zod").ZodBoolean>;
682
+ exclude_token2022: import("zod").ZodOptional<import("zod").ZodBoolean>;
683
+ min_lp_burnt_pct: import("zod").ZodOptional<import("zod").ZodNumber>;
684
+ min_volume_1h_usd: import("zod").ZodOptional<import("zod").ZodNumber>;
685
+ max_mev_share_pct: import("zod").ZodOptional<import("zod").ZodNumber>;
686
+ mc_change_1h_min_pct: import("zod").ZodOptional<import("zod").ZodNumber>;
687
+ mc_change_1h_max_pct: import("zod").ZodOptional<import("zod").ZodNumber>;
688
+ sort: import("zod").ZodOptional<import("zod").ZodEnum<["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc"]>>;
689
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
690
+ offset: import("zod").ZodOptional<import("zod").ZodNumber>;
691
+ }, "strip", import("zod").ZodTypeAny, {
692
+ limit: number;
693
+ sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | undefined;
694
+ min_mc?: number | undefined;
695
+ max_mc?: number | undefined;
696
+ min_liq?: number | undefined;
697
+ active_h?: number | undefined;
698
+ primary_dex?: "pumpfun" | "pumpswap" | "raydium" | "meteora" | "orca" | "letsbonk" | "other" | undefined;
699
+ authority_revoked?: boolean | undefined;
700
+ exclude_token2022?: boolean | undefined;
701
+ min_lp_burnt_pct?: number | undefined;
702
+ min_volume_1h_usd?: number | undefined;
703
+ max_mev_share_pct?: number | undefined;
704
+ mc_change_1h_min_pct?: number | undefined;
705
+ mc_change_1h_max_pct?: number | undefined;
706
+ offset?: number | undefined;
707
+ }, {
708
+ sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | undefined;
709
+ limit?: number | undefined;
710
+ min_mc?: number | undefined;
711
+ max_mc?: number | undefined;
712
+ min_liq?: number | undefined;
713
+ active_h?: number | undefined;
714
+ primary_dex?: "pumpfun" | "pumpswap" | "raydium" | "meteora" | "orca" | "letsbonk" | "other" | undefined;
715
+ authority_revoked?: boolean | undefined;
716
+ exclude_token2022?: boolean | undefined;
717
+ min_lp_burnt_pct?: number | undefined;
718
+ min_volume_1h_usd?: number | undefined;
719
+ max_mev_share_pct?: number | undefined;
720
+ mc_change_1h_min_pct?: number | undefined;
721
+ mc_change_1h_max_pct?: number | undefined;
722
+ offset?: number | undefined;
723
+ }>;
724
+ handler: (agent: unknown, input: {
725
+ min_mc?: number;
726
+ max_mc?: number;
727
+ min_liq?: number;
728
+ active_h?: number;
729
+ primary_dex?: "pumpfun" | "pumpswap" | "raydium" | "meteora" | "orca" | "letsbonk" | "other";
730
+ authority_revoked?: boolean;
731
+ exclude_token2022?: boolean;
732
+ min_lp_burnt_pct?: number;
733
+ min_volume_1h_usd?: number;
734
+ max_mev_share_pct?: number;
735
+ mc_change_1h_min_pct?: number;
736
+ mc_change_1h_max_pct?: number;
737
+ sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc";
738
+ limit?: number;
739
+ offset?: number;
740
+ }) => Promise<{
741
+ status: string;
742
+ result: any;
743
+ message?: undefined;
744
+ } | {
745
+ status: string;
746
+ message: string;
747
+ result?: undefined;
748
+ }>;
654
749
  })[];
655
750
  initialize(_agent: unknown): void;
656
751
  };
657
752
  export default MadeOnSolPlugin;
658
- 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, };
753
+ 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, me, tokensList, };
659
754
  export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
660
755
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
756
+ export { meAction, tokensListAction };
package/dist/index.js CHANGED
@@ -9,7 +9,9 @@ import { kolTokenEntryOrderAction } from "./actions/kolTokenEntryOrder.js";
9
9
  import { kolCompareAction } from "./actions/kolCompare.js";
10
10
  import { kolAlertsRecentAction } from "./actions/kolAlertsRecent.js";
11
11
  import { kolFirstTouchesAction } from "./actions/kolFirstTouches.js";
12
- 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, } from "./tools/index.js";
12
+ import { meAction } from "./actions/me.js";
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, me, tokensList, } from "./tools/index.js";
13
15
  const MadeOnSolPlugin = {
14
16
  name: "madeonsol",
15
17
  methods: {
@@ -54,6 +56,8 @@ const MadeOnSolPlugin = {
54
56
  firstTouchSubscriptionsGet,
55
57
  firstTouchSubscriptionsUpdate,
56
58
  firstTouchSubscriptionsDelete,
59
+ me,
60
+ tokensList,
57
61
  },
58
62
  actions: [
59
63
  kolFeedAction,
@@ -71,12 +75,15 @@ const MadeOnSolPlugin = {
71
75
  walletTrackerRemoveAction,
72
76
  walletTrackerTradesAction,
73
77
  walletTrackerSummaryAction,
78
+ meAction,
79
+ tokensListAction,
74
80
  ],
75
81
  initialize(_agent) {
76
82
  // No-op โ€” payment setup is lazy in tool functions
77
83
  },
78
84
  };
79
85
  export default MadeOnSolPlugin;
80
- 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, };
86
+ 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, me, tokensList, };
81
87
  export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
82
88
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
89
+ export { meAction, tokensListAction };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * v1.0 breaking change: RAPIDAPI_KEY support has been removed
6
6
  * (MadeOnSol RapidAPI marketplace was retired 2026-04-19).
7
- * Get a free `msk_` key at https://madeonsol.com/developer.
7
+ * Get a free `msk_` key at https://madeonsol.com/pricing.
8
8
  */
9
9
  type Agent = any;
10
10
  export interface RateLimitInfo {
@@ -240,6 +240,31 @@ export declare function firstTouchSubscriptionsUpdate(agent: Agent, params: {
240
240
  export declare function firstTouchSubscriptionsDelete(agent: Agent, params: {
241
241
  subscription_id: string;
242
242
  }): Promise<any>;
243
+ /** Inspect your MadeOnSol API account โ€” tier, daily/burst quota state, remaining requests, and per-feature usage. */
244
+ export declare function me(agent: Agent): Promise<any>;
245
+ /**
246
+ * Filtered, sortable token directory (PRO+).
247
+ * Default `min_liq=2000` skips dust. Supports MC band, liquidity floor,
248
+ * recent-activity window, primary DEX, authority flags, computed 1h volume floor,
249
+ * MEV-share ceiling, MC change deltas.
250
+ */
251
+ export declare function tokensList(agent: Agent, params?: {
252
+ min_mc?: number;
253
+ max_mc?: number;
254
+ min_liq?: number;
255
+ active_h?: number;
256
+ primary_dex?: "pumpfun" | "pumpswap" | "raydium" | "meteora" | "orca" | "letsbonk" | "other";
257
+ authority_revoked?: boolean;
258
+ exclude_token2022?: boolean;
259
+ min_lp_burnt_pct?: number;
260
+ min_volume_1h_usd?: number;
261
+ max_mev_share_pct?: number;
262
+ mc_change_1h_min_pct?: number;
263
+ mc_change_1h_max_pct?: number;
264
+ sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc";
265
+ limit?: number;
266
+ offset?: number;
267
+ }): Promise<any>;
243
268
  export declare function copyTradeSignals(agent: Agent, params?: {
244
269
  rule_id?: string;
245
270
  limit?: number;
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * v1.0 breaking change: RAPIDAPI_KEY support has been removed
6
6
  * (MadeOnSol RapidAPI marketplace was retired 2026-04-19).
7
- * Get a free `msk_` key at https://madeonsol.com/developer.
7
+ * Get a free `msk_` key at https://madeonsol.com/pricing.
8
8
  */
9
9
  const BASE_URL = "https://madeonsol.com";
10
10
  let _authMode = null;
@@ -51,7 +51,7 @@ export async function initAuth(agent) {
51
51
  _authMode = "none";
52
52
  _paidFetch = fetch;
53
53
  console.warn("\n[madeonsol] No auth configured โ€” every API call will fail.\n" +
54
- " โ†’ Get a free MADEONSOL_API_KEY (200 req/day, no card) at https://madeonsol.com/developer\n" +
54
+ " โ†’ Get a free MADEONSOL_API_KEY (200 req/day, no card) at https://madeonsol.com/pricing\n" +
55
55
  " โ†’ Or set SVM_PRIVATE_KEY for x402 micropayments.\n");
56
56
  }
57
57
  }
@@ -150,7 +150,7 @@ export async function deployerTrajectory(agent, params) {
150
150
  async function restQuery(agent, method, path, body) {
151
151
  await initAuth(agent);
152
152
  if (_authMode !== "madeonsol") {
153
- throw new Error("MadeOnSol API key required for this endpoint. Get a free `msk_` key at madeonsol.com/developer");
153
+ throw new Error("MadeOnSol API key required for this endpoint. Get a free `msk_` key at madeonsol.com/pricing");
154
154
  }
155
155
  const res = await fetch(`${BASE_URL}/api/v1${path}`, {
156
156
  method,
@@ -303,6 +303,29 @@ export async function firstTouchSubscriptionsUpdate(agent, params) {
303
303
  export async function firstTouchSubscriptionsDelete(agent, params) {
304
304
  return restQuery(agent, "DELETE", `/kol/first-touches/subscriptions/${encodeURIComponent(params.subscription_id)}`);
305
305
  }
306
+ // โ”€โ”€ Account & Tokens (v1.7) โ”€โ”€
307
+ /** Inspect your MadeOnSol API account โ€” tier, daily/burst quota state, remaining requests, and per-feature usage. */
308
+ export async function me(agent) {
309
+ return restQuery(agent, "GET", "/me");
310
+ }
311
+ /**
312
+ * Filtered, sortable token directory (PRO+).
313
+ * Default `min_liq=2000` skips dust. Supports MC band, liquidity floor,
314
+ * recent-activity window, primary DEX, authority flags, computed 1h volume floor,
315
+ * MEV-share ceiling, MC change deltas.
316
+ */
317
+ export async function tokensList(agent, params = {}) {
318
+ const qs = new URLSearchParams();
319
+ for (const [k, v] of Object.entries(params)) {
320
+ if (v !== undefined)
321
+ qs.set(k, String(v));
322
+ }
323
+ // Default min_liq=2000 skips dust
324
+ if (params.min_liq === undefined)
325
+ qs.set("min_liq", "2000");
326
+ const query = qs.toString() ? `?${qs.toString()}` : "";
327
+ return restQuery(agent, "GET", `/tokens${query}`);
328
+ }
306
329
  export async function copyTradeSignals(agent, params = {}) {
307
330
  const qs = new URLSearchParams();
308
331
  for (const [k, v] of Object.entries(params)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solana-agent-kit-plugin-madeonsol",
3
- "version": "1.7.0",
3
+ "version": "1.7.3",
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",
@@ -11,14 +11,28 @@
11
11
  ],
12
12
  "scripts": {
13
13
  "build": "tsc",
14
- "prepublishOnly": ""
14
+ "preflight": "bash ../../scripts/preflight-publish.sh",
15
+ "prepublishOnly": "npm run preflight && npm run build"
15
16
  },
16
17
  "keywords": [
17
18
  "solana",
18
19
  "agent-kit",
20
+ "solana-agent-kit",
21
+ "sendaifun",
22
+ "plugin",
23
+ "ai-agent",
19
24
  "x402",
20
25
  "kol",
26
+ "kol-tracker",
21
27
  "trading",
28
+ "memecoin",
29
+ "memecoin-tracker",
30
+ "pumpfun",
31
+ "deployer-hunter",
32
+ "alpha",
33
+ "alpha-bot",
34
+ "smart-money",
35
+ "copy-trading",
22
36
  "madeonsol"
23
37
  ],
24
38
  "license": "MIT",