madeonsol 2.17.0 → 2.18.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/llms.txt CHANGED
@@ -1,101 +1,102 @@
1
- # MadeOnSol SDK
2
-
3
- > Official TypeScript/JavaScript SDK for the MadeOnSol Solana API
4
-
5
- ## What is MadeOnSol?
6
-
7
- MadeOnSol (https://madeonsol.com) is the largest Solana ecosystem tool directory with 950+ indexed tools and dApps. The API provides programmatic access to:
8
-
9
- - **KOL Tracker**: Real-time trade feed for 946 tracked Solana KOL (Key Opinion Leader) wallets, PnL leaderboards, coordination detection, and per-wallet profiles.
10
- - **Deployer Hunter**: Pump.fun deployer wallet scoring, tier-based leaderboards, deploy alerts, and bonding curve intelligence.
11
- - **DEX Trade Stream**: Real-time WebSocket stream of ALL Solana DEX trades across 9 programs (Ultra only). Filter by token, wallet, program, trade size, or direction.
12
- - **Wallet Tracker**: Track up to 100 Solana wallets for real-time swap and transfer events. Webhooks + WebSocket (ULTRA) delivery.
13
- - **Webhooks**: Push notifications for KOL trades, deployer alerts, coordination signals, and wallet tracker events (Pro/Ultra).
14
- - **Tool Directory**: Search and browse 950+ Solana tools and dApps.
15
-
16
- ## Installation
17
-
18
- ```
19
- npm install madeonsol
20
- ```
21
-
22
- ## Authentication
23
-
24
- Get a free API key at: https://madeonsol.com/pricing
25
-
26
- ```typescript
27
- import { MadeOnSol } from "madeonsol";
28
- const client = new MadeOnSol({ apiKey: "msk_your_api_key_here" });
29
- ```
30
-
31
- ## Available Methods
32
-
33
- ### KOL Tracker (client.kol)
34
- - `client.kol.feed(params?)` - Live KOL trade feed (buy/sell, filter by wallet)
35
- - `client.kol.leaderboard(params?)` - PnL leaderboard (today, 7d, 30d, 90d, 180d). Per-entry: `median_hold_minutes_30d`, `percentile_early_entry_30d`.
36
- - `client.kol.wallet(wallet, params?)` - Single KOL wallet profile + PnL breakdown
37
- - `client.kol.coordination(params?)` - Detect coordinated KOL buying (pump signals)
38
- - `client.kol.token(mint)` - KOL activity for a specific token
39
- - `client.kol.pnl(wallet, params?)` - Deep per-wallet PnL: equity curve, profit factor, drawdown, positions (7d/30d/90d/180d)
40
- - `client.kol.trendingTokens(params?)` - Tokens ranked by KOL buy volume (5m–12h windows)
41
- - `client.kol.pairs(params?)` - KOL affinity pairs — which KOLs co-trade the same tokens
42
- - `client.kol.timing(wallet, params?)` - Entry/exit timing profile (hold duration, activity hours)
43
- - `client.kol.hotTokens(params?)` - Tokens with accelerating KOL buy interest
44
-
45
- ### Deployer Hunter (client.deployer)
46
- - `client.deployer.stats()` - Global deployer statistics
47
- - `client.deployer.leaderboard(params?)` - Deployers ranked by bonding rate
48
- - `client.deployer.profile(wallet)` - Single deployer profile
49
- - `client.deployer.tokens(wallet, params?)` - Tokens deployed by a wallet
50
- - `client.deployer.alerts(params?)` - Real-time deploy alerts
51
- - `client.deployer.alertStats(params?)` - Alert statistics by tier
52
- - `client.deployer.bestTokens(params?)` - Top tokens by peak market cap
53
- - `client.deployer.recentBonds(params?)` - Recently bonded tokens
54
-
55
- ### Token Intelligence (client.token)
56
- - `client.token.get(mint)` - Per-mint snapshot: price, MC, volume, deployer rep, KOL activity, blacklist flags, velocity windows (5m/15m/1h/2h/4h with mc_change_pct + volume_usd + mev_volume_pct), is_blacklisted, history_age_seconds, `liquidity_to_mc_ratio` (liquidity_usd ÷ market_cap depth gauge), `launch_cohort_sol` (total SOL from first-20 buyers), `launch_cohort_size` (0–20). Invalid mints return structured 400 with code/reason/example/docs.
57
- - `client.token.batch(mints)` - Batch lookup up to 50 mints (same shape as get(), 10-20x cheaper). Includes `liquidity_to_mc_ratio`, `launch_cohort_sol`, `launch_cohort_size`.
58
- - `client.token.list(params?)` - **v1.7 / PRO+** filtered token directory. Server-side filters: min_mc, max_mc, min_liq (default 2000), active_h, primary_dex, authority_revoked, exclude_token2022, min_lp_burnt_pct. Computed post-filters (over-fetches 3x): min_volume_1h_usd, max_mev_share_pct, mc_change_1h_min_pct, mc_change_1h_max_pct, `min_liq_mc_ratio`, `max_liq_mc_ratio`, `deployer_tier` (elite|good|moderate|rising|cold|unranked). Sort: mc_desc/mc_asc/last_trade_desc/liquidity_desc/cumulative_volume_desc. Returns tokens[] with mev_share_pct + organic_volume_1h_usd + mc_change_1h_pct + `liquidity_to_mc_ratio` + `deployer_tier`.
59
- - `client.token.batchBuyerQuality(mints)` - Batch buyer-quality scoring (shares LRU cache with alpha.buyerQuality)
60
- - `client.token.batchRisk(mints)` - **v2.17 / PRO+** Batch token risk scoring for up to 50 mints in one request (counts as 1 against quota). Each item is the same shape as `alpha.risk(mint)` (band/factors/inputs/score_version/as_of). Untracked mints return `{ mint, error: "not_tracked" }` without failing the batch. Returns `{ tokens, count }` in de-duplicated input order.
61
- - `client.alpha.risk(mint)` - **v2.13 / PRO+** Transparent 0–100 token rug-risk score (higher = riskier). Returns `band` (safe/caution/danger), explainable `factors[]` (key/label/status/points/detail), and raw `inputs` (mint_authority_revoked, freeze_authority_revoked, liquidity_usd, liquidity_to_mc_ratio, transfer_fee_bps, is_token_2022, burn_detected, launch_cohort_sol, launch_cohort_size, deployer_bonding_rate, deployer_total_deployed, kol_signal, is_blacklisted), plus `score_version` + `as_of`.
62
-
63
- ### Account (client.me) — all tiers
64
- - `client.me()` - **v1.7** Self-inspect quota and feature usage. Returns tier, subscription block (status, billing_cycle, current_period_end), quota.daily (limit/used/remaining/resets_at), quota.burst (limit/used/remaining/window_seconds), and features (webhooks, copytrade_wallets, copytrade_rules, coordination_rules, first_touch_subscriptions, ws_connections, dex_connections, wallet_tracker_watchlist). Use for self-throttling without parsing rate-limit headers.
65
-
66
- ### Signal Performance
67
- - `client.getSignalPerformance(name)` - Signal performance stats for a named signal (e.g. `'dump_cluster_count'`, `'runner_rate'`): hit rate by bucket, lift over base, sample size, confidence window. Use to weight signals programmatically.
68
-
69
- ### Tool Directory (client.tools)
70
- - `client.tools.search(params?)` - Search 950+ Solana tools (full-text + category filter)
71
-
72
- ### WebSocket Streaming (client.stream) — Pro/Ultra
73
- - `client.stream.getToken()` - Get 24h WebSocket token. Returns ws_url (KOL/deployer events) and dex_ws_url (all-DEX trades, Ultra only)
74
- - `client.stream.sessions()` - **v2.17 / PRO+** List your live WebSocket sessions across ws-streaming + dex-stream. Each: id, service, tier, channels[], connected_at, remote_ip, messages_sent. Returns `{ sessions, count }`.
75
- - `client.stream.deleteSession(id)` - **v2.17 / PRO+** Force-close (evict) a live session by id to free a connection slot held by a ghost socket. Returns `{ evicted: true, id }`; 404 if no live session with that id, 400 if id is not a positive integer.
76
-
77
- ### Wallet Tracker (client.walletTracker)
78
- - `client.walletTracker.watchlist()` - List tracked wallets with labels and remaining capacity (BASIC: 10, PRO: 50, ULTRA: 100)
79
- - `client.walletTracker.addToWatchlist(params)` - Add a wallet (wallet_address, label?). Returns 409 if already tracked or limit reached.
80
- - `client.walletTracker.removeFromWatchlist(address)` - Remove a wallet
81
- - `client.walletTracker.updateLabel(address, params)` - Update a wallet's label (label: string | null)
82
- - `client.walletTracker.trades(params?)` - Historical swap/transfer events (wallet, action, event_type, limit max 200, before cursor)
83
- - `client.walletTracker.summary(params?)` - Per-wallet stats: swap counts, SOL bought/sold, last activity (period: 24h/7d/30d)
84
-
85
- ### Webhooks (client.webhooks) — Pro/Ultra
86
- - `client.webhooks.list()` - List all webhooks
87
- - `client.webhooks.create(params)` - Create webhook (url, events, filters)
88
- - `client.webhooks.update(id, params)` - Update webhook
89
- - `client.webhooks.delete(id)` - Delete webhook
90
- - `client.webhooks.test(id)` - Send test payload
91
-
92
- ## Error Handling
93
-
94
- All methods throw `MadeOnSolError` with `.message`, `.status`, and `.body` properties.
95
-
96
- ## Links
97
-
98
- - Documentation: https://madeonsol.com/api-docs
99
- - Website: https://madeonsol.com
100
- - GitHub: https://github.com/LamboPoewert/madeonsol-sdk
101
- - npm: https://www.npmjs.com/package/madeonsol
1
+ # MadeOnSol SDK
2
+
3
+ > Official TypeScript/JavaScript SDK for the MadeOnSol Solana API
4
+
5
+ ## What is MadeOnSol?
6
+
7
+ MadeOnSol (https://madeonsol.com) is the largest Solana ecosystem tool directory with 950+ indexed tools and dApps. The API provides programmatic access to:
8
+
9
+ - **KOL Tracker**: Real-time trade feed for 946 tracked Solana KOL (Key Opinion Leader) wallets, PnL leaderboards, coordination detection, and per-wallet profiles.
10
+ - **Deployer Hunter**: Pump.fun deployer wallet scoring, tier-based leaderboards, deploy alerts, and bonding curve intelligence.
11
+ - **DEX Trade Stream**: Real-time WebSocket stream of ALL Solana DEX trades across 9 programs (Ultra only). Filter by token, wallet, program, trade size, or direction.
12
+ - **Wallet Tracker**: Track up to 100 Solana wallets for real-time swap and transfer events. Webhooks + WebSocket (ULTRA) delivery.
13
+ - **Webhooks**: Push notifications for KOL trades, deployer alerts, coordination signals, and wallet tracker events (Pro/Ultra).
14
+ - **Tool Directory**: Search and browse 950+ Solana tools and dApps.
15
+
16
+ ## Installation
17
+
18
+ ```
19
+ npm install madeonsol
20
+ ```
21
+
22
+ ## Authentication
23
+
24
+ Get a free API key at: https://madeonsol.com/pricing
25
+
26
+ ```typescript
27
+ import { MadeOnSol } from "madeonsol";
28
+ const client = new MadeOnSol({ apiKey: "msk_your_api_key_here" });
29
+ ```
30
+
31
+ ## Available Methods
32
+
33
+ ### KOL Tracker (client.kol)
34
+ - `client.kol.feed(params?)` - Live KOL trade feed (buy/sell, filter by wallet)
35
+ - `client.kol.leaderboard(params?)` - PnL leaderboard (today, 7d, 30d, 90d, 180d). Per-entry: `median_hold_minutes_30d`, `percentile_early_entry_30d`.
36
+ - `client.kol.wallet(wallet, params?)` - Single KOL wallet profile + PnL breakdown
37
+ - `client.kol.coordination(params?)` - Detect coordinated KOL buying (pump signals)
38
+ - `client.kol.token(mint)` - KOL activity for a specific token
39
+ - `client.kol.pnl(wallet, params?)` - Deep per-wallet PnL: equity curve, profit factor, drawdown, positions (7d/30d/90d/180d)
40
+ - `client.kol.trendingTokens(params?)` - Tokens ranked by KOL buy volume (5m–12h windows)
41
+ - `client.kol.pairs(params?)` - KOL affinity pairs — which KOLs co-trade the same tokens
42
+ - `client.kol.timing(wallet, params?)` - Entry/exit timing profile (hold duration, activity hours)
43
+ - `client.kol.hotTokens(params?)` - Tokens with accelerating KOL buy interest
44
+
45
+ ### Deployer Hunter (client.deployer)
46
+ - `client.deployer.stats()` - Global deployer statistics
47
+ - `client.deployer.leaderboard(params?)` - Deployers ranked by bonding rate
48
+ - `client.deployer.profile(wallet)` - Single deployer profile
49
+ - `client.deployer.tokens(wallet, params?)` - Tokens deployed by a wallet
50
+ - `client.deployer.alerts(params?)` - Real-time deploy alerts
51
+ - `client.deployer.alertStats(params?)` - Alert statistics by tier
52
+ - `client.deployer.bestTokens(params?)` - Top tokens by peak market cap
53
+ - `client.deployer.recentBonds(params?)` - Recently bonded tokens
54
+
55
+ ### Token Intelligence (client.token)
56
+ - `client.token.get(mint)` - Per-mint snapshot: price, MC, volume, deployer rep, KOL activity, blacklist flags, velocity windows (5m/15m/1h/2h/4h with mc_change_pct + volume_usd + mev_volume_pct), is_blacklisted, history_age_seconds, `liquidity_to_mc_ratio` (liquidity_usd ÷ market_cap depth gauge), `launch_cohort_sol` (total SOL from first-20 buyers), `launch_cohort_size` (0–20). Invalid mints return structured 400 with code/reason/example/docs.
57
+ - `client.token.batch(mints)` - Batch lookup up to 50 mints (same shape as get(), 10-20x cheaper). Includes `liquidity_to_mc_ratio`, `launch_cohort_sol`, `launch_cohort_size`.
58
+ - `client.token.list(params?)` - **v1.7 / PRO+** filtered token directory. Server-side filters: min_mc, max_mc, min_liq (default 2000), active_h, primary_dex, authority_revoked, exclude_token2022, min_lp_burnt_pct. Computed post-filters (over-fetches 3x): min_volume_1h_usd, max_mev_share_pct, mc_change_1h_min_pct, mc_change_1h_max_pct, `min_liq_mc_ratio`, `max_liq_mc_ratio`, `deployer_tier` (elite|good|moderate|rising|cold|unranked). Sort: mc_desc/mc_asc/last_trade_desc/liquidity_desc/cumulative_volume_desc. Returns tokens[] with mev_share_pct + organic_volume_1h_usd + mc_change_1h_pct + `liquidity_to_mc_ratio` + `deployer_tier`.
59
+ - `client.token.batchBuyerQuality(mints)` - Batch buyer-quality scoring (shares LRU cache with alpha.buyerQuality)
60
+ - `client.token.batchRisk(mints)` - **v2.17 / PRO+** Batch token risk scoring for up to 50 mints in one request (counts as 1 against quota). Each item is the same shape as `alpha.risk(mint)` (band/factors/inputs/score_version/as_of). Untracked mints return `{ mint, error: "not_tracked" }` without failing the batch. Returns `{ tokens, count }` in de-duplicated input order.
61
+ - `client.alpha.risk(mint)` - **v2.13 / PRO+** Transparent 0–100 token rug-risk score (higher = riskier). Returns `band` (safe/caution/danger), explainable `factors[]` (key/label/status/points/detail), and raw `inputs` (mint_authority_revoked, freeze_authority_revoked, liquidity_usd, liquidity_to_mc_ratio, transfer_fee_bps, is_token_2022, burn_detected, launch_cohort_sol, launch_cohort_size, deployer_bonding_rate, deployer_total_deployed, kol_signal, is_blacklisted), plus `score_version` + `as_of`.
62
+ - `client.alpha.bundle(mint)` - **v2.18** `GET /tokens/{mint}/bundle`. Bundle-cohort holdings — wallets that bought together (atomic tx or same slot) and how much of supply they still hold. `bundle` summary (all tiers): `held_pct_of_supply` (0–1 of supply, HEADLINE), `bundle_kind` (atomic_tx/same_slot/none), `wallet_count`, `held_ratio`, `fully_exited`, `buy_volume`, `tokens_held`. Tier-gated `wallets[]`: BASIC/TRADER → `[]`; PRO → top-10 flags (rank/wallet/held_ratio/has_sold/atomic/is_kol); ULTRA → full cohort + identity (kol_name/win_rate/bot_confidence) + per-wallet tokens_held.
63
+
64
+ ### Account (client.me) all tiers
65
+ - `client.me()` - **v1.7** Self-inspect quota and feature usage. Returns tier, subscription block (status, billing_cycle, current_period_end), quota.daily (limit/used/remaining/resets_at), quota.burst (limit/used/remaining/window_seconds), and features (webhooks, copytrade_wallets, copytrade_rules, coordination_rules, first_touch_subscriptions, ws_connections, dex_connections, wallet_tracker_watchlist). Use for self-throttling without parsing rate-limit headers.
66
+
67
+ ### Signal Performance
68
+ - `client.getSignalPerformance(name)` - Signal performance stats for a named signal (e.g. `'dump_cluster_count'`, `'runner_rate'`): hit rate by bucket, lift over base, sample size, confidence window. Use to weight signals programmatically.
69
+
70
+ ### Tool Directory (client.tools)
71
+ - `client.tools.search(params?)` - Search 950+ Solana tools (full-text + category filter)
72
+
73
+ ### WebSocket Streaming (client.stream) Pro/Ultra
74
+ - `client.stream.getToken()` - Get 24h WebSocket token. Returns ws_url (KOL/deployer events) and dex_ws_url (all-DEX trades, Ultra only)
75
+ - `client.stream.sessions()` - **v2.17 / PRO+** List your live WebSocket sessions across ws-streaming + dex-stream. Each: id, service, tier, channels[], connected_at, remote_ip, messages_sent. Returns `{ sessions, count }`.
76
+ - `client.stream.deleteSession(id)` - **v2.17 / PRO+** Force-close (evict) a live session by id to free a connection slot held by a ghost socket. Returns `{ evicted: true, id }`; 404 if no live session with that id, 400 if id is not a positive integer.
77
+
78
+ ### Wallet Tracker (client.walletTracker)
79
+ - `client.walletTracker.watchlist()` - List tracked wallets with labels and remaining capacity (BASIC: 10, PRO: 50, ULTRA: 100)
80
+ - `client.walletTracker.addToWatchlist(params)` - Add a wallet (wallet_address, label?). Returns 409 if already tracked or limit reached.
81
+ - `client.walletTracker.removeFromWatchlist(address)` - Remove a wallet
82
+ - `client.walletTracker.updateLabel(address, params)` - Update a wallet's label (label: string | null)
83
+ - `client.walletTracker.trades(params?)` - Historical swap/transfer events (wallet, action, event_type, limit max 200, before cursor)
84
+ - `client.walletTracker.summary(params?)` - Per-wallet stats: swap counts, SOL bought/sold, last activity (period: 24h/7d/30d)
85
+
86
+ ### Webhooks (client.webhooks) Pro/Ultra
87
+ - `client.webhooks.list()` - List all webhooks
88
+ - `client.webhooks.create(params)` - Create webhook (url, events, filters)
89
+ - `client.webhooks.update(id, params)` - Update webhook
90
+ - `client.webhooks.delete(id)` - Delete webhook
91
+ - `client.webhooks.test(id)` - Send test payload
92
+
93
+ ## Error Handling
94
+
95
+ All methods throw `MadeOnSolError` with `.message`, `.status`, and `.body` properties.
96
+
97
+ ## Links
98
+
99
+ - Documentation: https://madeonsol.com/api-docs
100
+ - Website: https://madeonsol.com
101
+ - GitHub: https://github.com/madeonsol/madeonsol-sdk
102
+ - npm: https://www.npmjs.com/package/madeonsol
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "madeonsol",
3
- "version": "2.17.0",
3
+ "version": "2.18.0",
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",
@@ -55,11 +55,11 @@
55
55
  "license": "MIT",
56
56
  "repository": {
57
57
  "type": "git",
58
- "url": "https://github.com/LamboPoewert/madeonsol-sdk.git"
58
+ "url": "https://github.com/madeonsol/madeonsol-sdk.git"
59
59
  },
60
60
  "homepage": "https://madeonsol.com/solana-api",
61
61
  "bugs": {
62
- "url": "https://github.com/LamboPoewert/madeonsol-sdk/issues"
62
+ "url": "https://github.com/madeonsol/madeonsol-sdk/issues"
63
63
  },
64
64
  "engines": {
65
65
  "node": ">=18"