solenrich
Solana onchain intelligence for AI agents: wallet risk, due-diligence, perps funding, smart money.
Should I use this
Quality & Safety
Findings (2)
- LOWin token_trend
- LOWin perps_cross_venue_funding
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"solenrich": {
"url": "https://api.solenrich.com/mcp"
}
}
}Remote endpoints
https://api.solenrich.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (46)
🟢enrich_wallet(address, depth)
Get a Solana wallet profile: SOL balance, token holdings, DeFi positions, labels (whale, active_trader, defi_user), risk score, and risk level.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address (base58, 32-44 chars)"
},
"depth": {
"default": "light",
"description": "light = basic profile, full = includes DeFi positions and connected wallets",
"type": "string",
"enum": [
"light",
"full"
]
}
},
"required": [
"address"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢enrich_token(mint, include_holders)
Analyze a Solana SPL token: price, market cap, liquidity, holder concentration (top 1/5/10%), slippage estimates at 4 position sizes ($100/$1K/$10K/$100K), risk flags, and Jupiter verification.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "Token mint address (base58)"
},
"include_holders": {
"default": false,
"description": "Include top 20 holders with balances and % supply",
"type": "boolean"
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢parse_transaction(signature)
Parse a Solana transaction: type, protocol, SOL/token transfers, accounts involved, and fee details.
Input Schema
{
"type": "object",
"properties": {
"signature": {
"type": "string",
"description": "Transaction signature (base58, 87-88 chars)"
}
},
"required": [
"signature"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪whale_watch(mint, threshold_usd, lookback_hours)
Track top token holders: balances, % supply, buy/sell volumes, accumulation vs distribution signals.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "Token mint address (base58)"
},
"threshold_usd": {
"default": 10000,
"description": "Minimum USD value to qualify as whale activity",
"type": "number"
},
"lookback_hours": {
"default": 24,
"description": "How many hours to look back (1-168)",
"type": "number"
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪due_diligence(mint)
Comprehensive token research: security audit, holder concentration, whale activity, risk score with level (LOW-CRITICAL), and SAFE/CAUTION/RISKY verdict.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "Token mint address (base58)"
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢wallet_graph(address, depth)
Map wallet connections: find counterparties, detect clusters of coordinated wallets, and identify suspicious patterns.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address (base58)"
},
"depth": {
"default": 1,
"description": "Hop depth (1 or 2)",
"type": "number"
}
},
"required": [
"address"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢copy_trade_signals(address, lookback_days)
Analyze a wallet's trading performance: win rate, PnL, consistency, hold time, and smart_money classification.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address (base58)"
},
"lookback_days": {
"default": 30,
"description": "Days to analyze (1-90)",
"type": "number"
}
},
"required": [
"address"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪batch_enrich(addresses, type, depth)
Enrich multiple wallets or tokens in a single call (1-25). Returns parallel results.
Input Schema
{
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of Solana addresses (1-25)"
},
"type": {
"type": "string",
"enum": [
"wallet",
"token"
],
"description": "Address type: wallet or token"
},
"depth": {
"default": "light",
"description": "Enrichment depth",
"type": "string",
"enum": [
"light",
"full"
]
}
},
"required": [
"addresses",
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪compare_tokens(mints)
Side-by-side comparison of 2-3 tokens: price, liquidity, volatility, holder concentration, risk. Rankings and summary picks.
Input Schema
{
"type": "object",
"properties": {
"mints": {
"type": "array",
"items": {
"type": "string"
},
"description": "2-3 token mint addresses to compare"
}
},
"required": [
"mints"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪compare_wallets(addresses, depth)
Side-by-side comparison of 2-3 wallets: portfolio, activity, risk, labels. Rankings and summary picks.
Input Schema
{
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "2-3 wallet addresses to compare"
},
"depth": {
"default": "light",
"description": "Enrichment depth",
"type": "string",
"enum": [
"light",
"full"
]
}
},
"required": [
"addresses"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪token_trend(mint, lookback)
Token metrics over time: daily snapshots with direction indicators (improving/declining/stable) per metric.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "Token mint address (base58)"
},
"lookback": {
"default": "7d",
"description": "Lookback period",
"type": "string",
"enum": [
"7d",
"14d",
"30d"
]
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪wallet_history(address, lookback)
Wallet portfolio over time: snapshots with position changes (added/removed holdings) and direction indicators.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address (base58)"
},
"lookback": {
"default": "7d",
"description": "Lookback period",
"type": "string",
"enum": [
"7d",
"14d",
"30d"
]
}
},
"required": [
"address"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡portfolio_history(address, period)
Full portfolio time-series for a wallet: daily snapshots of value, balance, holdings, and risk score over 7/14/30 days, plus summary stats (peak, trough, max drawdown, average, change vs period start). For charting and PnL tracking.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address (base58)"
},
"period": {
"default": "7d",
"description": "Lookback period",
"type": "string",
"enum": [
"7d",
"14d",
"30d"
]
}
},
"required": [
"address"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪new_tokens(min_liquidity_usd, max_risk_score, limit)
Discover recently launched Solana tokens. Filters by liquidity and risk score, ranked safest first.
Input Schema
{
"type": "object",
"properties": {
"min_liquidity_usd": {
"default": 1000,
"description": "Minimum liquidity in USD",
"type": "number"
},
"max_risk_score": {
"default": 0.8,
"description": "Maximum risk score (0-1)",
"type": "number"
},
"limit": {
"default": 10,
"description": "Number of tokens to return (1-20)",
"type": "number"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪protocol_profile(protocol, include_yields)
DeFi protocol analytics: TVL, yield pools, on-chain activity, health signals. Supports Raydium, Orca, marginfi, Drift, Jupiter, Kamino, Marinade, Jito, and more.
Input Schema
{
"type": "object",
"properties": {
"protocol": {
"type": "string",
"description": "Protocol slug (e.g. \"raydium\", \"orca\") or Solana program ID"
},
"include_yields": {
"default": true,
"description": "Include yield pool data",
"type": "boolean"
}
},
"required": [
"protocol"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢query(question)
Ask a plain English question about any Solana wallet, token, or market. Single-intent routes to one enricher; compound intents chain 2-3 in parallel and return a unified briefing. Examples: "should I buy <mint>?" (DD + trend + whales), "wallet deep dive on <addr>" (profile + history + perps), "is <mint> safe?", "what's trending right now", "SOL-PERP funding rate".
Input Schema
{
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "Natural language question about a Solana wallet or token"
}
},
"required": [
"question"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪perps_market_structure
Per-market OI, utilization, borrow APR, skew, OI caps, and health flags across Jupiter Perps SOL/BTC/ETH. Reads on-chain Anchor accounts directly.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪perps_trader_profile(address)
Open positions across BOTH Jupiter Perps and Adrena for a wallet. Per-venue breakdown plus combined totals. Each position tagged with venue. Trader classification (scalper/swing/position), directional bias, multi-venue exposure flag, and risk flags (high leverage, approaching liquidation, concentrated market). Adrena PnL needs mark prices for jitoSOL/WBTC/BONK and is null when unavailable.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address"
}
},
"required": [
"address"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hyperliquid_trader_profile(address)
Live Hyperliquid perp positions for an EVM (0x) address, read from HL's public on-chain state. Per-position side, leverage, notional, entry, unrealized PnL, distance-to-liquidation, and risk flags. Account value, directional bias, profile (directional/market-neutral/diversified), and realized+unrealized PnL over week/month/all-time. The building block for HL smart-money tracking.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Hyperliquid EVM (0x) address"
}
},
"required": [
"address"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪hyperliquid_smart_money(market, top_traders)
Where Hyperliquid smart money is positioned. Filters the HL leaderboard to consistent directional traders (excludes market-makers + dust), then aggregates their live positions into a per-coin consensus (long/short counts, net notional, bias, conviction) plus a top-trader drill-down. Optionally focus one coin via `market`. A positioning signal, not a trade — use as confluence/risk context, not a standalone entry.
Input Schema
{
"type": "object",
"properties": {
"market": {
"description": "Optional single-coin focus, e.g. HYPE/BTC/ETH",
"type": "string"
},
"top_traders": {
"description": "How many top traders to include (default 10)",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪perps_basis_signal(asset, min_yield_apr_pct)
Computes perp mark vs spot price across venues and surfaces actually-earnable yield. Funding-rate venues (HL, dYdX) generate real yield; pool perps (Jupiter, Adrena) flagged as not viable because they charge borrow on both sides. Returns per-venue trade + filtered opportunities + best trade.
Input Schema
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"enum": [
"SOL",
"BTC",
"ETH",
"BONK"
],
"description": "Asset to scan"
},
"min_yield_apr_pct": {
"default": 5,
"description": "Minimum net yield (APR %) for an opportunity to surface",
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"required": [
"asset"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪perps_market_trend(lookback)
Per-symbol (SOL/BTC/ETH) deltas for mark price, total open interest, long/short skew, utilization, and borrow APR over 7/14/30 days. Direction indicators per metric and per market. Overall direction excludes mark price. Use for regime detection — bots that adjust behavior based on whether markets are growing, stressed, or rebalancing.
Input Schema
{
"type": "object",
"properties": {
"lookback": {
"default": "7d",
"description": "History window",
"type": "string",
"enum": [
"7d",
"14d",
"30d"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪perps_venue_comparison(market, size_usd, side)
Where to trade this market at this size. Builds on cross-venue funding with spot slippage, per-venue fee, OI cap headroom, and total entry cost. Returns rankings + recommendation with warnings.
Input Schema
{
"type": "object",
"properties": {
"market": {
"type": "string",
"enum": [
"SOL",
"BTC",
"ETH",
"BONK"
],
"description": "Asset to query"
},
"size_usd": {
"type": "number",
"minimum": 100,
"maximum": 10000000,
"description": "Position size in USD"
},
"side": {
"default": "long",
"description": "Side being sized",
"type": "string",
"enum": [
"long",
"short"
]
}
},
"required": [
"market",
"size_usd"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪perps_cross_venue_funding(market, include_reference)
Compare borrow/funding APR + OI across Solana on-chain venues (Jupiter Perps, Adrena) and cross-chain reference (Hyperliquid, dYdX v4). Returns best entry per side, basis vs Hyperliquid, and arbitrage opportunities. SOL/BTC/ETH/BONK supported (with venue-specific availability).
Input Schema
{
"type": "object",
"properties": {
"market": {
"type": "string",
"enum": [
"SOL",
"BTC",
"ETH",
"BONK"
],
"description": "Asset to query"
},
"include_reference": {
"default": true,
"description": "Include Hyperliquid + dYdX v4 reference rates",
"type": "boolean"
}
},
"required": [
"market"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢trending_signals(min_liquidity_usd, max_risk_score, limit, include_whale_watch)
Ranked list of Solana tokens worth paying attention to right now. Composes DexScreener trending + risk scoring + whale-flow into a composite signal with reasoning.
Input Schema
{
"type": "object",
"properties": {
"min_liquidity_usd": {
"default": 10000,
"description": "Minimum liquidity in USD",
"type": "number"
},
"max_risk_score": {
"default": 0.7,
"description": "Maximum risk score (0-1)",
"type": "number",
"minimum": 0,
"maximum": 1
},
"limit": {
"default": 10,
"description": "Number of tokens to return",
"type": "integer",
"minimum": 1,
"maximum": 20
},
"include_whale_watch": {
"default": true,
"description": "Include whale flow signal",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪smart_money_flow(wallets, lookback_days, min_win_rate, top_n_tokens, include_graph)
Where high-performing Solana wallets are moving. Scores seed wallets by copy-trade metrics, surfaces tokens they're accumulating, and maps wallet clusters.
Input Schema
{
"type": "object",
"properties": {
"wallets": {
"description": "Optional wallet addresses to score (curated default used if omitted)",
"maxItems": 30,
"type": "array",
"items": {
"type": "string"
}
},
"lookback_days": {
"default": 14,
"description": "Copy-trade lookback window",
"type": "integer",
"minimum": 1,
"maximum": 90
},
"min_win_rate": {
"default": 0.55,
"description": "Minimum win rate to qualify",
"type": "number",
"minimum": 0,
"maximum": 1
},
"top_n_tokens": {
"default": 10,
"description": "Max accumulated tokens to surface",
"type": "integer",
"minimum": 1,
"maximum": 20
},
"include_graph": {
"default": true,
"description": "Include wallet cluster analysis",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡smart_money_trenches(hours_back, max_token_age_hours, min_buyers, limit)
Which proven-winner wallets are aping fresh (<6h) memecoin launches right now, and what are they buying? Vetted realized-PnL winner seed set (bot-filtered), recent buys overlaid against token launch times, ranked by distinct smart buyers + recency. Pre-ape attention signal.
Input Schema
{
"type": "object",
"properties": {
"hours_back": {
"default": 12,
"description": "How far back to scan seed-wallet buys (hours)",
"type": "integer",
"minimum": 1,
"maximum": 48
},
"max_token_age_hours": {
"default": 6,
"description": "Max token age in hours to count as fresh",
"type": "number",
"minimum": 1,
"maximum": 72
},
"min_buyers": {
"default": 1,
"description": "Min distinct smart buyers per token",
"type": "integer",
"minimum": 1,
"maximum": 14
},
"limit": {
"default": 10,
"description": "Max tokens to return",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪runner_scan(max_token_age_hours, min_liquidity_usd, min_volume_h1_usd, limit)
Which fresh Solana memecoins are ACCELERATING right now? Measures buy-rate acceleration (5m vs 1h, 1h vs 6h), buy pressure, volume/price velocity, holder growth and liquidity trend, then classifies each token RUNNING / IGNITING / PARABOLIC_LATE / FADING with a 0-1 score and reasoning. Flags already-ran tokens as entry risk and liquidity pulls as rugs.
Input Schema
{
"type": "object",
"properties": {
"max_token_age_hours": {
"default": 24,
"description": "Max token age in hours since first pair",
"type": "number",
"minimum": 0.1,
"maximum": 168
},
"min_liquidity_usd": {
"default": 10000,
"description": "Minimum pool liquidity in USD",
"type": "number",
"minimum": 0,
"maximum": 10000000
},
"min_volume_h1_usd": {
"default": 5000,
"description": "Minimum 1h volume in USD",
"type": "number",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"default": 15,
"description": "Max tokens to return",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡feed_latest(since)
Daily intelligence brief — pre-computed ranking of trending Solana tokens with composite-signal scoring. Cached 24h, lazy-populated on cache miss. Pass `since` (ISO 8601) to short-circuit on no-change polls.
Input Schema
{
"type": "object",
"properties": {
"since": {
"description": "Optional ISO 8601 timestamp of last successful poll. If brief is not newer, response sets unchanged=true with empty payload.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_alerts(tokens, wallets, since)
Poll-based event detection covering spot + Jupiter Perps. Pass a watchlist (token mints + wallet addresses) and a since timestamp; receive alerts graded by severity. Spot alerts: price spike/drop, risk change, whale flow, concentration shift, portfolio value change, position add/remove. Jupiter Perps alerts per wallet: position opened, position closed, at-risk (high leverage or underwater), liquidation approaching, PnL swing. Stateless — caller owns the cursor.
Input Schema
{
"type": "object",
"properties": {
"tokens": {
"default": [],
"description": "Token mints to watch (max 10)",
"maxItems": 10,
"type": "array",
"items": {
"type": "string"
}
},
"wallets": {
"default": [],
"description": "Wallet addresses to watch — spot + Jupiter Perps (max 10)",
"maxItems": 10,
"type": "array",
"items": {
"type": "string"
}
},
"since": {
"type": "string",
"description": "ISO 8601 timestamp — return alerts fired since this moment"
}
},
"required": [
"since"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢consensus_signal(type, address, window, limit)
What tokens or wallets are being queried by other agents right now. Proprietary data derived from SolEnrich's own query stream. Pass `address` for that entity's rank/percentile/trend; omit it for top-N. Windows: 1h, 6h, 24h.
Input Schema
{
"type": "object",
"properties": {
"type": {
"default": "token",
"description": "Entity type to query",
"type": "string",
"enum": [
"token",
"wallet"
]
},
"address": {
"description": "Optional Solana address — single-entity report when provided",
"type": "string"
},
"window": {
"default": "1h",
"description": "Lookback window",
"type": "string",
"enum": [
"1h",
"6h",
"24h"
]
},
"limit": {
"default": 10,
"description": "Top-N size when address is omitted",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢trenches_check(mint)
Before you ape, run the check: pass a token mint and get a HIGH_CONFLUENCE / MODERATE / SINGLE_SIGNAL / NO_SIGNAL verdict with reasoning. Runs on-chain velocity (runner stage + score), proven-winner wallet buys, and agent attention against that specific token. Pairs with due_diligence (structural safety) for a full pre-entry read. NFA.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "Token mint address to check"
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢exit_signal(mint, entry_price_usd)
The sell-side verdict for a token you hold: pass a mint, get EXIT / DERISK / HOLD with a 0-1 exit score and reasoning. Reads sell pressure, buy-rate deceleration, volume fade, distribution into strength, top-holder flow (whales distributing vs accumulating), liquidity trend, and holder churn. Rug triggers (LP pull, active dump) override everything. Works on tokens of any age. NFA.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "Token mint address you hold"
},
"entry_price_usd": {
"description": "Optional entry price in USD — adds unrealized-PnL context",
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢trenches_scan(max_token_age_hours, min_liquidity_usd, limit)
The full memecoin pre-ape scan in one call: on-chain velocity (runner detection), proven-winner wallet buys (smart-money), and agent attention, composited into a ranked list with per-token reasoning and HIGH_CONFLUENCE / MODERATE / SINGLE_SIGNAL verdicts. Confluence across independent signals is the edge. NFA.
Input Schema
{
"type": "object",
"properties": {
"max_token_age_hours": {
"description": "Max token age in hours (default 24)",
"type": "number",
"minimum": 1,
"maximum": 72
},
"min_liquidity_usd": {
"description": "Liquidity floor in USD (default 5000)",
"type": "number",
"minimum": 0
},
"limit": {
"description": "Max picks returned (default 10)",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡attention_momentum(window, limit)
Tokens ranked by ACCELERATION of agent attention (query velocity change across three consecutive windows), overlaid with price change over the same window. Divergence classes: early_signal (attention up, price flat — agents researching before the market moves), confirmed_momentum, distribution_risk (attention cooling while price pumps), fading. Proprietary — derived from SolEnrich's own query stream. Windows: 1h, 6h, 24h.
Input Schema
{
"type": "object",
"properties": {
"window": {
"default": "6h",
"description": "Window size — acceleration compares three consecutive windows of this size",
"type": "string",
"enum": [
"1h",
"6h",
"24h"
]
},
"limit": {
"default": 10,
"description": "Max ranked entries",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪gacha_ev_scan(machine, franchise, exit_strategy, min_edge_pct)
Scan Jupiter Gacha (Collector Crypt) tokenized-card packs for net-of-exit expected value. Per machine: gross insured EV vs the guaranteed instant-buyback floor (85-93% of insured value, ≤72h) vs a marketplace sale (insured value minus 2% fee, fill-risk). Returns a POSITIVE_EV / HOUSE_EDGE / NEGATIVE_EV verdict — the realizable EV the platform hides behind its gross-EV headline. NFA.
Input Schema
{
"type": "object",
"properties": {
"machine": {
"description": "Restrict to one machine code (e.g. pokemon_50); omit to scan all",
"type": "string"
},
"franchise": {
"default": "all",
"description": "Franchise filter",
"type": "string",
"enum": [
"pokemon",
"onepiece",
"all"
]
},
"exit_strategy": {
"default": "both",
"description": "Which exit path to rank/verdict against",
"type": "string",
"enum": [
"buyback",
"marketplace",
"both"
]
},
"min_edge_pct": {
"description": "Only surface machines with net edge ≥ this %",
"type": "number",
"minimum": -100,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢stonk_pairs(category, launchable_only)
FREE. List the quote assets a StonkFun (stonkfun.xyz) coin can be launched against — xStocks like NVDAX/SPYX/TSLAX, Backpack pre-stocks, currencies, custom mints — with normalized categories and an is_agent_launchable flag. Call this BEFORE sizing or preflighting a launch: the quoteMint must be one of these, and only launchLabReady pairs can be built on-chain.
Input Schema
{
"type": "object",
"properties": {
"category": {
"description": "Normalized category filter",
"type": "string",
"enum": [
"xstock",
"prestock",
"currency",
"leverage",
"solana",
"collectible",
"custom"
]
},
"launchable_only": {
"default": false,
"description": "Only pairs an agent can launch against right now",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢stonk_reward_risk(mint)
Call BEFORE sizing a StonkFun reward-coin position. Returns payout status — PAYING (holders got a payout in the last 24h), STALE, NEVER, NOT_REWARD — the trading cost (transfer-tax bps and round-trip %), and a 0-100 health score read from the chain: fee bps + cap, withdraw authority (must be StonkFun's distributor), fee mutability, distributions + last payout, flywheel, holders + concentration, quote category, age.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "StonkFun coin mint address (base58)"
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪stonk_yield(mint)
Trailing 7d / 30d / lifetime holder yield for a StonkFun reward coin: rewards paid in the quote asset, priced in USD, divided by average market cap over the window. The annualized figure carries an explicit caution flag when the window is under 7 days. Also explains quote exposure — the holder is long both the coin and its quote asset (e.g. NVDAX), and rewards accrue in that asset. Use when asked "what does this coin pay holders?"
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "StonkFun reward coin mint address (base58)"
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪stonk_alerts(mints, since, min_holders_change_pct, stale_after_hours)
What changed for up to 25 StonkFun reward coins since your last check: payout landed, payout went stale (no payout for 24h+), stopped trading (no 24h volume), holders moved 10%+, and rewards paid to holders since then in the quote asset and USD. Also the current payout status of each coin. Pass the previous checked_at as `since` on each poll. Use for "did my reward coins pay today?" or to watch a stonk portfolio.
Input Schema
{
"type": "object",
"properties": {
"mints": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "string"
},
"description": "Reward coin mints to watch (up to 25)"
},
"since": {
"type": "string",
"description": "ISO time of your last check, e.g. 2026-09-23T00:00:00Z"
},
"min_holders_change_pct": {
"default": 10,
"description": "holders_change threshold in %",
"type": "number",
"minimum": 1,
"maximum": 1000
},
"stale_after_hours": {
"default": 24,
"description": "Hours without a payout that count as stale",
"type": "number",
"minimum": 1,
"maximum": 168
}
},
"required": [
"mints",
"since"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪stonk_yield_batch(mints, quote_mint, category, min_holders, max_age_days, ...)
stonk_yield for up to 25 StonkFun reward coins in one call: 7d / 30d / lifetime holder yield per coin, annualized with caution flags, plus reward asset, market cap, holders and last payout. Pass `mints` (up to 25), or the screener filters (quote mint, category, holders, age, volume, market cap, paying_only, live_only, sort) to pick the coins. Use for "what do the paying NVDAX coins yield?" or to compare yields across a shortlist, instead of calling stonk_yield once per coin.
Input Schema
{
"type": "object",
"properties": {
"mints": {
"description": "Up to 25 reward coin mints; when given, the filters are ignored",
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "string"
}
},
"quote_mint": {
"description": "Only coins paired against this quote mint",
"type": "string"
},
"category": {
"description": "Quote category filter",
"type": "string",
"enum": [
"xstock",
"prestock",
"currency",
"leverage",
"solana",
"collectible",
"custom"
]
},
"min_holders": {
"description": "Minimum reward-receiving holders",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"max_age_days": {
"description": "Maximum coin age in days",
"type": "number",
"minimum": 0
},
"max_market_cap_usd": {
"description": "Maximum market cap in USD",
"type": "number",
"minimum": 0
},
"paying_only": {
"default": false,
"description": "Only coins that paid holders in the last 24h",
"type": "boolean"
},
"live_only": {
"default": false,
"description": "Only coins that traded AND paid in the last 24h",
"type": "boolean"
},
"sort": {
"default": "volume24h",
"description": "Ranking key",
"type": "string",
"enum": [
"yield7d",
"yield30d",
"rewardsUsd",
"volume24h",
"lastPayout",
"holders",
"priceChange24h"
]
},
"limit": {
"default": 25,
"description": "Coins to return (max 25)",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪stonk_screener(quote_mint, category, min_holders, min_age_days, max_age_days, ...)
Screen every StonkFun reward coin with payout status (PAYING / STALE / NEVER), a live flag (traded AND paid in 24h), and the round-trip transfer-tax cost per row. Filters: quote mint, category, holders, age (min/max), 24h volume, market cap, paying_only, live_only. Sort by volume24h (default), lastPayout, holders, priceChange24h, yield7d, yield30d, rewardsUsd. Use for "which coins on NVDAX paid holders today?" or "live xStock coins under $1M". Served from a 10-minute ingest. Use stonk_gems for a ranked shortlist.
Input Schema
{
"type": "object",
"properties": {
"quote_mint": {
"description": "Only coins paired against this quote mint",
"type": "string"
},
"category": {
"description": "Quote category filter",
"type": "string",
"enum": [
"xstock",
"prestock",
"currency",
"leverage",
"solana",
"collectible",
"custom"
]
},
"min_holders": {
"description": "Minimum reward-receiving holders",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"min_age_days": {
"description": "Minimum coin age in days",
"type": "number",
"minimum": 0
},
"max_age_days": {
"description": "Maximum coin age in days",
"type": "number",
"minimum": 0
},
"min_volume_24h_usd": {
"description": "Minimum 24h volume in USD",
"type": "number",
"minimum": 0
},
"max_market_cap_usd": {
"description": "Maximum market cap in USD",
"type": "number",
"minimum": 0
},
"paying_only": {
"default": false,
"description": "Only coins that paid holders in the last 24h",
"type": "boolean"
},
"live_only": {
"default": false,
"description": "Only coins that traded AND paid in the last 24h",
"type": "boolean"
},
"sort": {
"default": "volume24h",
"description": "Ranking key",
"type": "string",
"enum": [
"yield7d",
"yield30d",
"rewardsUsd",
"volume24h",
"lastPayout",
"holders",
"priceChange24h"
]
},
"limit": {
"default": 25,
"description": "Rows to return",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢stonk_gems(quote_mint, category, max_age_days, min_holders, max_market_cap_usd, ...)
Find gems on StonkFun: reward coins that look early, real, and paying. Ranks every reward coin 0-100 on recent holder payout, holders, market cap headroom, 24h turnover, age, momentum, quote-asset strength, and flywheel — stages GEM / WATCH / NOISE with plain reasons and warnings, plus the round-trip tax cost. Use for "what should I look at on StonkFun right now?" Follow up with trenches_check on a GEM and stonk_reward_risk before sizing.
Input Schema
{
"type": "object",
"properties": {
"quote_mint": {
"description": "Only coins paired against this quote mint",
"type": "string"
},
"category": {
"description": "Quote category filter",
"type": "string",
"enum": [
"xstock",
"prestock",
"currency",
"leverage",
"solana",
"collectible",
"custom"
]
},
"max_age_days": {
"default": 14,
"description": "Ignore coins older than this",
"type": "number",
"minimum": 0,
"maximum": 90
},
"min_holders": {
"default": 25,
"description": "Ignore coins with fewer reward-receiving holders",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"max_market_cap_usd": {
"default": 5000000,
"description": "Ignore coins above this market cap",
"type": "number",
"minimum": 0
},
"limit": {
"default": 15,
"description": "Rows to return",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪stonk_launch_intel(category, min_coins, sort, limit)
What to launch on StonkFun and against which quote asset. Per quote: coins, launches (24h/7d), share trading today, share paying holders today, survival past day 3, median holders and market cap, 100 vs 300 bps tax mix with trading and paying rates, crowding, and a 0-100 demand score — plus overall stats and plain recommendations. Use BEFORE stonk_pairs / stonk_preflight when deciding what to launch.
Input Schema
{
"type": "object",
"properties": {
"category": {
"description": "Quote category filter",
"type": "string",
"enum": [
"xstock",
"prestock",
"currency",
"leverage",
"solana",
"collectible",
"custom"
]
},
"min_coins": {
"default": 5,
"description": "Only quotes with at least this many reward coins",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"sort": {
"default": "demand",
"description": "Ranking key",
"type": "string",
"enum": [
"demand",
"survival",
"volume",
"launches",
"paying"
]
},
"limit": {
"default": 20,
"description": "Rows to return",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪stonk_preflight(unsigned_transaction, quote_mint, mode, launch_params)
Call BEFORE broadcasting a self-built Raydium LaunchLab launch meant for StonkFun. Pass the base64 unsigned transaction, the quote mint, and the mode; it decodes the initialize instruction and diffs every parameter against StonkFun's /launchlab/pricing — GlobalConfig, platform id per mode, curve, supply, totalSellA, raise, 6-decimal Token-2022 base mint, quote token program, curve-rule account last, and the reward-mode transfer fee (including Raydium's transferFeeBasePoints / maxinumFee spelling). Returns ok, mismatches with fixes, warnings. A mismatched pool is never adopted: the tax goes to nobody.
Input Schema
{
"type": "object",
"properties": {
"unsigned_transaction": {
"type": "string",
"description": "Base64 unsigned transaction (legacy or v0) with the LaunchLab initialize instruction"
},
"quote_mint": {
"type": "string",
"description": "Quote mint the launch is priced against"
},
"mode": {
"type": "string",
"enum": [
"standard",
"reward"
],
"description": "Launch mode"
},
"launch_params": {
"description": "Optional: the params object you passed to the SDK, linted for misspelled fee fields",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"unsigned_transaction",
"quote_mint",
"mode"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢stonk_quote(mint, size_usd, hold_days)
What one StonkFun trade costs at a given size and what the position is expected to pay back while held. Entry and exit cost (transfer tax + price impact at size), round-trip % and breakeven price move, pro-rata payout share with a dust warning, expected payout over the hold from real yield history, and a PAYS / MARGINAL / COSTS / NOT_PAYING verdict with breakeven hold days. No swap. Use before sizing any reward-coin position; follow with trenches_check to time the entry.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "StonkFun reward coin mint address (base58)"
},
"size_usd": {
"default": 100,
"description": "Position size in USD",
"type": "number",
"minimum": 1,
"maximum": 1000000
},
"hold_days": {
"default": 7,
"description": "Intended holding period in days",
"type": "number",
"minimum": 0.25,
"maximum": 365
}
},
"required": [
"mint"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence