madeonsol 2.2.0 → 2.2.1

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.
Files changed (2) hide show
  1. package/README.md +50 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -84,6 +84,7 @@ const { tools } = await client.tools.search({ q: "trading", limit: 10 });
84
84
  - **DEX trade sniping** — subscribe to the all-DEX stream filtered by token or wallet
85
85
  - **Deployer sniper** — monitor `client.deployer.alerts()` for elite-tier launches
86
86
  - **Coordination detector** — flag tokens with `client.kol.coordination({ min_kols: 3 })`
87
+ - **Scout signal** — track first-KOL-touch events filtered to S/A-tier scouts via `client.kol.firstTouches({ preset: "scout" })`
87
88
  - **Analytics dashboard** — combine leaderboard, PnL, and tool data
88
89
  - **Telegram/Discord bot** — pipe alerts via webhooks into chat
89
90
  - **Portfolio tracker** — use `client.kol.wallet()` to follow specific KOL positions
@@ -195,6 +196,55 @@ WebSocket delivery: subscribe to channel `kol:coordination` on `wss://madeonsol.
195
196
 
196
197
  ---
197
198
 
199
+ #### `client.kol.firstTouches(params?)` *(new in 2.2)*
200
+
201
+ Recent first-KOL-touch events on tokens — every time a tracked KOL was the first to buy a given mint. Filterable by **scout tier** (S/A/B/C from the per-KOL `mv_kol_scout_score` view), KOL winrate, token age, mint suffix, etc.
202
+
203
+ **Backtested signal:** top scouts attract ≥3 follow-on KOLs within 4h ~50% of the time vs ~14% baseline (38d / 491k buys / 72,549 events). The full leaderboard is at [madeonsol.com/kol/scouts](https://madeonsol.com/kol/scouts).
204
+
205
+ ```ts
206
+ // S-tier scouts on tokens younger than 1h
207
+ const { events } = await client.kol.firstTouches({
208
+ preset: "scout",
209
+ min_scout_tier: "S",
210
+ limit: 20,
211
+ });
212
+
213
+ for (const e of events) {
214
+ console.log(e.first_kol.name, "scouted", e.token_symbol, `(scout_score=${e.first_kol.scout_score}%)`);
215
+ }
216
+ ```
217
+
218
+ Filter knobs: `since`, `before`, `limit`, `kol`, `min_kol_winrate_7d`, `min_scout_tier`, `min_n_touches`, `strategy`, `token_age_max_min`, `min_first_buy_sol`, `mint_suffix`, `preset` (`"scout"` or `"fresh_launch"`), `include` (e.g. `"followers_4h"`).
219
+
220
+ > **Don't poll — push.** Median lead time before the second KOL is **12 seconds**, so REST polling will lose the swarm. Subscribe to the `kol:first_touches` WebSocket channel (PRO+) or, on Ultra, create an HMAC-signed webhook subscription via `client.firstTouchSubscriptions.create({...})`.
221
+
222
+ Returns: `FirstTouchesResponse`
223
+
224
+ ---
225
+
226
+ #### `client.firstTouchSubscriptions.*` *(Ultra)*
227
+
228
+ Create push-delivery rules for first-touch events. Up to 10 active subscriptions per Ultra user.
229
+
230
+ ```ts
231
+ const { subscription, webhook_secret } = await client.firstTouchSubscriptions.create({
232
+ name: "S-tier scouts on pump tokens",
233
+ filters: { min_scout_tier: "S", mint_suffix: "pump" },
234
+ delivery_mode: "webhook",
235
+ webhook_url: "https://my.bot/hooks/scout",
236
+ });
237
+ // store webhook_secret — shown once
238
+
239
+ await client.firstTouchSubscriptions.list();
240
+ await client.firstTouchSubscriptions.update(subscription.id, { is_active: false });
241
+ await client.firstTouchSubscriptions.delete(subscription.id);
242
+ ```
243
+
244
+ Same HMAC scheme as coordination alerts. WebSocket channel: `kol:first_touches`.
245
+
246
+ ---
247
+
198
248
  #### `client.kol.token(mint)`
199
249
 
200
250
  KOL buy/sell activity for a specific token mint.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "madeonsol",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Official SDK for the MadeOnSol Solana API — KOL wallet tracking, Pump.fun deployer intelligence, and tool directory",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",