{"protocolVersion":"1.0","name":"SolEnrich","description":"Agent-native onchain intelligence for Solana traders: cross-venue perps funding (Jupiter, Adrena, Flash, Hyperliquid), smart-money & whale tracking, token due-diligence and rug detection, and wallet risk scoring. Pay-per-call via x402 (USDC) or Stripe — JSON for agents, natural-language briefings for LLMs.","url":"https://api.solenrich.com/","supportedInterfaces":[{"url":"https://api.solenrich.com/","protocolBinding":"HTTP+JSON"}],"version":"1.0.0","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":true},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json","text/plain"],"skills":[{"id":"enrich-wallet-light","name":"enrich-wallet-light","description":"Light wallet profile with holdings, labels, and risk score","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"depth":{"default":"light","type":"string","enum":["light","full"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","depth","format"],"additionalProperties":false}},{"id":"enrich-wallet-full","name":"enrich-wallet-full","description":"Full wallet profile with holdings, DeFi positions, labels, risk score, and connected wallets","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"depth":{"default":"light","type":"string","enum":["light","full"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","depth","format"],"additionalProperties":false}},{"id":"enrich-token-light","name":"enrich-token-light","description":"Token analysis with price, market data, liquidity, and risk flags","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"include_holders":{"default":false,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","include_holders","format"],"additionalProperties":false}},{"id":"enrich-token-full","name":"enrich-token-full","description":"Full token analysis with price, market data, liquidity, risk flags, and top holders","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"include_holders":{"default":false,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","include_holders","format"],"additionalProperties":false}},{"id":"parse-transaction","name":"parse-transaction","description":"Parse and enrich a Solana transaction with type detection, protocol identification, and transfer details","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"signature":{"type":"string","minLength":86,"maxLength":90,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["signature","format"],"additionalProperties":false}},{"id":"whale-watch","name":"whale-watch","description":"Identify large token holders and track accumulation/distribution patterns","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"threshold_usd":{"default":10000,"type":"number","minimum":100},"lookback_hours":{"default":24,"type":"number","minimum":1,"maximum":168},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","threshold_usd","lookback_hours","format"],"additionalProperties":false}},{"id":"batch-enrich","name":"batch-enrich","description":"Enrich multiple wallets or tokens in parallel","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"addresses":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},"type":{"type":"string","enum":["wallet","token"]},"depth":{"default":"light","type":"string","enum":["light","full"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["addresses","type","depth","format"],"additionalProperties":false}},{"id":"wallet-graph","name":"wallet-graph","description":"Map wallet transaction connections and detect suspicious clusters","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"depth":{"default":1,"type":"number","minimum":1,"maximum":2},"min_interactions":{"default":1,"type":"number","minimum":1},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","depth","min_interactions","format"],"additionalProperties":false}},{"id":"copy-trade-signals","name":"copy-trade-signals","description":"Analyze wallet trading performance and copyability","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"lookback_days":{"default":30,"type":"number","minimum":1,"maximum":90},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","lookback_days","format"],"additionalProperties":false}},{"id":"due-diligence","name":"due-diligence","description":"Comprehensive token research briefing with security, whales, and holder analysis","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","format"],"additionalProperties":false}},{"id":"compare-tokens","name":"compare-tokens","description":"Compare 2-3 tokens side-by-side: price, liquidity, volatility, holder concentration, risk flags","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mints":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"description":"2-3 token mint addresses to compare"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mints","format"],"additionalProperties":false}},{"id":"compare-wallets","name":"compare-wallets","description":"Compare 2-3 wallets side-by-side: portfolio value, activity, risk, labels, holdings","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"addresses":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"description":"2-3 wallet addresses to compare"},"depth":{"default":"light","type":"string","enum":["light","full"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["addresses","depth","format"],"additionalProperties":false}},{"id":"token-trend","name":"token-trend","description":"Token trend analysis: price, liquidity, concentration changes over 7/14/30 days with direction indicators","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"lookback":{"default":"7d","type":"string","enum":["7d","14d","30d"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","lookback","format"],"additionalProperties":false}},{"id":"wallet-history","name":"wallet-history","description":"Wallet history: portfolio value, balance, risk score changes over 7/14/30 days with position changes","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"lookback":{"default":"7d","type":"string","enum":["7d","14d","30d"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","lookback","format"],"additionalProperties":false}},{"id":"portfolio-history","name":"portfolio-history","description":"Full portfolio time-series for a wallet — daily snapshots of value, balance, holdings, risk, plus summary stats (peak, trough, max drawdown, average, change vs period start). Distinct from wallet-history which returns two-point deltas; this returns the series for charting.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"period":{"default":"7d","type":"string","enum":["7d","14d","30d"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","period","format"],"additionalProperties":false}},{"id":"perps-market-trend","name":"perps-market-trend","description":"Jupiter Perps market trend: 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. Mirror of token-trend for perps markets — required for regime-detection strategies and any bot that adjusts behavior based on whether the market is growing, stressed, or rebalancing.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"lookback":{"default":"7d","type":"string","enum":["7d","14d","30d"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["lookback","format"],"additionalProperties":false}},{"id":"new-tokens","name":"new-tokens","description":"Discover recently launched tokens on Solana with risk scoring and filtering. Returns safest first.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"min_liquidity_usd":{"default":1000,"description":"Minimum liquidity in USD to include","type":"number"},"max_risk_score":{"default":0.8,"description":"Maximum risk score (0-1) to include","type":"number","minimum":0,"maximum":1},"limit":{"default":10,"description":"Number of tokens to return","type":"number","minimum":1,"maximum":20},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["min_liquidity_usd","max_risk_score","limit","format"],"additionalProperties":false}},{"id":"protocol-profile","name":"protocol-profile","description":"DeFi protocol analytics: TVL, yield pools, on-chain activity, health signals","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"protocol":{"type":"string","minLength":1,"maxLength":64,"description":"Protocol slug (e.g. \"raydium\", \"orca\") or Solana program ID"},"include_yields":{"default":true,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["protocol","include_yields","format"],"additionalProperties":false}},{"id":"perps-market-structure","name":"perps-market-structure","description":"Jupiter Perps market structure — per-market OI, utilization, borrow APR, skew, OI caps, and health flags for SOL/BTC/ETH","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["format"],"additionalProperties":false}},{"id":"perps-trader-profile","name":"perps-trader-profile","description":"Multi-venue perps trader profile — fetches open positions from BOTH Jupiter Perps and Adrena for the wallet. Returns per-position size/leverage/entry/unrealized PnL/risk flags, per-venue breakdown with venue totals, and combined totals across venues. Output includes a `venue` tag on every position and a `by_venue` breakdown alongside combined `totals`. Adrena PnL requires per-collateral mark prices (jitoSOL/WBTC/BONK via Jupiter price API) and is null when unavailable.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","format"],"additionalProperties":false}},{"id":"hyperliquid-trader-profile","name":"hyperliquid-trader-profile","description":"Hyperliquid trader profile for an EVM (0x) address. Reads the trader's live perp positions directly from Hyperliquid's public on-chain state: per-position coin, side, leverage, notional, entry, unrealized PnL, distance-to-liquidation, and risk flags (high_leverage, extreme_leverage, approaching_liquidation, losing). Plus account value, directional bias, profile (directional/market-neutral/diversified), weighted leverage, and realized+unrealized PnL over week/month/all-time. Hyperliquid is uniquely transparent — every position is public — making this the building block for smart-money tracking.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","format"],"additionalProperties":false}},{"id":"hyperliquid-smart-money","name":"hyperliquid-smart-money","description":"Where Hyperliquid smart money is positioned right now. Scans the HL leaderboard, excludes market-makers/HFT (turnover filter) and dust/mega-funds (account band), keeps only CONSISTENT directional traders (week+month PnL > 0, not a systematic book), then aggregates their live positions into a per-coin consensus signal (long/short trader counts, net notional, bias, conviction) plus a top-trader drill-down ranked by robust month PnL. Pass `market` (e.g. HYPE/BTC/ETH) to focus one coin. NOTE: a positioning signal, not a trade — consensus is often late/crowded and regime-dependent; use as confluence/risk context, not a standalone entry.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"market":{"type":"string","minLength":1,"maxLength":12},"top_traders":{"type":"integer","minimum":1,"maximum":25},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["format"],"additionalProperties":false}},{"id":"perps-cross-venue-funding","name":"perps-cross-venue-funding","description":"Cross-venue perps funding rate aggregator. Compares borrow/funding APR + open interest across Solana on-chain venues (Jupiter Perps, Adrena) with cross-chain reference (Hyperliquid, dYdX v4). Returns best entry per side, basis vs Hyperliquid, and arbitrage opportunities.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"market":{"type":"string","enum":["SOL","BTC","ETH","BONK"]},"include_reference":{"default":true,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["market","include_reference","format"],"additionalProperties":false}},{"id":"perps-venue-comparison","name":"perps-venue-comparison","description":"Where to trade this market at this size. Compares total entry cost (slippage + fee + first-hour borrow), OI cap headroom, and venue health across Jupiter Perps, Adrena, Hyperliquid, and dYdX v4. Returns rankings + recommendation with warnings.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"market":{"type":"string","enum":["SOL","BTC","ETH","BONK"]},"size_usd":{"type":"number","minimum":100,"maximum":10000000},"side":{"default":"long","type":"string","enum":["long","short"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["market","size_usd","side","format"],"additionalProperties":false}},{"id":"perps-basis-signal","name":"perps-basis-signal","description":"Net-yield-after-borrow basis trade scanner. Computes perp mark vs spot price across venues and surfaces actually-earnable yield — funding APR on reference venues (Hyperliquid, dYdX v4), correctly flagged as not-viable on Solana pool perps (Jupiter, Adrena) which charge borrow on both sides. Returns per-venue trade, filtered opportunities, and best trade.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"asset":{"type":"string","enum":["SOL","BTC","ETH","BONK"]},"min_yield_apr_pct":{"default":5,"type":"number","minimum":0,"maximum":100},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["asset","min_yield_apr_pct","format"],"additionalProperties":false}},{"id":"trending-signals","name":"trending-signals","description":"Orchestrated ranking of trending Solana tokens. Scans DexScreener trending, enriches with token analysis + optional whale-watch flow, and returns a composite-signal ranked list with reasoning. \"What's worth paying attention to right now?\"","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"min_liquidity_usd":{"default":10000,"type":"number","minimum":0},"max_risk_score":{"default":0.7,"type":"number","minimum":0,"maximum":1},"limit":{"default":10,"type":"integer","minimum":1,"maximum":20},"include_whale_watch":{"default":true,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["min_liquidity_usd","max_risk_score","limit","include_whale_watch","format"],"additionalProperties":false}},{"id":"smart-money-flow","name":"smart-money-flow","description":"Orchestrated smart-money intelligence. Scores a seed wallet list via copy-trade metrics, filters to qualifying winners (win rate + trade count), then surfaces tokens they're accumulating and wallet clusters. Pass your own `wallets` array or use our curated default list.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"wallets":{"maxItems":30,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},"lookback_days":{"default":14,"type":"integer","minimum":1,"maximum":90},"min_win_rate":{"default":0.55,"type":"number","minimum":0,"maximum":1},"top_n_tokens":{"default":10,"type":"integer","minimum":1,"maximum":20},"include_graph":{"default":true,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["lookback_days","min_win_rate","top_n_tokens","include_graph","format"],"additionalProperties":false}},{"id":"query","name":"query","description":"Plain English questions routed to the right enricher. Single-intent questions hit one enricher; compound questions (\"should I buy X?\", \"wallet deep dive on X\", \"what's trending?\") chain 2-3 enrichers in parallel and return a unified briefing.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"question":{"type":"string","minLength":3,"maxLength":500},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["question","format"],"additionalProperties":false}},{"id":"feed-latest","name":"feed-latest","description":"Daily SolEnrich intelligence brief — pre-computed ranking of trending Solana tokens with composite signal scoring (liquidity, risk, holder concentration, whale flow). Cached 24h. Pass `since` (ISO 8601) to short-circuit on no-change. Pay-per-poll model — designed for agents that want recurring signal without orchestration cost.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"since":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["format"],"additionalProperties":false}},{"id":"consensus-signal","name":"consensus-signal","description":"Agent attention signal — what tokens or wallets are being queried by other agents right now. Proprietary data: derived from SolEnrich's own query stream, not market volume. Two modes: pass `address` to get that entity's rank/percentile/trend; omit it to get the top-N most-queried entities. Windows: 1h, 6h, 24h.","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"type":{"default":"token","type":"string","enum":["token","wallet"]},"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"window":{"default":"1h","type":"string","enum":["1h","6h","24h"]},"limit":{"default":10,"type":"integer","minimum":1,"maximum":50},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["type","window","limit","format"],"additionalProperties":false}},{"id":"check-alerts","name":"check-alerts","description":"Poll-based event detection. Pass a watchlist (tokens + wallets) and a `since` ISO 8601 timestamp; receive alerts fired since that time. Detects: token alerts (price spikes/drops, risk score changes, whale inflow/outflow, holder concentration shifts); spot wallet alerts (portfolio value changes, position additions/removals); and Jupiter Perps alerts per wallet (perp_position_added, perp_position_closed, perp_at_risk, liquidation_approaching, pnl_swing). Stateless: agent owns the `since` cursor. Watchlist capped at 10 tokens + 10 wallets per call. Step 1 of 3 (poll → SSE → webhooks).","inputModes":["application/json"],"outputModes":["application/json","text/plain"],"streaming":false,"x_input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"tokens":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},"wallets":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},"since":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"criteria":{"default":{},"type":"object","properties":{"min_price_change_pct":{"type":"number","minimum":0,"maximum":1000},"min_risk_score_delta":{"type":"number","minimum":0,"maximum":1},"min_whale_volume_usd":{"type":"number","minimum":0},"min_portfolio_change_pct":{"type":"number","minimum":0,"maximum":10000},"min_concentration_shift_pct":{"type":"number","minimum":0,"maximum":100},"perp_max_leverage":{"type":"number","minimum":1,"maximum":100},"perp_min_pnl_swing_pts":{"type":"number","minimum":0,"maximum":1000},"perp_liquidation_buffer_pct":{"type":"number","minimum":0,"maximum":100}},"additionalProperties":false},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["tokens","wallets","since","criteria","format"],"additionalProperties":false}}],"supportsAuthenticatedExtendedCard":false,"entrypoints":{"enrich-wallet-light":{"description":"Light wallet profile with holdings, labels, and risk score","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"depth":{"default":"light","type":"string","enum":["light","full"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","depth","format"],"additionalProperties":false}},"enrich-wallet-full":{"description":"Full wallet profile with holdings, DeFi positions, labels, risk score, and connected wallets","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"depth":{"default":"light","type":"string","enum":["light","full"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","depth","format"],"additionalProperties":false}},"enrich-token-light":{"description":"Token analysis with price, market data, liquidity, and risk flags","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"include_holders":{"default":false,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","include_holders","format"],"additionalProperties":false}},"enrich-token-full":{"description":"Full token analysis with price, market data, liquidity, risk flags, and top holders","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"include_holders":{"default":false,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","include_holders","format"],"additionalProperties":false}},"parse-transaction":{"description":"Parse and enrich a Solana transaction with type detection, protocol identification, and transfer details","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"signature":{"type":"string","minLength":86,"maxLength":90,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["signature","format"],"additionalProperties":false}},"whale-watch":{"description":"Identify large token holders and track accumulation/distribution patterns","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"threshold_usd":{"default":10000,"type":"number","minimum":100},"lookback_hours":{"default":24,"type":"number","minimum":1,"maximum":168},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","threshold_usd","lookback_hours","format"],"additionalProperties":false}},"batch-enrich":{"description":"Enrich multiple wallets or tokens in parallel","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"addresses":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},"type":{"type":"string","enum":["wallet","token"]},"depth":{"default":"light","type":"string","enum":["light","full"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["addresses","type","depth","format"],"additionalProperties":false}},"wallet-graph":{"description":"Map wallet transaction connections and detect suspicious clusters","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"depth":{"default":1,"type":"number","minimum":1,"maximum":2},"min_interactions":{"default":1,"type":"number","minimum":1},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","depth","min_interactions","format"],"additionalProperties":false}},"copy-trade-signals":{"description":"Analyze wallet trading performance and copyability","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"lookback_days":{"default":30,"type":"number","minimum":1,"maximum":90},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","lookback_days","format"],"additionalProperties":false}},"due-diligence":{"description":"Comprehensive token research briefing with security, whales, and holder analysis","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","format"],"additionalProperties":false}},"compare-tokens":{"description":"Compare 2-3 tokens side-by-side: price, liquidity, volatility, holder concentration, risk flags","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mints":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"description":"2-3 token mint addresses to compare"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mints","format"],"additionalProperties":false}},"compare-wallets":{"description":"Compare 2-3 wallets side-by-side: portfolio value, activity, risk, labels, holdings","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"addresses":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"description":"2-3 wallet addresses to compare"},"depth":{"default":"light","type":"string","enum":["light","full"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["addresses","depth","format"],"additionalProperties":false}},"token-trend":{"description":"Token trend analysis: price, liquidity, concentration changes over 7/14/30 days with direction indicators","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"lookback":{"default":"7d","type":"string","enum":["7d","14d","30d"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["mint","lookback","format"],"additionalProperties":false}},"wallet-history":{"description":"Wallet history: portfolio value, balance, risk score changes over 7/14/30 days with position changes","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"lookback":{"default":"7d","type":"string","enum":["7d","14d","30d"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","lookback","format"],"additionalProperties":false}},"portfolio-history":{"description":"Full portfolio time-series for a wallet — daily snapshots of value, balance, holdings, risk, plus summary stats (peak, trough, max drawdown, average, change vs period start). Distinct from wallet-history which returns two-point deltas; this returns the series for charting.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"period":{"default":"7d","type":"string","enum":["7d","14d","30d"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","period","format"],"additionalProperties":false}},"perps-market-trend":{"description":"Jupiter Perps market trend: 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. Mirror of token-trend for perps markets — required for regime-detection strategies and any bot that adjusts behavior based on whether the market is growing, stressed, or rebalancing.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"lookback":{"default":"7d","type":"string","enum":["7d","14d","30d"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["lookback","format"],"additionalProperties":false}},"new-tokens":{"description":"Discover recently launched tokens on Solana with risk scoring and filtering. Returns safest first.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"min_liquidity_usd":{"default":1000,"description":"Minimum liquidity in USD to include","type":"number"},"max_risk_score":{"default":0.8,"description":"Maximum risk score (0-1) to include","type":"number","minimum":0,"maximum":1},"limit":{"default":10,"description":"Number of tokens to return","type":"number","minimum":1,"maximum":20},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["min_liquidity_usd","max_risk_score","limit","format"],"additionalProperties":false}},"protocol-profile":{"description":"DeFi protocol analytics: TVL, yield pools, on-chain activity, health signals","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"protocol":{"type":"string","minLength":1,"maxLength":64,"description":"Protocol slug (e.g. \"raydium\", \"orca\") or Solana program ID"},"include_yields":{"default":true,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["protocol","include_yields","format"],"additionalProperties":false}},"perps-market-structure":{"description":"Jupiter Perps market structure — per-market OI, utilization, borrow APR, skew, OI caps, and health flags for SOL/BTC/ETH","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["format"],"additionalProperties":false}},"perps-trader-profile":{"description":"Multi-venue perps trader profile — fetches open positions from BOTH Jupiter Perps and Adrena for the wallet. Returns per-position size/leverage/entry/unrealized PnL/risk flags, per-venue breakdown with venue totals, and combined totals across venues. Output includes a `venue` tag on every position and a `by_venue` breakdown alongside combined `totals`. Adrena PnL requires per-collateral mark prices (jitoSOL/WBTC/BONK via Jupiter price API) and is null when unavailable.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","format"],"additionalProperties":false}},"hyperliquid-trader-profile":{"description":"Hyperliquid trader profile for an EVM (0x) address. Reads the trader's live perp positions directly from Hyperliquid's public on-chain state: per-position coin, side, leverage, notional, entry, unrealized PnL, distance-to-liquidation, and risk flags (high_leverage, extreme_leverage, approaching_liquidation, losing). Plus account value, directional bias, profile (directional/market-neutral/diversified), weighted leverage, and realized+unrealized PnL over week/month/all-time. Hyperliquid is uniquely transparent — every position is public — making this the building block for smart-money tracking.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["address","format"],"additionalProperties":false}},"hyperliquid-smart-money":{"description":"Where Hyperliquid smart money is positioned right now. Scans the HL leaderboard, excludes market-makers/HFT (turnover filter) and dust/mega-funds (account band), keeps only CONSISTENT directional traders (week+month PnL > 0, not a systematic book), then aggregates their live positions into a per-coin consensus signal (long/short trader counts, net notional, bias, conviction) plus a top-trader drill-down ranked by robust month PnL. Pass `market` (e.g. HYPE/BTC/ETH) to focus one coin. NOTE: a positioning signal, not a trade — consensus is often late/crowded and regime-dependent; use as confluence/risk context, not a standalone entry.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"market":{"type":"string","minLength":1,"maxLength":12},"top_traders":{"type":"integer","minimum":1,"maximum":25},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["format"],"additionalProperties":false}},"perps-cross-venue-funding":{"description":"Cross-venue perps funding rate aggregator. Compares borrow/funding APR + open interest across Solana on-chain venues (Jupiter Perps, Adrena) with cross-chain reference (Hyperliquid, dYdX v4). Returns best entry per side, basis vs Hyperliquid, and arbitrage opportunities.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"market":{"type":"string","enum":["SOL","BTC","ETH","BONK"]},"include_reference":{"default":true,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["market","include_reference","format"],"additionalProperties":false}},"perps-venue-comparison":{"description":"Where to trade this market at this size. Compares total entry cost (slippage + fee + first-hour borrow), OI cap headroom, and venue health across Jupiter Perps, Adrena, Hyperliquid, and dYdX v4. Returns rankings + recommendation with warnings.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"market":{"type":"string","enum":["SOL","BTC","ETH","BONK"]},"size_usd":{"type":"number","minimum":100,"maximum":10000000},"side":{"default":"long","type":"string","enum":["long","short"]},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["market","size_usd","side","format"],"additionalProperties":false}},"perps-basis-signal":{"description":"Net-yield-after-borrow basis trade scanner. Computes perp mark vs spot price across venues and surfaces actually-earnable yield — funding APR on reference venues (Hyperliquid, dYdX v4), correctly flagged as not-viable on Solana pool perps (Jupiter, Adrena) which charge borrow on both sides. Returns per-venue trade, filtered opportunities, and best trade.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"asset":{"type":"string","enum":["SOL","BTC","ETH","BONK"]},"min_yield_apr_pct":{"default":5,"type":"number","minimum":0,"maximum":100},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["asset","min_yield_apr_pct","format"],"additionalProperties":false}},"trending-signals":{"description":"Orchestrated ranking of trending Solana tokens. Scans DexScreener trending, enriches with token analysis + optional whale-watch flow, and returns a composite-signal ranked list with reasoning. \"What's worth paying attention to right now?\"","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"min_liquidity_usd":{"default":10000,"type":"number","minimum":0},"max_risk_score":{"default":0.7,"type":"number","minimum":0,"maximum":1},"limit":{"default":10,"type":"integer","minimum":1,"maximum":20},"include_whale_watch":{"default":true,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["min_liquidity_usd","max_risk_score","limit","include_whale_watch","format"],"additionalProperties":false}},"smart-money-flow":{"description":"Orchestrated smart-money intelligence. Scores a seed wallet list via copy-trade metrics, filters to qualifying winners (win rate + trade count), then surfaces tokens they're accumulating and wallet clusters. Pass your own `wallets` array or use our curated default list.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"wallets":{"maxItems":30,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},"lookback_days":{"default":14,"type":"integer","minimum":1,"maximum":90},"min_win_rate":{"default":0.55,"type":"number","minimum":0,"maximum":1},"top_n_tokens":{"default":10,"type":"integer","minimum":1,"maximum":20},"include_graph":{"default":true,"type":"boolean"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["lookback_days","min_win_rate","top_n_tokens","include_graph","format"],"additionalProperties":false}},"query":{"description":"Plain English questions routed to the right enricher. Single-intent questions hit one enricher; compound questions (\"should I buy X?\", \"wallet deep dive on X\", \"what's trending?\") chain 2-3 enrichers in parallel and return a unified briefing.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"question":{"type":"string","minLength":3,"maxLength":500},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["question","format"],"additionalProperties":false}},"feed-latest":{"description":"Daily SolEnrich intelligence brief — pre-computed ranking of trending Solana tokens with composite signal scoring (liquidity, risk, holder concentration, whale flow). Cached 24h. Pass `since` (ISO 8601) to short-circuit on no-change. Pay-per-poll model — designed for agents that want recurring signal without orchestration cost.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"since":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["format"],"additionalProperties":false}},"consensus-signal":{"description":"Agent attention signal — what tokens or wallets are being queried by other agents right now. Proprietary data: derived from SolEnrich's own query stream, not market volume. Two modes: pass `address` to get that entity's rank/percentile/trend; omit it to get the top-N most-queried entities. Windows: 1h, 6h, 24h.","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"type":{"default":"token","type":"string","enum":["token","wallet"]},"address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"window":{"default":"1h","type":"string","enum":["1h","6h","24h"]},"limit":{"default":10,"type":"integer","minimum":1,"maximum":50},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["type","window","limit","format"],"additionalProperties":false}},"check-alerts":{"description":"Poll-based event detection. Pass a watchlist (tokens + wallets) and a `since` ISO 8601 timestamp; receive alerts fired since that time. Detects: token alerts (price spikes/drops, risk score changes, whale inflow/outflow, holder concentration shifts); spot wallet alerts (portfolio value changes, position additions/removals); and Jupiter Perps alerts per wallet (perp_position_added, perp_position_closed, perp_at_risk, liquidation_approaching, pnl_swing). Stateless: agent owns the `since` cursor. Watchlist capped at 10 tokens + 10 wallets per call. Step 1 of 3 (poll → SSE → webhooks).","streaming":false,"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"tokens":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},"wallets":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},"since":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"criteria":{"default":{},"type":"object","properties":{"min_price_change_pct":{"type":"number","minimum":0,"maximum":1000},"min_risk_score_delta":{"type":"number","minimum":0,"maximum":1},"min_whale_volume_usd":{"type":"number","minimum":0},"min_portfolio_change_pct":{"type":"number","minimum":0,"maximum":10000},"min_concentration_shift_pct":{"type":"number","minimum":0,"maximum":100},"perp_max_leverage":{"type":"number","minimum":1,"maximum":100},"perp_min_pnl_swing_pts":{"type":"number","minimum":0,"maximum":1000},"perp_liquidation_buffer_pct":{"type":"number","minimum":0,"maximum":100}},"additionalProperties":false},"format":{"default":"json","type":"string","enum":["json","llm","both"]}},"required":["tokens","wallets","since","criteria","format"],"additionalProperties":false}}}}