@madeonsol/plugin-madeonsol 1.1.1 → 1.2.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
@@ -110,6 +110,7 @@ Free tier returns the full REST response shape on every endpoint — real wallet
110
110
  | Platform | Package |
111
111
  |---|---|
112
112
  | TypeScript SDK | [`madeonsol`](https://www.npmjs.com/package/madeonsol) on npm |
113
+ | Rust SDK | [`madeonsol`](https://crates.io/crates/madeonsol) on crates.io |
113
114
  | Python (LangChain, CrewAI) | [`madeonsol-x402`](https://pypi.org/project/madeonsol-x402/) on PyPI |
114
115
  | MCP Server (Claude, Cursor) | [`mcp-server-madeonsol`](https://www.npmjs.com/package/mcp-server-madeonsol) |
115
116
  | Solana Agent Kit | [`solana-agent-kit-plugin-madeonsol`](https://www.npmjs.com/package/solana-agent-kit-plugin-madeonsol) |
@@ -29,7 +29,7 @@ export const deployerAlertsAction = {
29
29
  const result = await client.getDeployerAlerts(tier ? { limit, tier } : { limit });
30
30
  if (result.error) {
31
31
  callback?.({ text: result.status === 402
32
- ? "Authentication required. Set MADEONSOL_API_KEY (free at madeonsol.com/developer) or SVM_PRIVATE_KEY."
32
+ ? "Authentication required. Set MADEONSOL_API_KEY free at https://madeonsol.com/developer or SVM_PRIVATE_KEY."
33
33
  : `Error: ${result.error}` });
34
34
  return undefined;
35
35
  }
@@ -24,7 +24,7 @@ export const kolAlertsRecentAction = {
24
24
  const result = await client.getKolAlertsRecent({ window, limit: "20" });
25
25
  if (result.error) {
26
26
  callback?.({ text: result.status === 402
27
- ? "Authentication required. Set MADEONSOL_API_KEY (free at madeonsol.com/developer) or SVM_PRIVATE_KEY."
27
+ ? "Authentication required. Set MADEONSOL_API_KEY free at https://madeonsol.com/developer or SVM_PRIVATE_KEY."
28
28
  : `Error: ${result.error}` });
29
29
  return undefined;
30
30
  }
@@ -29,7 +29,7 @@ export const kolCompareAction = {
29
29
  const result = await client.getKolCompare(wallets);
30
30
  if (result.error) {
31
31
  callback?.({ text: result.status === 402
32
- ? "Authentication required. Set MADEONSOL_API_KEY (free at madeonsol.com/developer) or SVM_PRIVATE_KEY."
32
+ ? "Authentication required. Set MADEONSOL_API_KEY free at https://madeonsol.com/developer or SVM_PRIVATE_KEY."
33
33
  : `Error: ${result.error}` });
34
34
  return undefined;
35
35
  }
@@ -24,7 +24,7 @@ export const kolCoordinationAction = {
24
24
  const result = await client.getKolCoordination({ period, limit: "10" });
25
25
  if (result.error) {
26
26
  callback?.({ text: result.status === 402
27
- ? "Authentication required. Set MADEONSOL_API_KEY (free at madeonsol.com/developer) or SVM_PRIVATE_KEY."
27
+ ? "Authentication required. Set MADEONSOL_API_KEY free at https://madeonsol.com/developer or SVM_PRIVATE_KEY."
28
28
  : `Error: ${result.error}` });
29
29
  return undefined;
30
30
  }
@@ -25,7 +25,7 @@ export const kolFeedAction = {
25
25
  const result = await client.getKolFeed({ limit: "10", ...(action ? { action } : {}) });
26
26
  if (result.error) {
27
27
  callback?.({ text: result.status === 402
28
- ? "Authentication required. Set MADEONSOL_API_KEY (free at madeonsol.com/developer) or SVM_PRIVATE_KEY."
28
+ ? "Authentication required. Set MADEONSOL_API_KEY free at https://madeonsol.com/developer or SVM_PRIVATE_KEY."
29
29
  : `Error: ${result.error}` });
30
30
  return undefined;
31
31
  }
@@ -24,7 +24,7 @@ export const kolLeaderboardAction = {
24
24
  const result = await client.getKolLeaderboard({ period, limit: "10" });
25
25
  if (result.error) {
26
26
  callback?.({ text: result.status === 402
27
- ? "Authentication required. Set MADEONSOL_API_KEY (free at madeonsol.com/developer) or SVM_PRIVATE_KEY."
27
+ ? "Authentication required. Set MADEONSOL_API_KEY free at https://madeonsol.com/developer or SVM_PRIVATE_KEY."
28
28
  : `Error: ${result.error}` });
29
29
  return undefined;
30
30
  }
@@ -28,7 +28,7 @@ export const kolTokenEntryOrderAction = {
28
28
  const result = await client.getKolTokenEntryOrder(mint, { limit: "20" });
29
29
  if (result.error) {
30
30
  callback?.({ text: result.status === 402
31
- ? "Authentication required. Set MADEONSOL_API_KEY (free at madeonsol.com/developer) or SVM_PRIVATE_KEY."
31
+ ? "Authentication required. Set MADEONSOL_API_KEY free at https://madeonsol.com/developer or SVM_PRIVATE_KEY."
32
32
  : `Error: ${result.error}` });
33
33
  return undefined;
34
34
  }
package/dist/client.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export interface MadeOnSolClientOptions {
9
9
  baseUrl?: string;
10
- /** MadeOnSol API key (get one free at madeonsol.com/developer). Preferred. */
10
+ /** MadeOnSol API key get one free at https://madeonsol.com/developer. Preferred. */
11
11
  apiKey?: string;
12
12
  /** x402 payment-enabled fetch (for AI agents with SVM_PRIVATE_KEY). */
13
13
  fetchFn?: typeof fetch;
@@ -34,8 +34,14 @@ export declare class MadeOnSolClient {
34
34
  }>;
35
35
  getKolFeed(params?: {
36
36
  limit?: string;
37
+ before?: string;
37
38
  action?: string;
38
39
  kol?: string;
40
+ min_sol?: string;
41
+ token_age_max_min?: string;
42
+ exclude_sells?: string;
43
+ min_kol_winrate?: string;
44
+ strategy?: string;
39
45
  }): Promise<{
40
46
  data?: unknown;
41
47
  error?: string;
@@ -69,12 +75,17 @@ export declare class MadeOnSolClient {
69
75
  /**
70
76
  * Get deployer alerts. The `tier` filter (elite/good/moderate/rising/cold)
71
77
  * is PRO/ULTRA only — BASIC callers passing it receive HTTP 403.
78
+ * Cursor-paginated via `before` (preferred over `offset` at scale).
72
79
  */
73
80
  getDeployerAlerts(params?: {
74
81
  since?: string;
82
+ before?: string;
75
83
  limit?: string;
76
84
  offset?: string;
77
85
  tier?: string;
86
+ alert_type?: string;
87
+ priority?: string;
88
+ min_kol_buys?: string;
78
89
  }): Promise<{
79
90
  data?: unknown;
80
91
  error?: string;
@@ -241,6 +252,24 @@ export declare class MadeOnSolClient {
241
252
  error?: string;
242
253
  status: number;
243
254
  }>;
255
+ /** Bulk buyer-quality scoring for up to 50 mints. Shares the single-mint 5-min LRU cache. */
256
+ getTokenBuyerQualityBatch(mints: string[]): Promise<{
257
+ data?: unknown;
258
+ error?: string;
259
+ status: number;
260
+ }>;
261
+ /** Comprehensive per-mint snapshot: price, MC, volume, deployer, KOL activity, age, blacklist. */
262
+ getToken(mint: string): Promise<{
263
+ data?: unknown;
264
+ error?: string;
265
+ status: number;
266
+ }>;
267
+ /** Bulk lookup of up to 50 mints — same per-mint shape as getToken(). 10-20× cheaper than N sequential calls. */
268
+ getTokenBatch(mints: string[]): Promise<{
269
+ data?: unknown;
270
+ error?: string;
271
+ status: number;
272
+ }>;
244
273
  copyTradeList(): Promise<{
245
274
  data?: unknown;
246
275
  error?: string;
package/dist/client.js CHANGED
@@ -77,6 +77,7 @@ export class MadeOnSolClient {
77
77
  /**
78
78
  * Get deployer alerts. The `tier` filter (elite/good/moderate/rising/cold)
79
79
  * is PRO/ULTRA only — BASIC callers passing it receive HTTP 403.
80
+ * Cursor-paginated via `before` (preferred over `offset` at scale).
80
81
  */
81
82
  getDeployerAlerts(params) {
82
83
  return this.query("/api/x402/deployer-hunter/alerts", params);
@@ -190,14 +191,27 @@ export class MadeOnSolClient {
190
191
  return this.restRequest("GET", `/alpha/wallet/${encodeURIComponent(wallet)}`);
191
192
  }
192
193
  getAlphaLinked(wallet) {
193
- return this.restRequest("GET", `/alpha/wallet/${encodeURIComponent(wallet)}/linked`);
194
+ return this.restRequest("GET", `/alpha/${encodeURIComponent(wallet)}/linked`);
194
195
  }
195
196
  // ── Token Quality ──
196
197
  getTokenCapTable(mint) {
197
- return this.restRequest("GET", `/token/${encodeURIComponent(mint)}/cap-table`);
198
+ return this.restRequest("GET", `/tokens/${encodeURIComponent(mint)}/cap-table`);
198
199
  }
199
200
  getTokenBuyerQuality(mint) {
200
- return this.restRequest("GET", `/token/${encodeURIComponent(mint)}/buyer-quality`);
201
+ return this.restRequest("GET", `/tokens/${encodeURIComponent(mint)}/buyer-quality`);
202
+ }
203
+ /** Bulk buyer-quality scoring for up to 50 mints. Shares the single-mint 5-min LRU cache. */
204
+ getTokenBuyerQualityBatch(mints) {
205
+ return this.restRequest("POST", "/tokens/batch/buyer-quality", { mints });
206
+ }
207
+ // ── Token intelligence (/token/{mint}) ──
208
+ /** Comprehensive per-mint snapshot: price, MC, volume, deployer, KOL activity, age, blacklist. */
209
+ getToken(mint) {
210
+ return this.restRequest("GET", `/token/${encodeURIComponent(mint)}`);
211
+ }
212
+ /** Bulk lookup of up to 50 mints — same per-mint shape as getToken(). 10-20× cheaper than N sequential calls. */
213
+ getTokenBatch(mints) {
214
+ return this.restRequest("POST", "/token/batch", { mints });
201
215
  }
202
216
  // ── Copy-Trade Rules (PRO/ULTRA) ──
203
217
  copyTradeList() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@madeonsol/plugin-madeonsol",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "ElizaOS plugin for MadeOnSol — Solana KOL intelligence and deployer analytics via x402 micropayments",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",