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 +12 -5
- package/dist/actions/me.d.ts +23 -0
- package/dist/actions/me.js +33 -0
- package/dist/actions/tokensList.d.ts +93 -0
- package/dist/actions/tokensList.js +57 -0
- package/dist/index.d.ts +119 -23
- package/dist/index.js +9 -2
- package/dist/tools/index.d.ts +26 -1
- package/dist/tools/index.js +26 -3
- package/package.json +16 -2
package/README.md
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
# solana-agent-kit-plugin-madeonsol
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/solana-agent-kit-plugin-madeonsol)
|
|
4
|
+
[](https://www.npmjs.com/package/solana-agent-kit-plugin-madeonsol)
|
|
5
|
+
[](https://github.com/sendaifun/solana-agent-kit)
|
|
6
|
+
[](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/
|
|
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
|
|
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/
|
|
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/
|
|
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/
|
|
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 {
|
|
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 {
|
|
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 };
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -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/
|
|
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;
|
package/dist/tools/index.js
CHANGED
|
@@ -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/
|
|
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/
|
|
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/
|
|
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.
|
|
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
|
-
"
|
|
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",
|