solana-agent-kit-plugin-madeonsol 1.13.0 → 1.14.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 +5 -1
- package/dist/actions/almostBonded.d.ts +69 -0
- package/dist/actions/almostBonded.js +43 -0
- package/dist/actions/tokensList.d.ts +4 -4
- package/dist/actions/tokensList.js +2 -2
- package/dist/index.d.ts +76 -7
- package/dist/index.js +6 -3
- package/dist/tools/index.d.ts +19 -1
- package/dist/tools/index.js +16 -0
- package/package.json +1 -1
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, surface deshred deploy signals ~500ms before on-chain confirmation, detect multi-KOL coordination, and stream every DEX trade. Free tier: 200 requests/day at [madeonsol.com/pricing](https://madeonsol.com/pricing) — no credit card required.
|
|
13
13
|
|
|
14
|
+
> **New in 1.14.0** — **Almost-bonded discovery + trending sorts.** New tool `almostBonded()` + action `MADEONSOL_ALMOST_BONDED_ACTION` — pre-bond pump.fun tokens near graduation, ranked by velocity (Δprogress/min): "95% and accelerating" beats "92% stalled". Each token carries `progress_pct`, `velocity_pct_per_min`, `eta_minutes`, `stalled`, `real_sol_reserves`, `market_cap_usd`, `liquidity_usd`, `authorities_revoked`, `deployer_tier`, and `age_minutes`. Params: `min_progress`, `max_progress`, `min_velocity_pct_per_min`, `max_age_minutes`, `deployer_tier`, `authority_revoked`, `min_liq`, `sort` (velocity_desc / progress_desc / eta_asc), `limit`. PRO/ULTRA only. Plus `tokensList({ sort })` gains four momentum sorts — `mc_change_5m_desc`, `mc_change_1h_desc`, `volume_1h_desc`, and `trending` (composite recent-volume × positive-momentum rank).
|
|
15
|
+
>
|
|
14
16
|
> **New in 1.13.0** — **Token net flow.** New tool `tokenFlow()` + action `MADEONSOL_TOKEN_FLOW_ACTION` — net buy/sell flow over a rolling window (`1h` default, or `24h`): `unique_wallets`, `unique_buyers`, `unique_sellers`, `buy_count`, `sell_count`, `total_trades`, `buy_sol`, `sell_sol`, `net_sol`, `trades_per_wallet`. PRO/ULTRA only. Deployer alerts now also surface `deployer_sol_balance` — the deployer wallet's SOL balance at alert time (`null` for historical rows).
|
|
15
17
|
>
|
|
16
18
|
> **New in 1.12.0** — **Token OHLCV candles.** New tool `tokenCandles()` + action `MADEONSOL_TOKEN_CANDLES_ACTION` — historical price candles (1m/5m/15m/1h/4h/1d) aggregated from the on-chain trade firehose. Each candle has `t/open/high/low/close/volume_usd/trades/market_cap_usd`. PRO returns OHLCV for the last 30 days; ULTRA adds buy/sell volume + count splits, net flow, MEV volume, open/close liquidity, high/low MC, and full history. PRO/ULTRA only.
|
|
@@ -103,7 +105,8 @@ const events = await agent.methods.walletTrackerTrades(agent, { limit: 50 });
|
|
|
103
105
|
| `MADEONSOL_WALLET_TRACKER_TRADES_ACTION` | "wallet tracker trades", "watchlist activity" |
|
|
104
106
|
| `MADEONSOL_WALLET_TRACKER_SUMMARY_ACTION` | "wallet tracker summary", "tracked wallet stats" |
|
|
105
107
|
| `MADEONSOL_ME_ACTION` | "my api account", "api quota", "remaining requests" — tier + quota introspection (new in 1.7) |
|
|
106
|
-
| `MADEONSOL_TOKENS_LIST_ACTION` | "filter tokens", "tokens by market cap", "scan tokens" — filtered/sortable token directory, PRO+ (new in 1.7) |
|
|
108
|
+
| `MADEONSOL_TOKENS_LIST_ACTION` | "filter tokens", "tokens by market cap", "scan tokens" — filtered/sortable token directory + momentum/trending sorts, PRO+ (new in 1.7) |
|
|
109
|
+
| `MADEONSOL_ALMOST_BONDED_ACTION` | **New 1.14** · "almost bonded", "about to graduate", "near graduation" — pre-bond pump.fun tokens ranked by velocity (Δprogress/min): progress, ETA, stalled, deployer tier (PRO+) |
|
|
107
110
|
| `MADEONSOL_WALLET_STATS_ACTION` | **New 1.8** · "wallet stats", "wallet info", "check wallet" — aggregate 90d stats + cross-product flags (KOL/alpha/deployer) for any Solana wallet (PRO+) |
|
|
108
111
|
| `MADEONSOL_WALLET_PNL_ACTION` | **New 1.8** · "wallet pnl", "wallet profit", "wallet performance" — FIFO cost-basis PnL with profit factor, drawdown, daily curve, closed + open positions (PRO+) |
|
|
109
112
|
| `MADEONSOL_WALLET_POSITIONS_ACTION` | **New 1.8** · "wallet positions", "wallet bags", "open positions" — open lots with live unrealized SOL (PRO+) |
|
|
@@ -132,6 +135,7 @@ await agent.methods.tokenBuyerQuality(agent, { mint: "MINT" }); // 0–1
|
|
|
132
135
|
await agent.methods.tokenRisk(agent, { mint: "MINT" }); // PRO+ 0–100 rug-risk/safety score + band + factors
|
|
133
136
|
await agent.methods.tokenCandles(agent, { mint: "MINT", tf: "1h" }); // PRO+ OHLCV candles (1m–1d); ULTRA=+net flow, liquidity, full history
|
|
134
137
|
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
|
|
138
|
+
await agent.methods.almostBonded(agent, { min_progress: 90, sort: "eta_asc" }); // PRO+ pre-bond pump.fun tokens by velocity: progress, ETA, stalled, deployer tier
|
|
135
139
|
```
|
|
136
140
|
|
|
137
141
|
> Deployer alerts (`MADEONSOL_DEPLOYER_ALERTS_ACTION` / `agent.methods.deployerAlerts()`) now include `deployer_sol_balance` — the deployer wallet's SOL balance at alert time (`null` for historical rows).
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const almostBondedAction: {
|
|
3
|
+
name: string;
|
|
4
|
+
similes: string[];
|
|
5
|
+
description: string;
|
|
6
|
+
examples: {
|
|
7
|
+
input: {
|
|
8
|
+
min_progress: number;
|
|
9
|
+
min_velocity_pct_per_min: number;
|
|
10
|
+
deployer_tier: string;
|
|
11
|
+
sort: string;
|
|
12
|
+
limit: number;
|
|
13
|
+
};
|
|
14
|
+
output: {
|
|
15
|
+
status: string;
|
|
16
|
+
};
|
|
17
|
+
explanation: string;
|
|
18
|
+
}[][];
|
|
19
|
+
schema: z.ZodObject<{
|
|
20
|
+
min_progress: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
max_progress: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
min_velocity_pct_per_min: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
max_age_minutes: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
deployer_tier: z.ZodOptional<z.ZodEnum<["elite", "good", "moderate", "rising", "cold", "unranked"]>>;
|
|
25
|
+
authority_revoked: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
min_liq: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
sort: z.ZodOptional<z.ZodEnum<["velocity_desc", "progress_desc", "eta_asc"]>>;
|
|
28
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
limit: number;
|
|
31
|
+
sort?: "velocity_desc" | "progress_desc" | "eta_asc" | undefined;
|
|
32
|
+
min_liq?: number | undefined;
|
|
33
|
+
authority_revoked?: boolean | undefined;
|
|
34
|
+
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked" | undefined;
|
|
35
|
+
min_progress?: number | undefined;
|
|
36
|
+
max_progress?: number | undefined;
|
|
37
|
+
min_velocity_pct_per_min?: number | undefined;
|
|
38
|
+
max_age_minutes?: number | undefined;
|
|
39
|
+
}, {
|
|
40
|
+
sort?: "velocity_desc" | "progress_desc" | "eta_asc" | undefined;
|
|
41
|
+
limit?: number | undefined;
|
|
42
|
+
min_liq?: number | undefined;
|
|
43
|
+
authority_revoked?: boolean | undefined;
|
|
44
|
+
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked" | undefined;
|
|
45
|
+
min_progress?: number | undefined;
|
|
46
|
+
max_progress?: number | undefined;
|
|
47
|
+
min_velocity_pct_per_min?: number | undefined;
|
|
48
|
+
max_age_minutes?: number | undefined;
|
|
49
|
+
}>;
|
|
50
|
+
handler: (agent: unknown, input: {
|
|
51
|
+
min_progress?: number;
|
|
52
|
+
max_progress?: number;
|
|
53
|
+
min_velocity_pct_per_min?: number;
|
|
54
|
+
max_age_minutes?: number;
|
|
55
|
+
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked";
|
|
56
|
+
authority_revoked?: boolean;
|
|
57
|
+
min_liq?: number;
|
|
58
|
+
sort?: "velocity_desc" | "progress_desc" | "eta_asc";
|
|
59
|
+
limit?: number;
|
|
60
|
+
}) => Promise<{
|
|
61
|
+
status: string;
|
|
62
|
+
result: any;
|
|
63
|
+
message?: undefined;
|
|
64
|
+
} | {
|
|
65
|
+
status: string;
|
|
66
|
+
message: string;
|
|
67
|
+
result?: undefined;
|
|
68
|
+
}>;
|
|
69
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { almostBonded } from "../tools/index.js";
|
|
3
|
+
export const almostBondedAction = {
|
|
4
|
+
name: "MADEONSOL_ALMOST_BONDED_ACTION",
|
|
5
|
+
similes: [
|
|
6
|
+
"almost bonded",
|
|
7
|
+
"about to graduate",
|
|
8
|
+
"near graduation",
|
|
9
|
+
"tokens about to bond",
|
|
10
|
+
"pre-bond tokens",
|
|
11
|
+
"almost graduated pumpfun",
|
|
12
|
+
],
|
|
13
|
+
description: "Pre-bond pump.fun tokens approaching graduation (PRO+), ranked by velocity (Δprogress/min). Returns mint, symbol, progress_pct, velocity_pct_per_min, eta_minutes, stalled, deployer_tier. '95% and accelerating' beats '92% stalled'.",
|
|
14
|
+
examples: [
|
|
15
|
+
[
|
|
16
|
+
{
|
|
17
|
+
input: { min_progress: 90, min_velocity_pct_per_min: 0.5, deployer_tier: "elite", sort: "eta_asc", limit: 25 },
|
|
18
|
+
output: { status: "success" },
|
|
19
|
+
explanation: "Tokens >90% bonded, accelerating, from an elite deployer, soonest-to-bond first",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
],
|
|
23
|
+
schema: z.object({
|
|
24
|
+
min_progress: z.number().min(0).max(100).optional().describe("Lower bound on bonding progress % (default 80)"),
|
|
25
|
+
max_progress: z.number().min(0).max(100).optional().describe("Upper bound on bonding progress % (default 99.99 — already-bonded excluded)"),
|
|
26
|
+
min_velocity_pct_per_min: z.number().optional().describe("Minimum Δprogress/min; drops tokens without a 5m snapshot"),
|
|
27
|
+
max_age_minutes: z.number().min(1).optional().describe("Max minutes since deploy (post-filter)"),
|
|
28
|
+
deployer_tier: z.enum(["elite", "good", "moderate", "rising", "cold", "unranked"]).optional().describe("Filter by deployer reputation tier"),
|
|
29
|
+
authority_revoked: z.boolean().optional().describe("Only tokens with mint+freeze authorities revoked"),
|
|
30
|
+
min_liq: z.number().min(0).optional().describe("Minimum liquidity USD"),
|
|
31
|
+
sort: z.enum(["velocity_desc", "progress_desc", "eta_asc"]).optional().describe("Sort axis (default velocity_desc)"),
|
|
32
|
+
limit: z.number().min(1).max(100).default(20).describe("Number of tokens (max 100)"),
|
|
33
|
+
}),
|
|
34
|
+
handler: async (agent, input) => {
|
|
35
|
+
try {
|
|
36
|
+
const data = await almostBonded(agent, input);
|
|
37
|
+
return { status: "success", result: data };
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
return { status: "error", message: err.message };
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
};
|
|
@@ -32,12 +32,12 @@ export declare const tokensListAction: {
|
|
|
32
32
|
min_liq_mc_ratio: z.ZodOptional<z.ZodNumber>;
|
|
33
33
|
max_liq_mc_ratio: z.ZodOptional<z.ZodNumber>;
|
|
34
34
|
deployer_tier: z.ZodOptional<z.ZodEnum<["elite", "good", "moderate", "rising", "cold", "unranked"]>>;
|
|
35
|
-
sort: z.ZodOptional<z.ZodEnum<["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc"]>>;
|
|
35
|
+
sort: z.ZodOptional<z.ZodEnum<["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc", "mc_change_5m_desc", "mc_change_1h_desc", "volume_1h_desc", "trending"]>>;
|
|
36
36
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
37
37
|
offset: z.ZodOptional<z.ZodNumber>;
|
|
38
38
|
}, "strip", z.ZodTypeAny, {
|
|
39
39
|
limit: number;
|
|
40
|
-
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | undefined;
|
|
40
|
+
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | "mc_change_5m_desc" | "mc_change_1h_desc" | "volume_1h_desc" | "trending" | undefined;
|
|
41
41
|
min_mc?: number | undefined;
|
|
42
42
|
max_mc?: number | undefined;
|
|
43
43
|
min_liq?: number | undefined;
|
|
@@ -55,7 +55,7 @@ export declare const tokensListAction: {
|
|
|
55
55
|
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked" | undefined;
|
|
56
56
|
offset?: number | undefined;
|
|
57
57
|
}, {
|
|
58
|
-
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | undefined;
|
|
58
|
+
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | "mc_change_5m_desc" | "mc_change_1h_desc" | "volume_1h_desc" | "trending" | undefined;
|
|
59
59
|
limit?: number | undefined;
|
|
60
60
|
min_mc?: number | undefined;
|
|
61
61
|
max_mc?: number | undefined;
|
|
@@ -90,7 +90,7 @@ export declare const tokensListAction: {
|
|
|
90
90
|
min_liq_mc_ratio?: number;
|
|
91
91
|
max_liq_mc_ratio?: number;
|
|
92
92
|
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked";
|
|
93
|
-
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc";
|
|
93
|
+
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | "mc_change_5m_desc" | "mc_change_1h_desc" | "volume_1h_desc" | "trending";
|
|
94
94
|
limit?: number;
|
|
95
95
|
offset?: number;
|
|
96
96
|
}) => Promise<{
|
|
@@ -42,9 +42,9 @@ export const tokensListAction = {
|
|
|
42
42
|
max_liq_mc_ratio: z.number().min(0).optional().describe("Maximum liquidity-to-MC ratio"),
|
|
43
43
|
deployer_tier: z.enum(["elite", "good", "moderate", "rising", "cold", "unranked"]).optional().describe("Filter by deployer reputation tier"),
|
|
44
44
|
sort: z
|
|
45
|
-
.enum(["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc"])
|
|
45
|
+
.enum(["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc", "mc_change_5m_desc", "mc_change_1h_desc", "volume_1h_desc", "trending"])
|
|
46
46
|
.optional()
|
|
47
|
-
.describe("Sort order"),
|
|
47
|
+
.describe("Sort order. Momentum sorts: mc_change_5m_desc, mc_change_1h_desc, volume_1h_desc, trending (composite recent-volume × positive-momentum rank)"),
|
|
48
48
|
limit: z.number().min(1).max(100).default(20).describe("Number of tokens (max 100)"),
|
|
49
49
|
offset: z.number().min(0).optional().describe("Pagination offset"),
|
|
50
50
|
}),
|
package/dist/index.d.ts
CHANGED
|
@@ -11,10 +11,11 @@ import { kolAlertsRecentAction } from "./actions/kolAlertsRecent.js";
|
|
|
11
11
|
import { kolFirstTouchesAction } from "./actions/kolFirstTouches.js";
|
|
12
12
|
import { meAction } from "./actions/me.js";
|
|
13
13
|
import { tokensListAction } from "./actions/tokensList.js";
|
|
14
|
+
import { almostBondedAction } from "./actions/almostBonded.js";
|
|
14
15
|
import { tokenRiskAction } from "./actions/tokenRisk.js";
|
|
15
16
|
import { tokenCandlesAction } from "./actions/tokenCandles.js";
|
|
16
17
|
import { tokenFlowAction } from "./actions/tokenFlow.js";
|
|
17
|
-
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, tokenRisk, tokenCandles, tokenFlow, 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, walletTrades, me, tokensList } from "./tools/index.js";
|
|
18
|
+
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, tokenRisk, tokenCandles, tokenFlow, 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, walletTrades, me, tokensList, almostBonded } from "./tools/index.js";
|
|
18
19
|
import { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction } from "./actions/wallet.js";
|
|
19
20
|
declare const MadeOnSolPlugin: {
|
|
20
21
|
name: string;
|
|
@@ -75,6 +76,7 @@ declare const MadeOnSolPlugin: {
|
|
|
75
76
|
peakHistory: typeof peakHistory;
|
|
76
77
|
me: typeof me;
|
|
77
78
|
tokensList: typeof tokensList;
|
|
79
|
+
almostBonded: typeof almostBonded;
|
|
78
80
|
walletStats: typeof walletStats;
|
|
79
81
|
walletPnl: typeof walletPnl;
|
|
80
82
|
walletPositions: typeof walletPositions;
|
|
@@ -709,12 +711,12 @@ declare const MadeOnSolPlugin: {
|
|
|
709
711
|
min_liq_mc_ratio: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
710
712
|
max_liq_mc_ratio: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
711
713
|
deployer_tier: import("zod").ZodOptional<import("zod").ZodEnum<["elite", "good", "moderate", "rising", "cold", "unranked"]>>;
|
|
712
|
-
sort: import("zod").ZodOptional<import("zod").ZodEnum<["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc"]>>;
|
|
714
|
+
sort: import("zod").ZodOptional<import("zod").ZodEnum<["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc", "mc_change_5m_desc", "mc_change_1h_desc", "volume_1h_desc", "trending"]>>;
|
|
713
715
|
limit: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
714
716
|
offset: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
715
717
|
}, "strip", import("zod").ZodTypeAny, {
|
|
716
718
|
limit: number;
|
|
717
|
-
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | undefined;
|
|
719
|
+
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | "mc_change_5m_desc" | "mc_change_1h_desc" | "volume_1h_desc" | "trending" | undefined;
|
|
718
720
|
min_mc?: number | undefined;
|
|
719
721
|
max_mc?: number | undefined;
|
|
720
722
|
min_liq?: number | undefined;
|
|
@@ -732,7 +734,7 @@ declare const MadeOnSolPlugin: {
|
|
|
732
734
|
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked" | undefined;
|
|
733
735
|
offset?: number | undefined;
|
|
734
736
|
}, {
|
|
735
|
-
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | undefined;
|
|
737
|
+
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | "mc_change_5m_desc" | "mc_change_1h_desc" | "volume_1h_desc" | "trending" | undefined;
|
|
736
738
|
limit?: number | undefined;
|
|
737
739
|
min_mc?: number | undefined;
|
|
738
740
|
max_mc?: number | undefined;
|
|
@@ -767,7 +769,7 @@ declare const MadeOnSolPlugin: {
|
|
|
767
769
|
min_liq_mc_ratio?: number;
|
|
768
770
|
max_liq_mc_ratio?: number;
|
|
769
771
|
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked";
|
|
770
|
-
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc";
|
|
772
|
+
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | "mc_change_5m_desc" | "mc_change_1h_desc" | "volume_1h_desc" | "trending";
|
|
771
773
|
limit?: number;
|
|
772
774
|
offset?: number;
|
|
773
775
|
}) => Promise<{
|
|
@@ -779,6 +781,73 @@ declare const MadeOnSolPlugin: {
|
|
|
779
781
|
message: string;
|
|
780
782
|
result?: undefined;
|
|
781
783
|
}>;
|
|
784
|
+
} | {
|
|
785
|
+
name: string;
|
|
786
|
+
similes: string[];
|
|
787
|
+
description: string;
|
|
788
|
+
examples: {
|
|
789
|
+
input: {
|
|
790
|
+
min_progress: number;
|
|
791
|
+
min_velocity_pct_per_min: number;
|
|
792
|
+
deployer_tier: string;
|
|
793
|
+
sort: string;
|
|
794
|
+
limit: number;
|
|
795
|
+
};
|
|
796
|
+
output: {
|
|
797
|
+
status: string;
|
|
798
|
+
};
|
|
799
|
+
explanation: string;
|
|
800
|
+
}[][];
|
|
801
|
+
schema: import("zod").ZodObject<{
|
|
802
|
+
min_progress: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
803
|
+
max_progress: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
804
|
+
min_velocity_pct_per_min: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
805
|
+
max_age_minutes: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
806
|
+
deployer_tier: import("zod").ZodOptional<import("zod").ZodEnum<["elite", "good", "moderate", "rising", "cold", "unranked"]>>;
|
|
807
|
+
authority_revoked: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
808
|
+
min_liq: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
809
|
+
sort: import("zod").ZodOptional<import("zod").ZodEnum<["velocity_desc", "progress_desc", "eta_asc"]>>;
|
|
810
|
+
limit: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
811
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
812
|
+
limit: number;
|
|
813
|
+
sort?: "velocity_desc" | "progress_desc" | "eta_asc" | undefined;
|
|
814
|
+
min_liq?: number | undefined;
|
|
815
|
+
authority_revoked?: boolean | undefined;
|
|
816
|
+
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked" | undefined;
|
|
817
|
+
min_progress?: number | undefined;
|
|
818
|
+
max_progress?: number | undefined;
|
|
819
|
+
min_velocity_pct_per_min?: number | undefined;
|
|
820
|
+
max_age_minutes?: number | undefined;
|
|
821
|
+
}, {
|
|
822
|
+
sort?: "velocity_desc" | "progress_desc" | "eta_asc" | undefined;
|
|
823
|
+
limit?: number | undefined;
|
|
824
|
+
min_liq?: number | undefined;
|
|
825
|
+
authority_revoked?: boolean | undefined;
|
|
826
|
+
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked" | undefined;
|
|
827
|
+
min_progress?: number | undefined;
|
|
828
|
+
max_progress?: number | undefined;
|
|
829
|
+
min_velocity_pct_per_min?: number | undefined;
|
|
830
|
+
max_age_minutes?: number | undefined;
|
|
831
|
+
}>;
|
|
832
|
+
handler: (agent: unknown, input: {
|
|
833
|
+
min_progress?: number;
|
|
834
|
+
max_progress?: number;
|
|
835
|
+
min_velocity_pct_per_min?: number;
|
|
836
|
+
max_age_minutes?: number;
|
|
837
|
+
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked";
|
|
838
|
+
authority_revoked?: boolean;
|
|
839
|
+
min_liq?: number;
|
|
840
|
+
sort?: "velocity_desc" | "progress_desc" | "eta_asc";
|
|
841
|
+
limit?: number;
|
|
842
|
+
}) => Promise<{
|
|
843
|
+
status: string;
|
|
844
|
+
result: any;
|
|
845
|
+
message?: undefined;
|
|
846
|
+
} | {
|
|
847
|
+
status: string;
|
|
848
|
+
message: string;
|
|
849
|
+
result?: undefined;
|
|
850
|
+
}>;
|
|
782
851
|
} | {
|
|
783
852
|
name: string;
|
|
784
853
|
similes: string[];
|
|
@@ -986,8 +1055,8 @@ declare const MadeOnSolPlugin: {
|
|
|
986
1055
|
initialize(_agent: unknown): void;
|
|
987
1056
|
};
|
|
988
1057
|
export default MadeOnSolPlugin;
|
|
989
|
-
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, tokenRisk, tokenCandles, tokenFlow, 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, walletTrades, me, tokensList, };
|
|
1058
|
+
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, tokenRisk, tokenCandles, tokenFlow, 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, walletTrades, me, tokensList, almostBonded, };
|
|
990
1059
|
export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
|
|
991
1060
|
export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
|
|
992
1061
|
export { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction };
|
|
993
|
-
export { meAction, tokensListAction, tokenRiskAction, tokenCandlesAction, tokenFlowAction };
|
|
1062
|
+
export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenCandlesAction, tokenFlowAction };
|
package/dist/index.js
CHANGED
|
@@ -11,10 +11,11 @@ import { kolAlertsRecentAction } from "./actions/kolAlertsRecent.js";
|
|
|
11
11
|
import { kolFirstTouchesAction } from "./actions/kolFirstTouches.js";
|
|
12
12
|
import { meAction } from "./actions/me.js";
|
|
13
13
|
import { tokensListAction } from "./actions/tokensList.js";
|
|
14
|
+
import { almostBondedAction } from "./actions/almostBonded.js";
|
|
14
15
|
import { tokenRiskAction } from "./actions/tokenRisk.js";
|
|
15
16
|
import { tokenCandlesAction } from "./actions/tokenCandles.js";
|
|
16
17
|
import { tokenFlowAction } from "./actions/tokenFlow.js";
|
|
17
|
-
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, tokenRisk, tokenCandles, tokenFlow, 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, walletTrades, me, tokensList, } from "./tools/index.js";
|
|
18
|
+
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, tokenRisk, tokenCandles, tokenFlow, 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, walletTrades, me, tokensList, almostBonded, } from "./tools/index.js";
|
|
18
19
|
import { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction } from "./actions/wallet.js";
|
|
19
20
|
const MadeOnSolPlugin = {
|
|
20
21
|
name: "madeonsol",
|
|
@@ -75,6 +76,7 @@ const MadeOnSolPlugin = {
|
|
|
75
76
|
peakHistory,
|
|
76
77
|
me,
|
|
77
78
|
tokensList,
|
|
79
|
+
almostBonded,
|
|
78
80
|
walletStats,
|
|
79
81
|
walletPnl,
|
|
80
82
|
walletPositions,
|
|
@@ -98,6 +100,7 @@ const MadeOnSolPlugin = {
|
|
|
98
100
|
walletTrackerSummaryAction,
|
|
99
101
|
meAction,
|
|
100
102
|
tokensListAction,
|
|
103
|
+
almostBondedAction,
|
|
101
104
|
tokenRiskAction,
|
|
102
105
|
tokenCandlesAction,
|
|
103
106
|
tokenFlowAction,
|
|
@@ -111,8 +114,8 @@ const MadeOnSolPlugin = {
|
|
|
111
114
|
},
|
|
112
115
|
};
|
|
113
116
|
export default MadeOnSolPlugin;
|
|
114
|
-
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, tokenRisk, tokenCandles, tokenFlow, 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, walletTrades, me, tokensList, };
|
|
117
|
+
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, tokenRisk, tokenCandles, tokenFlow, 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, walletTrades, me, tokensList, almostBonded, };
|
|
115
118
|
export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction, kolFirstTouchesAction };
|
|
116
119
|
export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
|
|
117
120
|
export { walletStatsAction, walletPnlAction, walletPositionsAction, walletTradesAction };
|
|
118
|
-
export { meAction, tokensListAction, tokenRiskAction, tokenCandlesAction, tokenFlowAction };
|
|
121
|
+
export { meAction, tokensListAction, almostBondedAction, tokenRiskAction, tokenCandlesAction, tokenFlowAction };
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -311,10 +311,28 @@ export declare function tokensList(agent: Agent, params?: {
|
|
|
311
311
|
max_liq_mc_ratio?: number;
|
|
312
312
|
/** v1.10 — filter by deployer tier. */
|
|
313
313
|
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked";
|
|
314
|
-
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc";
|
|
314
|
+
sort?: "mc_desc" | "mc_asc" | "last_trade_desc" | "liquidity_desc" | "cumulative_volume_desc" | "mc_change_5m_desc" | "mc_change_1h_desc" | "volume_1h_desc" | "trending";
|
|
315
315
|
limit?: number;
|
|
316
316
|
offset?: number;
|
|
317
317
|
}): Promise<any>;
|
|
318
|
+
/**
|
|
319
|
+
* Pre-bond pump.fun tokens approaching graduation, ranked by velocity
|
|
320
|
+
* (Δprogress/min): "95% and accelerating" beats "92% stalled". Each token is
|
|
321
|
+
* enriched with its deployer's reputation tier. `progress_pct` is from on-chain
|
|
322
|
+
* real_token_reserves; `velocity_pct_per_min` is null until a 5m snapshot exists;
|
|
323
|
+
* `eta_minutes` is a linear projection. PRO/ULTRA only.
|
|
324
|
+
*/
|
|
325
|
+
export declare function almostBonded(agent: Agent, params?: {
|
|
326
|
+
min_progress?: number;
|
|
327
|
+
max_progress?: number;
|
|
328
|
+
min_velocity_pct_per_min?: number;
|
|
329
|
+
max_age_minutes?: number;
|
|
330
|
+
deployer_tier?: "elite" | "good" | "moderate" | "rising" | "cold" | "unranked";
|
|
331
|
+
authority_revoked?: boolean;
|
|
332
|
+
min_liq?: number;
|
|
333
|
+
sort?: "velocity_desc" | "progress_desc" | "eta_asc";
|
|
334
|
+
limit?: number;
|
|
335
|
+
}): Promise<any>;
|
|
318
336
|
export declare function copyTradeSignals(agent: Agent, params?: {
|
|
319
337
|
rule_id?: string;
|
|
320
338
|
limit?: number;
|
package/dist/tools/index.js
CHANGED
|
@@ -379,6 +379,22 @@ export async function tokensList(agent, params = {}) {
|
|
|
379
379
|
const query = qs.toString() ? `?${qs.toString()}` : "";
|
|
380
380
|
return restQuery(agent, "GET", `/tokens${query}`);
|
|
381
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* Pre-bond pump.fun tokens approaching graduation, ranked by velocity
|
|
384
|
+
* (Δprogress/min): "95% and accelerating" beats "92% stalled". Each token is
|
|
385
|
+
* enriched with its deployer's reputation tier. `progress_pct` is from on-chain
|
|
386
|
+
* real_token_reserves; `velocity_pct_per_min` is null until a 5m snapshot exists;
|
|
387
|
+
* `eta_minutes` is a linear projection. PRO/ULTRA only.
|
|
388
|
+
*/
|
|
389
|
+
export async function almostBonded(agent, params = {}) {
|
|
390
|
+
const qs = new URLSearchParams();
|
|
391
|
+
for (const [k, v] of Object.entries(params)) {
|
|
392
|
+
if (v !== undefined)
|
|
393
|
+
qs.set(k, String(v));
|
|
394
|
+
}
|
|
395
|
+
const query = qs.toString() ? `?${qs.toString()}` : "";
|
|
396
|
+
return restQuery(agent, "GET", `/tokens/almost-bonded${query}`);
|
|
397
|
+
}
|
|
382
398
|
export async function copyTradeSignals(agent, params = {}) {
|
|
383
399
|
const qs = new URLSearchParams();
|
|
384
400
|
for (const [k, v] of Object.entries(params)) {
|
package/package.json
CHANGED