@madeonsol/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 +2 -2
- package/dist/actions/deployer-alerts.js +6 -1
- package/dist/actions/kol-feed.js +1 -1
- package/dist/client.d.ts +21 -0
- package/dist/client.js +11 -0
- package/dist/index.js +1 -1
- package/package.json +49 -49
- package/src/actions/deployer-alerts.ts +6 -1
- package/src/client.ts +14 -1
package/README.md
CHANGED
|
@@ -22,8 +22,8 @@ Gives your ElizaOS agent access to MadeOnSol's Solana intelligence API.
|
|
|
22
22
|
|--------|----------|
|
|
23
23
|
| `GET_KOL_FEED` | Real-time KOL trade feed (1,000+ wallets) |
|
|
24
24
|
| `GET_KOL_COORDINATION` | Multi-KOL convergence signals |
|
|
25
|
-
| `GET_KOL_LEADERBOARD` | KOL PnL/win-rate rankings |
|
|
26
|
-
| `GET_DEPLOYER_ALERTS` | Pump.fun
|
|
25
|
+
| `GET_KOL_LEADERBOARD` | KOL PnL/win-rate rankings (180 days of history, periods: today/7d/30d/90d/180d) |
|
|
26
|
+
| `GET_DEPLOYER_ALERTS` | Pump.fun deployer alerts. PRO/ULTRA: filter by deployer tier (elite/good/moderate/rising/cold). |
|
|
27
27
|
| `GET_TOKEN_INFO` | Token intelligence — price, market cap, deployer, KOL activity |
|
|
28
28
|
|
|
29
29
|
## Install
|
|
@@ -21,7 +21,12 @@ export const deployerAlertsAction = {
|
|
|
21
21
|
const client = getClient(runtime);
|
|
22
22
|
const text = (message.content?.text || "").toLowerCase();
|
|
23
23
|
const limit = text.match(/\b(\d+)\s*(alert|token|launch)/)?.[1] || "10";
|
|
24
|
-
|
|
24
|
+
// Best-effort tier inference from the user's prompt — only sent to the API
|
|
25
|
+
// when the user explicitly mentioned a tier. The tier filter requires
|
|
26
|
+
// PRO/ULTRA on the caller's API key.
|
|
27
|
+
const tierMatch = text.match(/\b(elite|good|moderate|rising|cold)\b/);
|
|
28
|
+
const tier = tierMatch?.[1];
|
|
29
|
+
const result = await client.getDeployerAlerts(tier ? { limit, tier } : { limit });
|
|
25
30
|
if (result.error) {
|
|
26
31
|
callback?.({ text: result.status === 402
|
|
27
32
|
? "Authentication required. Set MADEONSOL_API_KEY (free at madeonsol.com/developer), RAPIDAPI_KEY, or SVM_PRIVATE_KEY."
|
package/dist/actions/kol-feed.js
CHANGED
|
@@ -5,7 +5,7 @@ function getClient(runtime) {
|
|
|
5
5
|
}
|
|
6
6
|
export const kolFeedAction = {
|
|
7
7
|
name: "GET_KOL_FEED",
|
|
8
|
-
description: "Get the real-time Solana KOL trade feed from MadeOnSol. Shows latest buys and sells from
|
|
8
|
+
description: "Get the real-time Solana KOL trade feed from MadeOnSol. Shows latest buys and sells from 1,000+ tracked KOL wallets with deployer enrichment.",
|
|
9
9
|
similes: [
|
|
10
10
|
"kol trades",
|
|
11
11
|
"what are kols buying",
|
package/dist/client.d.ts
CHANGED
|
@@ -48,10 +48,15 @@ export declare class MadeOnSolClient {
|
|
|
48
48
|
error?: string;
|
|
49
49
|
status: number;
|
|
50
50
|
}>;
|
|
51
|
+
/**
|
|
52
|
+
* Get deployer alerts. The `tier` filter (elite/good/moderate/rising/cold)
|
|
53
|
+
* is PRO/ULTRA only — BASIC callers passing it receive HTTP 403.
|
|
54
|
+
*/
|
|
51
55
|
getDeployerAlerts(params?: {
|
|
52
56
|
since?: string;
|
|
53
57
|
limit?: string;
|
|
54
58
|
offset?: string;
|
|
59
|
+
tier?: string;
|
|
55
60
|
}): Promise<{
|
|
56
61
|
data?: unknown;
|
|
57
62
|
error?: string;
|
|
@@ -75,6 +80,22 @@ export declare class MadeOnSolClient {
|
|
|
75
80
|
error?: string;
|
|
76
81
|
status: number;
|
|
77
82
|
}>;
|
|
83
|
+
getKolTrendingTokens(params?: {
|
|
84
|
+
period?: string;
|
|
85
|
+
min_kols?: string;
|
|
86
|
+
limit?: string;
|
|
87
|
+
}): Promise<{
|
|
88
|
+
data?: unknown;
|
|
89
|
+
error?: string;
|
|
90
|
+
status: number;
|
|
91
|
+
}>;
|
|
92
|
+
getKolPnl(wallet: string, params?: {
|
|
93
|
+
period?: string;
|
|
94
|
+
}): Promise<{
|
|
95
|
+
data?: unknown;
|
|
96
|
+
error?: string;
|
|
97
|
+
status: number;
|
|
98
|
+
}>;
|
|
78
99
|
getKolTiming(wallet: string, params?: {
|
|
79
100
|
period?: string;
|
|
80
101
|
}): Promise<{
|
package/dist/client.js
CHANGED
|
@@ -62,6 +62,10 @@ export class MadeOnSolClient {
|
|
|
62
62
|
getKolLeaderboard(params) {
|
|
63
63
|
return this.query("/api/x402/kol/leaderboard", params);
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Get deployer alerts. The `tier` filter (elite/good/moderate/rising/cold)
|
|
67
|
+
* is PRO/ULTRA only — BASIC callers passing it receive HTTP 403.
|
|
68
|
+
*/
|
|
65
69
|
getDeployerAlerts(params) {
|
|
66
70
|
return this.query("/api/x402/deployer-hunter/alerts", params);
|
|
67
71
|
}
|
|
@@ -71,6 +75,13 @@ export class MadeOnSolClient {
|
|
|
71
75
|
getKolHotTokens(params) {
|
|
72
76
|
return this.query("/api/x402/kol/tokens/hot", params);
|
|
73
77
|
}
|
|
78
|
+
getKolTrendingTokens(params) {
|
|
79
|
+
return this.query("/api/x402/kol/tokens/trending", params);
|
|
80
|
+
}
|
|
81
|
+
getKolPnl(wallet, params) {
|
|
82
|
+
const qs = params?.period ? `?period=${params.period}` : "";
|
|
83
|
+
return this.restRequest("GET", `/kol/${wallet}/pnl${qs}`);
|
|
84
|
+
}
|
|
74
85
|
getKolTiming(wallet, params) {
|
|
75
86
|
const qs = params?.period ? `?period=${params.period}` : "";
|
|
76
87
|
return this.restRequest("GET", `/kol/${wallet}/timing${qs}`);
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { MadeOnSolClient } from "./client.js";
|
|
|
7
7
|
export const MADEONSOL_CLIENT_KEY = "madeonsol:client";
|
|
8
8
|
export const madeOnSolPlugin = {
|
|
9
9
|
name: "madeonsol",
|
|
10
|
-
description: "Query Solana KOL trading intelligence and deployer analytics from MadeOnSol. Tracks
|
|
10
|
+
description: "Query Solana KOL trading intelligence and deployer analytics from MadeOnSol. Tracks 1,000+ KOL wallets and 4000+ Pump.fun deployers.",
|
|
11
11
|
actions: [
|
|
12
12
|
kolFeedAction,
|
|
13
13
|
kolCoordinationAction,
|
package/package.json
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@madeonsol/plugin-madeonsol",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "ElizaOS plugin for MadeOnSol
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"build": "tsc",
|
|
10
|
-
"dev": "tsc --watch"
|
|
11
|
-
},
|
|
12
|
-
"peerDependencies": {
|
|
13
|
-
"@elizaos/core": ">=1.0.0",
|
|
14
|
-
"@scure/base": ">=1.0.0",
|
|
15
|
-
"@solana/kit": ">=2.0.0",
|
|
16
|
-
"@x402/core": ">=0.1.0",
|
|
17
|
-
"@x402/fetch": ">=0.1.0",
|
|
18
|
-
"@x402/svm": ">=0.1.0"
|
|
19
|
-
},
|
|
20
|
-
"agentConfig": {
|
|
21
|
-
"pluginType": "elizaos:plugin:1.0.0",
|
|
22
|
-
"pluginParameters": {
|
|
23
|
-
"MADEONSOL_API_URL": {
|
|
24
|
-
"type": "string",
|
|
25
|
-
"description": "MadeOnSol API base URL",
|
|
26
|
-
"required": false,
|
|
27
|
-
"default": "https://madeonsol.com"
|
|
28
|
-
},
|
|
29
|
-
"SVM_PRIVATE_KEY": {
|
|
30
|
-
"type": "string",
|
|
31
|
-
"description": "Solana private key (base58) for automatic x402 USDC payments",
|
|
32
|
-
"required": true,
|
|
33
|
-
"sensitive": true
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
"keywords": [
|
|
38
|
-
"elizaos",
|
|
39
|
-
"plugin",
|
|
40
|
-
"solana",
|
|
41
|
-
"kol",
|
|
42
|
-
"x402",
|
|
43
|
-
"madeonsol"
|
|
44
|
-
],
|
|
45
|
-
"license": "MIT",
|
|
46
|
-
"devDependencies": {
|
|
47
|
-
"@elizaos/core": "^2.0.0-alpha.77"
|
|
48
|
-
}
|
|
49
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@madeonsol/plugin-madeonsol",
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "ElizaOS plugin for MadeOnSol \u00e2\u20ac\u201d Solana KOL intelligence and deployer analytics via x402 micropayments",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc",
|
|
10
|
+
"dev": "tsc --watch"
|
|
11
|
+
},
|
|
12
|
+
"peerDependencies": {
|
|
13
|
+
"@elizaos/core": ">=1.0.0",
|
|
14
|
+
"@scure/base": ">=1.0.0",
|
|
15
|
+
"@solana/kit": ">=2.0.0",
|
|
16
|
+
"@x402/core": ">=0.1.0",
|
|
17
|
+
"@x402/fetch": ">=0.1.0",
|
|
18
|
+
"@x402/svm": ">=0.1.0"
|
|
19
|
+
},
|
|
20
|
+
"agentConfig": {
|
|
21
|
+
"pluginType": "elizaos:plugin:1.0.0",
|
|
22
|
+
"pluginParameters": {
|
|
23
|
+
"MADEONSOL_API_URL": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "MadeOnSol API base URL",
|
|
26
|
+
"required": false,
|
|
27
|
+
"default": "https://madeonsol.com"
|
|
28
|
+
},
|
|
29
|
+
"SVM_PRIVATE_KEY": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Solana private key (base58) for automatic x402 USDC payments",
|
|
32
|
+
"required": true,
|
|
33
|
+
"sensitive": true
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"keywords": [
|
|
38
|
+
"elizaos",
|
|
39
|
+
"plugin",
|
|
40
|
+
"solana",
|
|
41
|
+
"kol",
|
|
42
|
+
"x402",
|
|
43
|
+
"madeonsol"
|
|
44
|
+
],
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@elizaos/core": "^2.0.0-alpha.77"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -33,8 +33,13 @@ export const deployerAlertsAction: Action = {
|
|
|
33
33
|
const client = getClient(runtime);
|
|
34
34
|
const text = (message.content?.text || "").toLowerCase();
|
|
35
35
|
const limit = text.match(/\b(\d+)\s*(alert|token|launch)/)?.[1] || "10";
|
|
36
|
+
// Best-effort tier inference from the user's prompt — only sent to the API
|
|
37
|
+
// when the user explicitly mentioned a tier. The tier filter requires
|
|
38
|
+
// PRO/ULTRA on the caller's API key.
|
|
39
|
+
const tierMatch = text.match(/\b(elite|good|moderate|rising|cold)\b/);
|
|
40
|
+
const tier = tierMatch?.[1];
|
|
36
41
|
|
|
37
|
-
const result = await client.getDeployerAlerts({ limit });
|
|
42
|
+
const result = await client.getDeployerAlerts(tier ? { limit, tier } : { limit });
|
|
38
43
|
|
|
39
44
|
if (result.error) {
|
|
40
45
|
callback?.({ text: result.status === 402
|
package/src/client.ts
CHANGED
|
@@ -83,7 +83,11 @@ export class MadeOnSolClient {
|
|
|
83
83
|
return this.query("/api/x402/kol/leaderboard", params);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Get deployer alerts. The `tier` filter (elite/good/moderate/rising/cold)
|
|
88
|
+
* is PRO/ULTRA only — BASIC callers passing it receive HTTP 403.
|
|
89
|
+
*/
|
|
90
|
+
getDeployerAlerts(params?: { since?: string; limit?: string; offset?: string; tier?: string }) {
|
|
87
91
|
return this.query("/api/x402/deployer-hunter/alerts", params);
|
|
88
92
|
}
|
|
89
93
|
|
|
@@ -95,6 +99,15 @@ export class MadeOnSolClient {
|
|
|
95
99
|
return this.query("/api/x402/kol/tokens/hot", params);
|
|
96
100
|
}
|
|
97
101
|
|
|
102
|
+
getKolTrendingTokens(params?: { period?: string; min_kols?: string; limit?: string }) {
|
|
103
|
+
return this.query("/api/x402/kol/tokens/trending", params);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
getKolPnl(wallet: string, params?: { period?: string }) {
|
|
107
|
+
const qs = params?.period ? `?period=${params.period}` : "";
|
|
108
|
+
return this.restRequest("GET", `/kol/${wallet}/pnl${qs}`);
|
|
109
|
+
}
|
|
110
|
+
|
|
98
111
|
getKolTiming(wallet: string, params?: { period?: string }) {
|
|
99
112
|
const qs = params?.period ? `?period=${params.period}` : "";
|
|
100
113
|
return this.restRequest("GET", `/kol/${wallet}/timing${qs}`);
|