madeonsol 1.2.2 → 1.3.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
@@ -1,447 +1,448 @@
1
- # madeonsol
2
-
3
- [![npm version](https://img.shields.io/npm/v/madeonsol?style=flat-square)](https://www.npmjs.com/package/madeonsol)
4
- [![npm downloads](https://img.shields.io/npm/dm/madeonsol?style=flat-square)](https://www.npmjs.com/package/madeonsol)
5
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.4+-blue?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
6
- [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-brightgreen?style=flat-square)](package.json)
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](LICENSE)
8
-
9
- Official TypeScript/JavaScript SDK for the **[MadeOnSol](https://madeonsol.com) Solana API** — zero dependencies, fully typed, works in Node.js ≥ 18 and edge runtimes.
10
-
11
- > **Build Solana trading bots, analytics dashboards, KOL copy-trading tools, deployer sniper bots, and ecosystem browsers.**
12
-
13
- | Feature | Description |
14
- |---|---|
15
- | **KOL Tracker** | Real-time trade feed, PnL leaderboard, coordination detection, and per-wallet profiles for 946 tracked KOL wallets |
16
- | **Deployer Hunter** | Pump.fun deployer scoring, tier leaderboard, deploy alerts, and bonding intelligence |
17
- | **DEX Trade Stream** | Real-time WebSocket stream of ALL Solana DEX trades — filter by token, wallet, program, or trade size (Ultra) |
18
- | **Webhooks** | Push notifications for KOL trades, coordination signals, and deployer alerts (Pro/Ultra) |
19
- | **Tool Directory** | Search 950+ Solana tools and dApps indexed on MadeOnSol |
20
-
21
- **Links:** [Full docs](https://madeonsol.com/solana-api) · [Website](https://madeonsol.com) · [RapidAPI listing](https://rapidapi.com/ClaudeTools/api/madeonsol-solana-kol-tracker-tools-api)
22
-
23
- ## Authentication
24
-
25
- | Method | Format | Best for |
26
- |---|---|---|
27
- | **MadeOnSol API key** (recommended) | `msk_...` | Developers — [get a free key](https://madeonsol.com/developer) |
28
- | RapidAPI key | Standard RapidAPI key | RapidAPI subscribers |
29
-
30
- The SDK auto-detects the key type by the `msk_` prefix.
31
-
32
- ---
33
-
34
- ## Install
35
-
36
- ```bash
37
- npm install madeonsol
38
- # or
39
- yarn add madeonsol
40
- # or
41
- pnpm add madeonsol
42
- ```
43
-
44
- Requires **Node.js ≥ 18** (uses native `fetch`). Works out of the box in Cloudflare Workers, Vercel Edge, and Bun.
45
-
46
- ---
47
-
48
- ## Quick start
49
-
50
- ```ts
51
- import { MadeOnSol } from "madeonsol";
52
-
53
- // With MadeOnSol API key (recommended — get one free at madeonsol.com/developer)
54
- const client = new MadeOnSol({ apiKey: "msk_your_api_key_here" });
55
-
56
- // Or with RapidAPI key
57
- // const client = new MadeOnSol({ apiKey: "your-rapidapi-key" });
58
-
59
- // Latest KOL buy trades
60
- const { trades } = await client.kol.feed({ limit: 10, action: "buy" });
61
- console.log(trades[0].kol_name, "bought", trades[0].token_symbol);
62
-
63
- // Elite deployer leaderboard
64
- const { deployers } = await client.deployer.leaderboard({ tier: "elite" });
65
-
66
- // Recent deploy alerts
67
- const { alerts } = await client.deployer.alerts({ limit: 5 });
68
-
69
- // Search Solana tools
70
- const { tools } = await client.tools.search({ q: "trading", limit: 10 });
71
- ```
72
-
73
- ---
74
-
75
- ## Use cases
76
-
77
- - **Copy-trading bot** — stream KOL buys via `client.kol.feed()` and mirror trades
78
- - **DEX trade sniping** — subscribe to the all-DEX stream filtered by token or wallet
79
- - **Deployer sniper** — monitor `client.deployer.alerts()` for elite-tier launches
80
- - **Coordination detector** — flag tokens with `client.kol.coordination({ min_kols: 3 })`
81
- - **Analytics dashboard** — combine leaderboard, PnL, and tool data
82
- - **Telegram/Discord bot** — pipe alerts via webhooks into chat
83
- - **Portfolio tracker** — use `client.kol.wallet()` to follow specific KOL positions
84
-
85
- ---
86
-
87
- ## API Reference
88
-
89
- ### KOL Tracker — `client.kol`
90
-
91
- #### `client.kol.feed(params?)`
92
-
93
- Live feed of trades made by tracked KOL wallets.
94
-
95
- ```ts
96
- const { trades, count } = await client.kol.feed({
97
- limit: 50, // 1–100, default 50
98
- action: "buy", // "buy" | "sell"
99
- kol: "7xKX...", // filter by specific wallet
100
- });
101
- ```
102
-
103
- Returns: `KolFeedResponse` — `{ trades: KolTrade[], count: number }`
104
-
105
- ---
106
-
107
- #### `client.kol.leaderboard(params?)`
108
-
109
- KOL PnL leaderboard ranked by realized profit.
110
-
111
- ```ts
112
- const { leaderboard, period } = await client.kol.leaderboard({
113
- period: "7d", // "today" | "7d" | "30d", default "7d"
114
- });
115
- ```
116
-
117
- Returns: `KolLeaderboardResponse`
118
-
119
- ---
120
-
121
- #### `client.kol.wallet(wallet, params?)`
122
-
123
- Full profile for a single KOL wallet, including trade history and optional per-token PnL breakdown.
124
-
125
- ```ts
126
- const profile = await client.kol.wallet("7xKX...", {
127
- include: "pnl_by_token",
128
- });
129
- ```
130
-
131
- Returns: `KolWalletProfile`
132
-
133
- ---
134
-
135
- #### `client.kol.coordination(params?)`
136
-
137
- Detect tokens where multiple KOLs are buying simultaneously — a strong signal of coordinated pumps.
138
-
139
- ```ts
140
- const { tokens } = await client.kol.coordination({
141
- period: "24h", // "1h" | "6h" | "24h" | "7d", default "24h"
142
- min_kols: 3, // 2–50, default 3
143
- limit: 20, // 1–50, default 20
144
- });
145
- ```
146
-
147
- Returns: `KolCoordinationResponse`
148
-
149
- ---
150
-
151
- #### `client.kol.token(mint)`
152
-
153
- KOL buy/sell activity for a specific token mint.
154
-
155
- ```ts
156
- const activity = await client.kol.token("EPjFW...");
157
- ```
158
-
159
- Returns: `KolTokenActivity`
160
-
161
- ---
162
-
163
- ### Deployer Hunter — `client.deployer`
164
-
165
- #### `client.deployer.stats()`
166
-
167
- Global statistics across all tracked deployer wallets.
168
-
169
- ```ts
170
- const stats = await client.deployer.stats();
171
- console.log(stats.overall_bonding_rate); // e.g. 0.043
172
- ```
173
-
174
- Returns: `DeployerStats`
175
-
176
- ---
177
-
178
- #### `client.deployer.leaderboard(params?)`
179
-
180
- Deployers ranked by bonding rate or recent performance.
181
-
182
- ```ts
183
- const { deployers } = await client.deployer.leaderboard({
184
- tier: "elite", // "elite" | "good" | "moderate" | "rising" | "cold"
185
- sort: "bonding_rate", // "bonding_rate" | "recent_bond_rate" | "total_bonded" | "last_deploy_at"
186
- limit: 20, // 1–50, default 20
187
- offset: 0,
188
- });
189
- ```
190
-
191
- Returns: `DeployerLeaderboardResponse`
192
-
193
- ---
194
-
195
- #### `client.deployer.profile(wallet)`
196
-
197
- Full profile for a single deployer wallet.
198
-
199
- ```ts
200
- const deployer = await client.deployer.profile("3xAB...");
201
- console.log(deployer.tier, deployer.bonding_rate);
202
- ```
203
-
204
- Returns: `DeployerProfile`
205
-
206
- ---
207
-
208
- #### `client.deployer.tokens(wallet, params?)`
209
-
210
- All tokens deployed by a specific wallet.
211
-
212
- ```ts
213
- const { tokens } = await client.deployer.tokens("3xAB...", {
214
- limit: 20,
215
- offset: 0,
216
- });
217
- ```
218
-
219
- Returns: `DeployerTokensResponse`
220
-
221
- ---
222
-
223
- #### `client.deployer.alerts(params?)`
224
-
225
- Real-time deploy alerts — fired when a tracked deployer launches a new token.
226
-
227
- ```ts
228
- const { alerts } = await client.deployer.alerts({
229
- since: "2025-01-01T00:00:00Z", // ISO 8601
230
- limit: 20,
231
- offset: 0,
232
- });
233
- ```
234
-
235
- Returns: `DeployerAlertsResponse`
236
-
237
- ---
238
-
239
- #### `client.deployer.alertStats(params?)`
240
-
241
- Aggregated alert statistics by tier.
242
-
243
- ```ts
244
- const stats = await client.deployer.alertStats({ period: "7d" });
245
- // "7d" | "30d" | "all", default "all"
246
- ```
247
-
248
- Returns: `DeployerAlertStats`
249
-
250
- ---
251
-
252
- #### `client.deployer.bestTokens(params?)`
253
-
254
- Top-performing tokens from tracked deployers by peak market cap.
255
-
256
- ```ts
257
- const { tokens } = await client.deployer.bestTokens({
258
- period: "7d", // "7d" | "30d" | "all", default "7d"
259
- limit: 5, // 1–20, default 5
260
- });
261
- ```
262
-
263
- Returns: `BestTokensResponse`
264
-
265
- ---
266
-
267
- #### `client.deployer.recentBonds(params?)`
268
-
269
- Most recently bonded tokens from tracked deployers.
270
-
271
- ```ts
272
- const { bonds } = await client.deployer.recentBonds({ limit: 20 });
273
- ```
274
-
275
- Returns: `RecentBondsResponse`
276
-
277
- ---
278
-
279
- ### Tool Directory — `client.tools`
280
-
281
- #### `client.tools.search(params?)`
282
-
283
- Search 950+ Solana tools indexed on MadeOnSol.
284
-
285
- ```ts
286
- const { tools, count } = await client.tools.search({
287
- q: "trading bot", // full-text search
288
- category: "trading", // category slug filter
289
- limit: 20, // 1–50, default 20
290
- });
291
- ```
292
-
293
- Returns: `ToolsSearchResponse`
294
-
295
- ---
296
-
297
- ### WebSocket Streaming — `client.stream`
298
-
299
- #### `client.stream.getToken()`
300
-
301
- Generate a 24-hour WebSocket streaming token. Pro/Ultra subscribers get `ws_url` for KOL/deployer event streaming. Ultra subscribers also get `dex_ws_url` for the all-DEX trade stream.
302
-
303
- ```ts
304
- const token = await client.stream.getToken();
305
- console.log(token.ws_url); // wss://madeonsol.com/ws/v1/stream
306
- console.log(token.dex_ws_url); // wss://madeonsol.com/ws/v1/dex-stream (Ultra only)
307
- ```
308
-
309
- Returns: `StreamToken` — `{ token, expires_at, ws_url, dex_ws_url?, usage }`
310
-
311
- **DEX Trade Stream (Ultra):** Connect to `dex_ws_url` and subscribe with filters:
312
-
313
- ```ts
314
- ws.send(JSON.stringify({
315
- type: "subscribe",
316
- filters: { program: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P", min_sol: 0.5 }
317
- }));
318
- // Filters: token_mint, token_mints (max 50), wallet, wallets (max 50), program, min_sol, max_sol, action
319
- ```
320
-
321
- ---
322
-
323
- ### Webhooks — `client.webhooks`
324
-
325
- Manage push notification webhooks for real-time events (Pro: 3, Ultra: 10).
326
-
327
- ```ts
328
- // Create a webhook
329
- const webhook = await client.webhooks.create({
330
- url: "https://example.com/hook",
331
- events: ["kol:trade", "deployer:alert"],
332
- filters: { min_sol: 1 },
333
- });
334
-
335
- // List, update, delete
336
- const { webhooks } = await client.webhooks.list();
337
- await client.webhooks.update(webhook.id, { status: "paused" });
338
- await client.webhooks.delete(webhook.id);
339
- await client.webhooks.test(webhook.id);
340
- ```
341
-
342
- ---
343
-
344
- ## Error handling
345
-
346
- All methods throw `MadeOnSolError` on non-2xx responses.
347
-
348
- ```ts
349
- import { MadeOnSol, MadeOnSolError } from "madeonsol";
350
-
351
- try {
352
- const profile = await client.kol.wallet("invalid-wallet");
353
- } catch (err) {
354
- if (err instanceof MadeOnSolError) {
355
- console.error(err.message); // human-readable message
356
- console.error(err.status); // HTTP status code, e.g. 404
357
- console.error(err.body); // raw response body
358
- }
359
- }
360
- ```
361
-
362
- ---
363
-
364
- ## Exported types
365
-
366
- All types are exported from the main entry point:
367
-
368
- ```ts
369
- import type {
370
- // Errors
371
- MadeOnSolError,
372
-
373
- // KOL
374
- KolTrade,
375
- KolFeedParams,
376
- KolFeedResponse,
377
- KolLeaderboardParams,
378
- KolLeaderboardResponse,
379
- KolLeaderboardEntry,
380
- KolWalletParams,
381
- KolWalletProfile,
382
- KolCoordinationParams,
383
- KolCoordinationResponse,
384
- CoordinatedToken,
385
- KolTokenActivity,
386
- KolPnlByToken,
387
-
388
- // Deployer
389
- DeployerStats,
390
- DeployerLeaderboardParams,
391
- DeployerLeaderboardResponse,
392
- DeployerLeaderboardEntry,
393
- DeployerProfile,
394
- DeployerToken,
395
- DeployerTokensParams,
396
- DeployerTokensResponse,
397
- DeployerAlertsParams,
398
- DeployerAlertsResponse,
399
- DeployerAlert,
400
- DeployerAlertStatsParams,
401
- DeployerAlertStats,
402
- BestTokensParams,
403
- BestTokensResponse,
404
- BestToken,
405
- RecentBondsParams,
406
- RecentBondsResponse,
407
- RecentBond,
408
-
409
- // Tools
410
- ToolsSearchParams,
411
- ToolsSearchResponse,
412
- Tool,
413
-
414
- // Streaming
415
- StreamToken,
416
-
417
- // Webhooks
418
- Webhook,
419
- WebhookCreateParams,
420
- WebhookUpdateParams,
421
- WebhookListResponse,
422
-
423
- // Enums / unions
424
- KolAction,
425
- LeaderboardPeriod,
426
- CoordinationPeriod,
427
- DeployerTier,
428
- DeployerSortField,
429
- AlertPeriod,
430
- BestTokensPeriod,
431
- } from "madeonsol";
432
- ```
433
-
434
- ---
435
-
436
- ## Related
437
-
438
- - [MadeOnSol website](https://madeonsol.com) — Browse 950+ Solana tools
439
- - [API documentation](https://madeonsol.com/solana-api) — Interactive endpoint reference
440
- - [RapidAPI listing](https://rapidapi.com/ClaudeTools/api/madeonsol-solana-kol-tracker-tools-api) — Subscribe and get your API key
441
- - [MadeOnSol on GitHub](https://github.com/LamboPoewert/madeonsol) — Main project repository
442
-
443
- ---
444
-
445
- ## License
446
-
447
- MIT © [MadeOnSol](https://madeonsol.com)
1
+ # madeonsol
2
+
3
+ [![npm version](https://img.shields.io/npm/v/madeonsol?style=flat-square)](https://www.npmjs.com/package/madeonsol)
4
+ [![npm downloads](https://img.shields.io/npm/dm/madeonsol?style=flat-square)](https://www.npmjs.com/package/madeonsol)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.4+-blue?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
6
+ [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-brightgreen?style=flat-square)](package.json)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](LICENSE)
8
+
9
+ Official TypeScript/JavaScript SDK for the **[MadeOnSol](https://madeonsol.com) Solana API** — zero dependencies, fully typed, works in Node.js ≥ 18 and edge runtimes.
10
+ n> Real-time Solana trading intelligence: track 1,000+ KOL wallets with <3s latency, score 6,700+ Pump.fun deployers by reputation, detect multi-KOL coordination signals, and stream every DEX trade. Free tier: 200 requests/day at [madeonsol.com/developer](https://madeonsol.com/developer) — no credit card required.
11
+
12
+ > **Build Solana trading bots, analytics dashboards, KOL copy-trading tools, deployer sniper bots, and ecosystem browsers.**
13
+
14
+ | Feature | Description |
15
+ |---|---|
16
+ | **KOL Tracker** | Real-time trade feed, PnL leaderboard, coordination detection, and per-wallet profiles for 946 tracked KOL wallets |
17
+ | **Deployer Hunter** | Pump.fun deployer scoring, tier leaderboard, deploy alerts, and bonding intelligence |
18
+ | **DEX Trade Stream** | Real-time WebSocket stream of ALL Solana DEX trades — filter by token, wallet, program, or trade size (Ultra) |
19
+ | **Webhooks** | Push notifications for KOL trades, coordination signals, and deployer alerts (Pro/Ultra) |
20
+ | **Tool Directory** | Search 950+ Solana tools and dApps indexed on MadeOnSol |
21
+
22
+ **Links:** [Full docs](https://madeonsol.com/solana-api) · [Website](https://madeonsol.com) · [RapidAPI listing](https://rapidapi.com/ClaudeTools/api/madeonsol-solana-kol-tracker-tools-api)
23
+
24
+ ## Authentication
25
+
26
+ | Method | Format | Best for |
27
+ |---|---|---|
28
+ | **MadeOnSol API key** (recommended) | `msk_...` | Developers [get a free key](https://madeonsol.com/developer) |
29
+ | RapidAPI key | Standard RapidAPI key | RapidAPI subscribers |
30
+
31
+ The SDK auto-detects the key type by the `msk_` prefix.
32
+
33
+ ---
34
+
35
+ ## Install
36
+
37
+ ```bash
38
+ npm install madeonsol
39
+ # or
40
+ yarn add madeonsol
41
+ # or
42
+ pnpm add madeonsol
43
+ ```
44
+
45
+ Requires **Node.js ≥ 18** (uses native `fetch`). Works out of the box in Cloudflare Workers, Vercel Edge, and Bun.
46
+
47
+ ---
48
+
49
+ ## Quick start
50
+
51
+ ```ts
52
+ import { MadeOnSol } from "madeonsol";
53
+
54
+ // With MadeOnSol API key (recommended get one free at madeonsol.com/developer)
55
+ const client = new MadeOnSol({ apiKey: "msk_your_api_key_here" });
56
+
57
+ // Or with RapidAPI key
58
+ // const client = new MadeOnSol({ apiKey: "your-rapidapi-key" });
59
+
60
+ // Latest KOL buy trades
61
+ const { trades } = await client.kol.feed({ limit: 10, action: "buy" });
62
+ console.log(trades[0].kol_name, "bought", trades[0].token_symbol);
63
+
64
+ // Elite deployer leaderboard
65
+ const { deployers } = await client.deployer.leaderboard({ tier: "elite" });
66
+
67
+ // Recent deploy alerts
68
+ const { alerts } = await client.deployer.alerts({ limit: 5 });
69
+
70
+ // Search Solana tools
71
+ const { tools } = await client.tools.search({ q: "trading", limit: 10 });
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Use cases
77
+
78
+ - **Copy-trading bot** — stream KOL buys via `client.kol.feed()` and mirror trades
79
+ - **DEX trade sniping** — subscribe to the all-DEX stream filtered by token or wallet
80
+ - **Deployer sniper** — monitor `client.deployer.alerts()` for elite-tier launches
81
+ - **Coordination detector** — flag tokens with `client.kol.coordination({ min_kols: 3 })`
82
+ - **Analytics dashboard** — combine leaderboard, PnL, and tool data
83
+ - **Telegram/Discord bot** — pipe alerts via webhooks into chat
84
+ - **Portfolio tracker** — use `client.kol.wallet()` to follow specific KOL positions
85
+
86
+ ---
87
+
88
+ ## API Reference
89
+
90
+ ### KOL Tracker — `client.kol`
91
+
92
+ #### `client.kol.feed(params?)`
93
+
94
+ Live feed of trades made by tracked KOL wallets.
95
+
96
+ ```ts
97
+ const { trades, count } = await client.kol.feed({
98
+ limit: 50, // 1–100, default 50
99
+ action: "buy", // "buy" | "sell"
100
+ kol: "7xKX...", // filter by specific wallet
101
+ });
102
+ ```
103
+
104
+ Returns: `KolFeedResponse` — `{ trades: KolTrade[], count: number }`
105
+
106
+ ---
107
+
108
+ #### `client.kol.leaderboard(params?)`
109
+
110
+ KOL PnL leaderboard ranked by realized profit.
111
+
112
+ ```ts
113
+ const { leaderboard, period } = await client.kol.leaderboard({
114
+ period: "7d", // "today" | "7d" | "30d", default "7d"
115
+ });
116
+ ```
117
+
118
+ Returns: `KolLeaderboardResponse`
119
+
120
+ ---
121
+
122
+ #### `client.kol.wallet(wallet, params?)`
123
+
124
+ Full profile for a single KOL wallet, including trade history and optional per-token PnL breakdown.
125
+
126
+ ```ts
127
+ const profile = await client.kol.wallet("7xKX...", {
128
+ include: "pnl_by_token",
129
+ });
130
+ ```
131
+
132
+ Returns: `KolWalletProfile`
133
+
134
+ ---
135
+
136
+ #### `client.kol.coordination(params?)`
137
+
138
+ Detect tokens where multiple KOLs are buying simultaneously — a strong signal of coordinated pumps.
139
+
140
+ ```ts
141
+ const { tokens } = await client.kol.coordination({
142
+ period: "24h", // "1h" | "6h" | "24h" | "7d", default "24h"
143
+ min_kols: 3, // 2–50, default 3
144
+ limit: 20, // 1–50, default 20
145
+ });
146
+ ```
147
+
148
+ Returns: `KolCoordinationResponse`
149
+
150
+ ---
151
+
152
+ #### `client.kol.token(mint)`
153
+
154
+ KOL buy/sell activity for a specific token mint.
155
+
156
+ ```ts
157
+ const activity = await client.kol.token("EPjFW...");
158
+ ```
159
+
160
+ Returns: `KolTokenActivity`
161
+
162
+ ---
163
+
164
+ ### Deployer Hunter — `client.deployer`
165
+
166
+ #### `client.deployer.stats()`
167
+
168
+ Global statistics across all tracked deployer wallets.
169
+
170
+ ```ts
171
+ const stats = await client.deployer.stats();
172
+ console.log(stats.overall_bonding_rate); // e.g. 0.043
173
+ ```
174
+
175
+ Returns: `DeployerStats`
176
+
177
+ ---
178
+
179
+ #### `client.deployer.leaderboard(params?)`
180
+
181
+ Deployers ranked by bonding rate or recent performance.
182
+
183
+ ```ts
184
+ const { deployers } = await client.deployer.leaderboard({
185
+ tier: "elite", // "elite" | "good" | "moderate" | "rising" | "cold"
186
+ sort: "bonding_rate", // "bonding_rate" | "recent_bond_rate" | "total_bonded" | "last_deploy_at"
187
+ limit: 20, // 1–50, default 20
188
+ offset: 0,
189
+ });
190
+ ```
191
+
192
+ Returns: `DeployerLeaderboardResponse`
193
+
194
+ ---
195
+
196
+ #### `client.deployer.profile(wallet)`
197
+
198
+ Full profile for a single deployer wallet.
199
+
200
+ ```ts
201
+ const deployer = await client.deployer.profile("3xAB...");
202
+ console.log(deployer.tier, deployer.bonding_rate);
203
+ ```
204
+
205
+ Returns: `DeployerProfile`
206
+
207
+ ---
208
+
209
+ #### `client.deployer.tokens(wallet, params?)`
210
+
211
+ All tokens deployed by a specific wallet.
212
+
213
+ ```ts
214
+ const { tokens } = await client.deployer.tokens("3xAB...", {
215
+ limit: 20,
216
+ offset: 0,
217
+ });
218
+ ```
219
+
220
+ Returns: `DeployerTokensResponse`
221
+
222
+ ---
223
+
224
+ #### `client.deployer.alerts(params?)`
225
+
226
+ Real-time deploy alerts — fired when a tracked deployer launches a new token.
227
+
228
+ ```ts
229
+ const { alerts } = await client.deployer.alerts({
230
+ since: "2025-01-01T00:00:00Z", // ISO 8601
231
+ limit: 20,
232
+ offset: 0,
233
+ });
234
+ ```
235
+
236
+ Returns: `DeployerAlertsResponse`
237
+
238
+ ---
239
+
240
+ #### `client.deployer.alertStats(params?)`
241
+
242
+ Aggregated alert statistics by tier.
243
+
244
+ ```ts
245
+ const stats = await client.deployer.alertStats({ period: "7d" });
246
+ // "7d" | "30d" | "all", default "all"
247
+ ```
248
+
249
+ Returns: `DeployerAlertStats`
250
+
251
+ ---
252
+
253
+ #### `client.deployer.bestTokens(params?)`
254
+
255
+ Top-performing tokens from tracked deployers by peak market cap.
256
+
257
+ ```ts
258
+ const { tokens } = await client.deployer.bestTokens({
259
+ period: "7d", // "7d" | "30d" | "all", default "7d"
260
+ limit: 5, // 1–20, default 5
261
+ });
262
+ ```
263
+
264
+ Returns: `BestTokensResponse`
265
+
266
+ ---
267
+
268
+ #### `client.deployer.recentBonds(params?)`
269
+
270
+ Most recently bonded tokens from tracked deployers.
271
+
272
+ ```ts
273
+ const { bonds } = await client.deployer.recentBonds({ limit: 20 });
274
+ ```
275
+
276
+ Returns: `RecentBondsResponse`
277
+
278
+ ---
279
+
280
+ ### Tool Directory — `client.tools`
281
+
282
+ #### `client.tools.search(params?)`
283
+
284
+ Search 950+ Solana tools indexed on MadeOnSol.
285
+
286
+ ```ts
287
+ const { tools, count } = await client.tools.search({
288
+ q: "trading bot", // full-text search
289
+ category: "trading", // category slug filter
290
+ limit: 20, // 1–50, default 20
291
+ });
292
+ ```
293
+
294
+ Returns: `ToolsSearchResponse`
295
+
296
+ ---
297
+
298
+ ### WebSocket Streaming — `client.stream`
299
+
300
+ #### `client.stream.getToken()`
301
+
302
+ Generate a 24-hour WebSocket streaming token. Pro/Ultra subscribers get `ws_url` for KOL/deployer event streaming. Ultra subscribers also get `dex_ws_url` for the all-DEX trade stream.
303
+
304
+ ```ts
305
+ const token = await client.stream.getToken();
306
+ console.log(token.ws_url); // wss://madeonsol.com/ws/v1/stream
307
+ console.log(token.dex_ws_url); // wss://madeonsol.com/ws/v1/dex-stream (Ultra only)
308
+ ```
309
+
310
+ Returns: `StreamToken` — `{ token, expires_at, ws_url, dex_ws_url?, usage }`
311
+
312
+ **DEX Trade Stream (Ultra):** Connect to `dex_ws_url` and subscribe with filters:
313
+
314
+ ```ts
315
+ ws.send(JSON.stringify({
316
+ type: "subscribe",
317
+ filters: { program: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P", min_sol: 0.5 }
318
+ }));
319
+ // Filters: token_mint, token_mints (max 50), wallet, wallets (max 50), program, min_sol, max_sol, action
320
+ ```
321
+
322
+ ---
323
+
324
+ ### Webhooks — `client.webhooks`
325
+
326
+ Manage push notification webhooks for real-time events (Pro: 3, Ultra: 10).
327
+
328
+ ```ts
329
+ // Create a webhook
330
+ const webhook = await client.webhooks.create({
331
+ url: "https://example.com/hook",
332
+ events: ["kol:trade", "deployer:alert"],
333
+ filters: { min_sol: 1 },
334
+ });
335
+
336
+ // List, update, delete
337
+ const { webhooks } = await client.webhooks.list();
338
+ await client.webhooks.update(webhook.id, { status: "paused" });
339
+ await client.webhooks.delete(webhook.id);
340
+ await client.webhooks.test(webhook.id);
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Error handling
346
+
347
+ All methods throw `MadeOnSolError` on non-2xx responses.
348
+
349
+ ```ts
350
+ import { MadeOnSol, MadeOnSolError } from "madeonsol";
351
+
352
+ try {
353
+ const profile = await client.kol.wallet("invalid-wallet");
354
+ } catch (err) {
355
+ if (err instanceof MadeOnSolError) {
356
+ console.error(err.message); // human-readable message
357
+ console.error(err.status); // HTTP status code, e.g. 404
358
+ console.error(err.body); // raw response body
359
+ }
360
+ }
361
+ ```
362
+
363
+ ---
364
+
365
+ ## Exported types
366
+
367
+ All types are exported from the main entry point:
368
+
369
+ ```ts
370
+ import type {
371
+ // Errors
372
+ MadeOnSolError,
373
+
374
+ // KOL
375
+ KolTrade,
376
+ KolFeedParams,
377
+ KolFeedResponse,
378
+ KolLeaderboardParams,
379
+ KolLeaderboardResponse,
380
+ KolLeaderboardEntry,
381
+ KolWalletParams,
382
+ KolWalletProfile,
383
+ KolCoordinationParams,
384
+ KolCoordinationResponse,
385
+ CoordinatedToken,
386
+ KolTokenActivity,
387
+ KolPnlByToken,
388
+
389
+ // Deployer
390
+ DeployerStats,
391
+ DeployerLeaderboardParams,
392
+ DeployerLeaderboardResponse,
393
+ DeployerLeaderboardEntry,
394
+ DeployerProfile,
395
+ DeployerToken,
396
+ DeployerTokensParams,
397
+ DeployerTokensResponse,
398
+ DeployerAlertsParams,
399
+ DeployerAlertsResponse,
400
+ DeployerAlert,
401
+ DeployerAlertStatsParams,
402
+ DeployerAlertStats,
403
+ BestTokensParams,
404
+ BestTokensResponse,
405
+ BestToken,
406
+ RecentBondsParams,
407
+ RecentBondsResponse,
408
+ RecentBond,
409
+
410
+ // Tools
411
+ ToolsSearchParams,
412
+ ToolsSearchResponse,
413
+ Tool,
414
+
415
+ // Streaming
416
+ StreamToken,
417
+
418
+ // Webhooks
419
+ Webhook,
420
+ WebhookCreateParams,
421
+ WebhookUpdateParams,
422
+ WebhookListResponse,
423
+
424
+ // Enums / unions
425
+ KolAction,
426
+ LeaderboardPeriod,
427
+ CoordinationPeriod,
428
+ DeployerTier,
429
+ DeployerSortField,
430
+ AlertPeriod,
431
+ BestTokensPeriod,
432
+ } from "madeonsol";
433
+ ```
434
+
435
+ ---
436
+
437
+ ## Related
438
+
439
+ - [MadeOnSol website](https://madeonsol.com) — Browse 950+ Solana tools
440
+ - [API documentation](https://madeonsol.com/solana-api) — Interactive endpoint reference
441
+ - [RapidAPI listing](https://rapidapi.com/ClaudeTools/api/madeonsol-solana-kol-tracker-tools-api) — Subscribe and get your API key
442
+ - [MadeOnSol on GitHub](https://github.com/LamboPoewert/madeonsol) — Main project repository
443
+
444
+ ---
445
+
446
+ ## License
447
+
448
+ MIT © [MadeOnSol](https://madeonsol.com)