solana-agent-kit-plugin-madeonsol 1.18.0 → 1.19.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
@@ -11,6 +11,8 @@
11
11
 
12
12
  > Real-time Solana trading intelligence: track 1,069 KOL wallets with <3s latency, score 23,000+ Pump.fun deployers, verify any wallet's CURRENT on-chain holdings straight from its token accounts, surface deshred deploy signals ~500ms before on-chain confirmation, detect multi-KOL coordination, and stream every DEX trade. Free tier: 200 requests/day, every endpoint — no signup payment. Get a key at [madeonsol.com/pricing](https://madeonsol.com/pricing).
13
13
 
14
+ > **New in 1.19.0** — **Token depth / price impact + deployer self-activity on risk.** New tool `tokenDepth()` + action `MADEONSOL_TOKEN_DEPTH_ACTION` (`GET /tokens/{mint}/depth`) — per-pool price-impact / slippage: "how much SOL moves this token's price N%", per pool (NOT router-optimal). Pass up to 8 SOL buy `sizes` (each >0 and ≤10000; default `[0.5, 1, 5, 10]`); every computable pool returns `spot_price_sol`, `fee_pct`, a `quotes[]` entry per size (`size_sol`, `tokens_out`, `avg_price_sol`, `price_impact_pct`), and `to_move_price` — the SOL required to move price **1% / 5% / 10%**. Constant-product AMMs are served from stream reserves (`source: "stream"` with `reserves_age_ms`); pump.fun/bonk bonding curves from a **live** read of the curve's virtual reserves (`source: "live_rpc"`). Pools that can't be priced honestly — concentrated CLMM/Orca/DLMM, Meteora-DBC curves, unclassified models — come back in `unsupported_pools[]` with a `reason` (e.g. `concentrated_liquidity_depth_not_supported`, `curve_graduated_use_amm_pool`) instead of a wrong number; `primary_pool` names the deepest computable pool, `found: false` means no pools tracked. PRO/ULTRA only. And `tokenRisk()` (`MADEONSOL_TOKEN_RISK_ACTION`) now returns a top-level **`dev` block** (deployer self-activity; `null` when the mint has no deployer-pipeline row): the create-tx self-buy snapshot (`buy_sol`, `buy_tokens`, `buy_supply_pct`), the post-create rollup (`bought_tokens_after` — catches the same-second-separate-tx dev buy the create snapshot reads as 0 — `sold_tokens`, `sold_sol`, `first_sell_at`/`last_sell_at`), **live on-chain holdings** (`holdings_tokens`, `holdings_supply_pct` — pump.fun 1B denominator, null elsewhere — `wallet_empty`: is the dev wallet empty NOW), and `transferred_out` (tokens left without a sell; `null` = unknown, never a guess), plus `as_of`. `deployer:alert` webhook/WS payloads gain `dev_buy_sol` + `dev_buy_supply_pct`.
15
+ >
14
16
  > **New in 1.18.0** — **Wallet batch classify + token trade tape.** New tool `walletClassify()` + action `MADEONSOL_WALLET_CLASSIFY_ACTION` — bulk reputation flags for 1–100 wallets in one call (`POST /wallet/batch/classify`): per wallet `is_sniper`, `is_bundler` (lifetime flag), `is_dumper` (rolling 42-day window), `is_kol` + `kol_name`, `bot_confidence` (string enum `"none"`/`"low"`/`"medium"`/`"high"` | null — never a number), and `dump_cluster` cohort stats (`dump_cohorts`, `runner_cohorts`, `total_cohorts`, `as_of`). Flags are pump.fun-pipeline scoped — `false` = not observed, NOT verified clean. New tool `tokenTrades()` + action `MADEONSOL_TOKEN_TRADES_ACTION` — the mint-scoped trade tape (`GET /tokens/{mint}/trades`): cursor-paginated raw trades with `price_sol`/`price_usd`, `early_buyer_rank`, and `slot`, filterable by `action`/`wallet`/`since`/`until`; the default window is the **full history** (tape starts 2026-04-12; the response `coverage` block carries `history_start` + `scope`). `walletStats` `flags` gain the same `is_sniper`/`is_bundler`/`is_dumper` + `dump_cluster` fields, and `flags.bot_confidence` is confirmed as a string enum (the old numeric reading never matched a real value — the API returned `null` unconditionally due to a bug, now fixed server-side). Both PRO/ULTRA only.
15
17
  >
16
18
  > **New in 1.17.0** — **Verified on-chain wallet holdings.** New tool `walletHoldings()` + action `MADEONSOL_WALLET_HOLDINGS_ACTION` — the wallet's CURRENT holdings read straight from chain: its actual SPL + Token-2022 token accounts and SOL balance, each enriched with `price_usd` / `value_usd` / `market_cap_usd` / `name` / `symbol` / `is_bonded`, plus `transfer_delta` (on-chain amount − trade-derived net position — exposes non-swap flows like airdrops, insider funding, wallet-hopping). Distinct from `walletPositions()` (trade-derived FIFO): this is what the wallet *actually* holds right now. Params: `limit` (1–500, default 200), `min_value_usd` (default 0). Returns `{ address, sol_balance, holdings[], summary, verified_at, trade_window_days, cache_hit, ttl_seconds }`. ULTRA only.
@@ -148,10 +150,11 @@ await agent.methods.alphaLinked(agent, { wallet: "WALLET" }); // ULTRA
148
150
  ```ts
149
151
  await agent.methods.tokenCapTable(agent, { mint: "MINT" }); // PRO=10, ULTRA=20 first non-deployer buyers
150
152
  await agent.methods.tokenBuyerQuality(agent, { mint: "MINT" }); // 0–100 buyer-quality score (5-min cached)
151
- await agent.methods.tokenRisk(agent, { mint: "MINT" }); // PRO+ 0–100 rug-risk/safety score + band + factors
153
+ await agent.methods.tokenRisk(agent, { mint: "MINT" }); // PRO+ 0–100 rug-risk/safety score + band + factors + dev block (self-buy, sells, live holdings, wallet_empty, transferred_out)
152
154
  await agent.methods.tokenRiskBatch(agent, { mints: ["MINT_A", "MINT_B"] }); // PRO+ bulk rug-risk for 1–50 mints → { tokens, count }; one request
153
155
  await agent.methods.tokenBundle(agent, { mint: "MINT" }); // PRO+ bundle-cohort holdings: held_pct_of_supply signal; ULTRA=+wallet identity
154
156
  await agent.methods.tokenPools(agent, { mint: "MINT" }); // PRO+ per-venue liquidity map: live vs parked pools, fragmentation, top-pool share
157
+ await agent.methods.tokenDepth(agent, { mint: "MINT", sizes: [1, 5] }); // PRO+ per-pool price impact: quotes per SOL size + SOL to move price 1%/5%/10%; unsupported pools flagged
155
158
  await agent.methods.tokenCandles(agent, { mint: "MINT", tf: "1h" }); // PRO+ OHLCV candles (1m–1d); ULTRA=+net flow, liquidity, full history
156
159
  await agent.methods.tokenFlow(agent, { mint: "MINT", window: "24h" }); // PRO+ net buy/sell flow (1h/24h): unique wallets, buy/sell/net SOL, trades-per-wallet
157
160
  await agent.methods.tokenTrades(agent, { mint: "MINT", action: "buy", limit: 100 }); // PRO+ mint-scoped trade tape (full history from 2026-04-12, pump.fun-pipeline scoped); cursor-paginated
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ export declare const tokenDepthAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {
8
+ mint: string;
9
+ sizes: number[];
10
+ };
11
+ output: {
12
+ status: string;
13
+ };
14
+ explanation: string;
15
+ }[][];
16
+ schema: z.ZodObject<{
17
+ mint: z.ZodString;
18
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ mint: string;
21
+ sizes?: number[] | undefined;
22
+ }, {
23
+ mint: string;
24
+ sizes?: number[] | undefined;
25
+ }>;
26
+ handler: (agent: unknown, input: {
27
+ mint: string;
28
+ sizes?: number[];
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,24 @@
1
+ import { z } from "zod";
2
+ import { tokenDepth } from "../tools/index.js";
3
+ export const tokenDepthAction = {
4
+ name: "MADEONSOL_TOKEN_DEPTH_ACTION",
5
+ similes: ["token depth", "price impact", "slippage", "market depth", "how much sol to move the price", "liquidity depth"],
6
+ description: "Get per-pool price-impact / slippage for a Solana token — how much SOL moves the price N% and the impact of each buy size, per pool (NOT router-optimal). Each computable pool returns spot_price_sol, fee_pct, quotes per SOL size (tokens_out, avg_price_sol, price_impact_pct), and to_move_price (SOL to move price 1%/5%/10%). Constant-product AMMs come from stream reserves (source=stream); pump.fun/bonk curves from a live read of virtual reserves (source=live_rpc). Unsupported pools (CLMM/Orca/DLMM, Meteora-DBC, unclassified) are returned in unsupported_pools with a reason instead of a wrong number. PRO/ULTRA only — BASIC receives HTTP 403.",
7
+ examples: [
8
+ [{ input: { mint: "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU", sizes: [0.5, 1, 5, 10] }, output: { status: "success" }, explanation: "Get per-pool price impact and the SOL needed to move this token's price 1%/5%/10%." }],
9
+ ],
10
+ schema: z.object({
11
+ mint: z.string().describe("Token mint address (base58)"),
12
+ sizes: z.array(z.number().gt(0).max(10000)).min(1).max(8).optional()
13
+ .describe("SOL buy sizes to quote (max 8, each >0 and ≤10000). Default [0.5, 1, 5, 10]"),
14
+ }),
15
+ handler: async (agent, input) => {
16
+ try {
17
+ const data = await tokenDepth(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
@@ -15,6 +15,7 @@ import { almostBondedAction } from "./actions/almostBonded.js";
15
15
  import { tokenRiskAction } from "./actions/tokenRisk.js";
16
16
  import { tokenBundleAction } from "./actions/tokenBundle.js";
17
17
  import { tokenPoolsAction } from "./actions/tokenPools.js";
18
+ import { tokenDepthAction } from "./actions/tokenDepth.js";
18
19
  import { deployerHistoryAction } from "./actions/deployerHistory.js";
19
20
  import { tokenCandlesAction } from "./actions/tokenCandles.js";
20
21
  import { tokenFlowAction } from "./actions/tokenFlow.js";
@@ -22,7 +23,7 @@ import { tokenRiskBatchAction } from "./actions/tokenRiskBatch.js";
22
23
  import { tokenTradesAction } from "./actions/tokenTrades.js";
23
24
  import { walletClassifyAction } from "./actions/walletClassify.js";
24
25
  import { streamSessionsAction, streamSessionKillAction } from "./actions/streamSessions.js";
25
- import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenBundle, tokenPools, tokenCandles, tokenFlow, tokenTrades, deployerHistory, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletHoldings, walletTrades, walletClassify, me, tokensList, almostBonded } from "./tools/index.js";
26
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenBundle, tokenPools, tokenDepth, tokenCandles, tokenFlow, tokenTrades, deployerHistory, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletHoldings, walletTrades, walletClassify, me, tokensList, almostBonded } from "./tools/index.js";
26
27
  import { walletStatsAction, walletPnlAction, walletPositionsAction, walletHoldingsAction, walletTradesAction } from "./actions/wallet.js";
27
28
  declare const MadeOnSolPlugin: {
28
29
  name: string;
@@ -57,6 +58,7 @@ declare const MadeOnSolPlugin: {
57
58
  tokenRiskBatch: typeof tokenRiskBatch;
58
59
  tokenBundle: typeof tokenBundle;
59
60
  tokenPools: typeof tokenPools;
61
+ tokenDepth: typeof tokenDepth;
60
62
  tokenCandles: typeof tokenCandles;
61
63
  tokenFlow: typeof tokenFlow;
62
64
  tokenTrades: typeof tokenTrades;
@@ -895,6 +897,42 @@ declare const MadeOnSolPlugin: {
895
897
  message: string;
896
898
  result?: undefined;
897
899
  }>;
900
+ } | {
901
+ name: string;
902
+ similes: string[];
903
+ description: string;
904
+ examples: {
905
+ input: {
906
+ mint: string;
907
+ sizes: number[];
908
+ };
909
+ output: {
910
+ status: string;
911
+ };
912
+ explanation: string;
913
+ }[][];
914
+ schema: import("zod").ZodObject<{
915
+ mint: import("zod").ZodString;
916
+ sizes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber, "many">>;
917
+ }, "strip", import("zod").ZodTypeAny, {
918
+ mint: string;
919
+ sizes?: number[] | undefined;
920
+ }, {
921
+ mint: string;
922
+ sizes?: number[] | undefined;
923
+ }>;
924
+ handler: (agent: unknown, input: {
925
+ mint: string;
926
+ sizes?: number[];
927
+ }) => Promise<{
928
+ status: string;
929
+ result: any;
930
+ message?: undefined;
931
+ } | {
932
+ status: string;
933
+ message: string;
934
+ result?: undefined;
935
+ }>;
898
936
  } | {
899
937
  name: string;
900
938
  similes: string[];
@@ -1267,8 +1305,8 @@ declare const MadeOnSolPlugin: {
1267
1305
  initialize(_agent: unknown): void;
1268
1306
  };
1269
1307
  export default MadeOnSolPlugin;
1270
- export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenBundle, tokenPools, tokenCandles, tokenFlow, tokenTrades, deployerHistory, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletHoldings, walletTrades, walletClassify, me, tokensList, almostBonded, };
1308
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenBundle, tokenPools, tokenDepth, tokenCandles, tokenFlow, tokenTrades, deployerHistory, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletHoldings, walletTrades, walletClassify, me, tokensList, almostBonded, };
1271
1309
  export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
1272
1310
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
1273
1311
  export { walletStatsAction, walletPnlAction, walletPositionsAction, walletHoldingsAction, walletTradesAction };
1274
- export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenRiskBatchAction, tokenBundleAction, tokenPoolsAction, deployerHistoryAction, tokenCandlesAction, tokenFlowAction, tokenTradesAction, walletClassifyAction, streamSessionsAction, streamSessionKillAction };
1312
+ export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenRiskBatchAction, tokenBundleAction, tokenPoolsAction, tokenDepthAction, deployerHistoryAction, tokenCandlesAction, tokenFlowAction, tokenTradesAction, walletClassifyAction, streamSessionsAction, streamSessionKillAction };
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ import { almostBondedAction } from "./actions/almostBonded.js";
15
15
  import { tokenRiskAction } from "./actions/tokenRisk.js";
16
16
  import { tokenBundleAction } from "./actions/tokenBundle.js";
17
17
  import { tokenPoolsAction } from "./actions/tokenPools.js";
18
+ import { tokenDepthAction } from "./actions/tokenDepth.js";
18
19
  import { deployerHistoryAction } from "./actions/deployerHistory.js";
19
20
  import { tokenCandlesAction } from "./actions/tokenCandles.js";
20
21
  import { tokenFlowAction } from "./actions/tokenFlow.js";
@@ -22,7 +23,7 @@ import { tokenRiskBatchAction } from "./actions/tokenRiskBatch.js";
22
23
  import { tokenTradesAction } from "./actions/tokenTrades.js";
23
24
  import { walletClassifyAction } from "./actions/walletClassify.js";
24
25
  import { streamSessionsAction, streamSessionKillAction } from "./actions/streamSessions.js";
25
- import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenBundle, tokenPools, tokenCandles, tokenFlow, tokenTrades, deployerHistory, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletHoldings, walletTrades, walletClassify, me, tokensList, almostBonded, } from "./tools/index.js";
26
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenBundle, tokenPools, tokenDepth, tokenCandles, tokenFlow, tokenTrades, deployerHistory, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletHoldings, walletTrades, walletClassify, me, tokensList, almostBonded, } from "./tools/index.js";
26
27
  import { walletStatsAction, walletPnlAction, walletPositionsAction, walletHoldingsAction, walletTradesAction } from "./actions/wallet.js";
27
28
  const MadeOnSolPlugin = {
28
29
  name: "madeonsol",
@@ -57,6 +58,7 @@ const MadeOnSolPlugin = {
57
58
  tokenRiskBatch,
58
59
  tokenBundle,
59
60
  tokenPools,
61
+ tokenDepth,
60
62
  tokenCandles,
61
63
  tokenFlow,
62
64
  tokenTrades,
@@ -121,6 +123,7 @@ const MadeOnSolPlugin = {
121
123
  tokenRiskBatchAction,
122
124
  tokenBundleAction,
123
125
  tokenPoolsAction,
126
+ tokenDepthAction,
124
127
  deployerHistoryAction,
125
128
  tokenCandlesAction,
126
129
  tokenFlowAction,
@@ -139,8 +142,8 @@ const MadeOnSolPlugin = {
139
142
  },
140
143
  };
141
144
  export default MadeOnSolPlugin;
142
- export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenBundle, tokenPools, tokenCandles, tokenFlow, tokenTrades, deployerHistory, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletHoldings, walletTrades, walletClassify, me, tokensList, almostBonded, };
145
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, streamSessions, streamSessionKill, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary, alphaLeaderboard, alphaWallet, alphaLinked, tokenCapTable, tokenBuyerQuality, tokenRisk, tokenRiskBatch, tokenBundle, tokenPools, tokenDepth, tokenCandles, tokenFlow, tokenTrades, deployerHistory, copyTradeList, copyTradeCreate, copyTradeGet, copyTradeUpdate, copyTradeDelete, copyTradeSignals, coordinationAlertsList, coordinationAlertsCreate, coordinationAlertsGet, coordinationAlertsUpdate, coordinationAlertsDelete, kolFirstTouches, firstTouchSubscriptionsList, firstTouchSubscriptionsCreate, firstTouchSubscriptionsGet, firstTouchSubscriptionsUpdate, firstTouchSubscriptionsDelete, priceAlertsList, priceAlertsCreate, priceAlertsGet, priceAlertsUpdate, priceAlertsDelete, priceAlertsEvents, scoutLeaderboard, coordinationHistory, kolConsensus, peakHistory, walletStats, walletPnl, walletPositions, walletHoldings, walletTrades, walletClassify, me, tokensList, almostBonded, };
143
146
  export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
144
147
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
145
148
  export { walletStatsAction, walletPnlAction, walletPositionsAction, walletHoldingsAction, walletTradesAction };
146
- export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenRiskBatchAction, tokenBundleAction, tokenPoolsAction, deployerHistoryAction, tokenCandlesAction, tokenFlowAction, tokenTradesAction, walletClassifyAction, streamSessionsAction, streamSessionKillAction };
149
+ export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenRiskBatchAction, tokenBundleAction, tokenPoolsAction, tokenDepthAction, deployerHistoryAction, tokenCandlesAction, tokenFlowAction, tokenTradesAction, walletClassifyAction, streamSessionsAction, streamSessionKillAction };
@@ -214,7 +214,16 @@ export declare function tokenCapTable(agent: Agent, params: {
214
214
  export declare function tokenBuyerQuality(agent: Agent, params: {
215
215
  mint: string;
216
216
  }): Promise<any>;
217
- /** Transparent 0–100 rug-risk/safety score (higher = riskier) with band, explainable factors, and raw inputs. PRO/ULTRA only. */
217
+ /**
218
+ * Transparent 0–100 rug-risk/safety score (higher = riskier) with band, explainable factors, and
219
+ * raw inputs. Also returns a top-level `dev` block (deployer self-activity; null when the mint has
220
+ * no deployer-pipeline row): create-tx self-buy snapshot (buy_sol/buy_tokens/buy_supply_pct),
221
+ * post-create rollup (bought_tokens_after — catches the same-second-separate-tx dev buy —
222
+ * sold_tokens, sold_sol, first_sell_at/last_sell_at), LIVE on-chain holdings (holdings_tokens,
223
+ * holdings_supply_pct — pump.fun 1B denominator, null elsewhere — wallet_empty: is the dev wallet
224
+ * empty NOW), and transferred_out (tokens left without a sell; null = unknown, never a guess),
225
+ * plus as_of. PRO/ULTRA only.
226
+ */
218
227
  export declare function tokenRisk(agent: Agent, params: {
219
228
  mint: string;
220
229
  }): Promise<any>;
@@ -226,6 +235,22 @@ export declare function tokenBundle(agent: Agent, params: {
226
235
  export declare function tokenPools(agent: Agent, params: {
227
236
  mint: string;
228
237
  }): Promise<any>;
238
+ /**
239
+ * Per-pool price-impact / slippage for a token (GET /tokens/{mint}/depth) — "how much SOL moves
240
+ * this token's price N%" and the impact of each buy size, per pool (NOT router-optimal). Each
241
+ * computable pool carries spot_price_sol, fee_pct, a quotes[] entry per requested SOL size
242
+ * (size_sol, tokens_out, avg_price_sol, price_impact_pct), and to_move_price (SOL to move price
243
+ * 1%/5%/10%). Constant-product pools are served from stream reserves (source="stream", with
244
+ * reserves_age_ms); pump.fun/bonk curves from a LIVE read of the curve's virtual reserves
245
+ * (source="live_rpc"). Pools we can't price honestly (CLMM/Orca/DLMM, Meteora-DBC, unclassified)
246
+ * land in unsupported_pools[] with a `reason` instead of a wrong number; found=false means no
247
+ * pools tracked. `sizes` — up to 8 SOL buy sizes (each >0 and ≤10000; default [0.5, 1, 5, 10]),
248
+ * sent as a CSV query param. PRO/ULTRA only.
249
+ */
250
+ export declare function tokenDepth(agent: Agent, params: {
251
+ mint: string;
252
+ sizes?: number[];
253
+ }): Promise<any>;
229
254
  /** Historical OHLCV candles (1m/5m/15m/1h/4h/1d) aggregated from the trade firehose. PRO=OHLCV 30d; ULTRA=+net flow, liquidity delta, full history. PRO/ULTRA only. */
230
255
  export declare function tokenCandles(agent: Agent, params: {
231
256
  mint: string;
@@ -314,7 +314,16 @@ export async function tokenCapTable(agent, params) {
314
314
  export async function tokenBuyerQuality(agent, params) {
315
315
  return restQuery(agent, "GET", `/tokens/${encodeURIComponent(params.mint)}/buyer-quality`);
316
316
  }
317
- /** Transparent 0–100 rug-risk/safety score (higher = riskier) with band, explainable factors, and raw inputs. PRO/ULTRA only. */
317
+ /**
318
+ * Transparent 0–100 rug-risk/safety score (higher = riskier) with band, explainable factors, and
319
+ * raw inputs. Also returns a top-level `dev` block (deployer self-activity; null when the mint has
320
+ * no deployer-pipeline row): create-tx self-buy snapshot (buy_sol/buy_tokens/buy_supply_pct),
321
+ * post-create rollup (bought_tokens_after — catches the same-second-separate-tx dev buy —
322
+ * sold_tokens, sold_sol, first_sell_at/last_sell_at), LIVE on-chain holdings (holdings_tokens,
323
+ * holdings_supply_pct — pump.fun 1B denominator, null elsewhere — wallet_empty: is the dev wallet
324
+ * empty NOW), and transferred_out (tokens left without a sell; null = unknown, never a guess),
325
+ * plus as_of. PRO/ULTRA only.
326
+ */
318
327
  export async function tokenRisk(agent, params) {
319
328
  return restQuery(agent, "GET", `/tokens/${encodeURIComponent(params.mint)}/risk`);
320
329
  }
@@ -326,6 +335,25 @@ export async function tokenBundle(agent, params) {
326
335
  export async function tokenPools(agent, params) {
327
336
  return restQuery(agent, "GET", `/tokens/${encodeURIComponent(params.mint)}/pools`);
328
337
  }
338
+ /**
339
+ * Per-pool price-impact / slippage for a token (GET /tokens/{mint}/depth) — "how much SOL moves
340
+ * this token's price N%" and the impact of each buy size, per pool (NOT router-optimal). Each
341
+ * computable pool carries spot_price_sol, fee_pct, a quotes[] entry per requested SOL size
342
+ * (size_sol, tokens_out, avg_price_sol, price_impact_pct), and to_move_price (SOL to move price
343
+ * 1%/5%/10%). Constant-product pools are served from stream reserves (source="stream", with
344
+ * reserves_age_ms); pump.fun/bonk curves from a LIVE read of the curve's virtual reserves
345
+ * (source="live_rpc"). Pools we can't price honestly (CLMM/Orca/DLMM, Meteora-DBC, unclassified)
346
+ * land in unsupported_pools[] with a `reason` instead of a wrong number; found=false means no
347
+ * pools tracked. `sizes` — up to 8 SOL buy sizes (each >0 and ≤10000; default [0.5, 1, 5, 10]),
348
+ * sent as a CSV query param. PRO/ULTRA only.
349
+ */
350
+ export async function tokenDepth(agent, params) {
351
+ const qs = new URLSearchParams();
352
+ if (params.sizes && params.sizes.length > 0)
353
+ qs.set("sizes", params.sizes.join(","));
354
+ const query = qs.toString() ? `?${qs.toString()}` : "";
355
+ return restQuery(agent, "GET", `/tokens/${encodeURIComponent(params.mint)}/depth${query}`);
356
+ }
329
357
  /** Historical OHLCV candles (1m/5m/15m/1h/4h/1d) aggregated from the trade firehose. PRO=OHLCV 30d; ULTRA=+net flow, liquidity delta, full history. PRO/ULTRA only. */
330
358
  export async function tokenCandles(agent, params) {
331
359
  const qs = new URLSearchParams();
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "1.18.0";
1
+ export declare const VERSION = "1.19.0";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // AUTO-GENERATED by ../gen-version.mjs (npm prebuild) from package.json. Do not edit.
2
- export const VERSION = "1.18.0";
2
+ export const VERSION = "1.19.0";
package/package.json CHANGED
@@ -1,55 +1,55 @@
1
- {
2
- "name": "solana-agent-kit-plugin-madeonsol",
3
- "version": "1.18.0",
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
- "prebuild": "node ../gen-version.mjs",
14
- "build": "tsc",
15
- "preflight": "bash ../../scripts/preflight-publish.sh",
16
- "prepublishOnly": "npm run preflight && npm run build"
17
- },
18
- "keywords": [
19
- "solana",
20
- "agent-kit",
21
- "solana-agent-kit",
22
- "sendaifun",
23
- "plugin",
24
- "ai-agent",
25
- "x402",
26
- "kol",
27
- "kol-tracker",
28
- "trading",
29
- "memecoin",
30
- "memecoin-tracker",
31
- "pumpfun",
32
- "deployer-hunter",
33
- "alpha",
34
- "alpha-bot",
35
- "smart-money",
36
- "copy-trading",
37
- "madeonsol"
38
- ],
39
- "license": "MIT",
40
- "repository": {
41
- "type": "git",
42
- "url": "https://github.com/madeonsol/solana-agent-kit-plugin-madeonsol"
43
- },
44
- "peerDependencies": {
45
- "solana-agent-kit": ">=2.0.0",
46
- "@x402/fetch": ">=0.1.0",
47
- "@x402/core": ">=0.1.0",
48
- "@x402/svm": ">=0.1.0",
49
- "@solana/kit": ">=2.0.0",
50
- "@scure/base": ">=1.0.0"
51
- },
52
- "dependencies": {
53
- "zod": "^3.24.0"
54
- }
55
- }
1
+ {
2
+ "name": "solana-agent-kit-plugin-madeonsol",
3
+ "version": "1.19.0",
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
+ "prebuild": "node ../gen-version.mjs",
14
+ "build": "tsc",
15
+ "preflight": "bash ../../scripts/preflight-publish.sh",
16
+ "prepublishOnly": "npm run preflight && npm run build"
17
+ },
18
+ "keywords": [
19
+ "solana",
20
+ "agent-kit",
21
+ "solana-agent-kit",
22
+ "sendaifun",
23
+ "plugin",
24
+ "ai-agent",
25
+ "x402",
26
+ "kol",
27
+ "kol-tracker",
28
+ "trading",
29
+ "memecoin",
30
+ "memecoin-tracker",
31
+ "pumpfun",
32
+ "deployer-hunter",
33
+ "alpha",
34
+ "alpha-bot",
35
+ "smart-money",
36
+ "copy-trading",
37
+ "madeonsol"
38
+ ],
39
+ "license": "MIT",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "https://github.com/madeonsol/solana-agent-kit-plugin-madeonsol"
43
+ },
44
+ "peerDependencies": {
45
+ "solana-agent-kit": ">=2.0.0",
46
+ "@x402/fetch": ">=0.1.0",
47
+ "@x402/core": ">=0.1.0",
48
+ "@x402/svm": ">=0.1.0",
49
+ "@solana/kit": ">=2.0.0",
50
+ "@scure/base": ">=1.0.0"
51
+ },
52
+ "dependencies": {
53
+ "zod": "^3.24.0"
54
+ }
55
+ }