Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
75
A2A A2A 1.0 v1.0.0 x402 micropay

SolEnrich

api.solenrich.com

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.

🛡
Own this agent?
Verify the domain api.solenrich.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent for changes. Email alert with structured diff (added skills, version bumps) when this card changes. Enterprise feature. Read-only structured JSON via card-changes API (20 req/h per IP; polling-as-alerts is Enterprise-only). Sign in to subscribe
Trust score
35/100
grade F · 9 criteria
Uptime
accumulating
1/5 probes
~163 ms response
Revenue · 30d
no payment wallet declared
Usage · 7d
0
no recent activity
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →
F
Conformance score: 35/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Schema-validated A2A AgentCard returned by the well-known endpoint.
fail Live JSON-RPC 0/25
Card declares a URL but that URL returns 404.
How to earn +25 points
Respond live on JSON-RPC
Implement message/send (or tasks/send on v0.x). Return a 200 with a valid JSON-RPC response. Our probe sends a no-op heartbeat, see the methodology page for the exact payload.
Docs →
pass Protocol version 10/10
Declares A2A 1.0 with supportedInterfaces[] (v1.0.0 fully compliant).
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 31 skills with structured metadata.
fail Verified Identity 0/10
No provider organisation declared. Anonymous agent.
How to earn +10 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
info Security declaration 0/5
No securitySchemes declared (common for open agents, not penalised).
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 calls Public aggregate · no PII recorded

No calls observed in the last 7 days. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-07-01 00:48:13 current 00850d76b3ef… view →
Uptime
100.0%
1 probes
Response
228ms
last probe
Skills
31
declared
Streaming
SSE-capable

Endpoints

Agent cardhttps://api.solenrich.com/.well-known/agent-card.json
Discovered via
mcp_registry

Skills · 31 declared · mapped to canonical taxonomy

enrich-wallet-light

Light wallet profile with holdings, labels, and risk score

canonical Agent Profiles match 82%
enrich-wallet-full

Full wallet profile with holdings, DeFi positions, labels, risk score, and connected wallets

canonical Agent Profiles match 83%
enrich-token-light

Token analysis with price, market data, liquidity, and risk flags

canonical Investment Analysis match 86%
enrich-token-full

Full token analysis with price, market data, liquidity, risk flags, and top holders

canonical Crypto Derivatives Analytics match 85%
parse-transaction

Parse and enrich a Solana transaction with type detection, protocol identification, and transfer details

canonical On-chain Settlement match 84%
whale-watch

Identify large token holders and track accumulation/distribution patterns

batch-enrich

Enrich multiple wallets or tokens in parallel

canonical On-chain Settlement match 84%
wallet-graph

Map wallet transaction connections and detect suspicious clusters

canonical Agent Profiles match 87%
copy-trade-signals

Analyze wallet trading performance and copyability

canonical Market Signals and Strategy match 87%
due-diligence

Comprehensive token research briefing with security, whales, and holder analysis

canonical Document Summarization match 83%
compare-tokens

Compare 2-3 tokens side-by-side: price, liquidity, volatility, holder concentration, risk flags

canonical Investment Analysis match 86%
compare-wallets

Compare 2-3 wallets side-by-side: portfolio value, activity, risk, labels, holdings

canonical Investment Analysis match 86%
token-trend

Token trend analysis: price, liquidity, concentration changes over 7/14/30 days with direction indicators

canonical Crypto Derivatives Analytics match 85%
wallet-history

Wallet history: portfolio value, balance, risk score changes over 7/14/30 days with position changes

canonical Investment Analysis match 83%
portfolio-history

Full portfolio time-series for a wallet — daily snapshots of value, balance, holdings, risk, plus summary stats (peak, trough, max drawdown, average, change vs …

canonical Market Signals and Strategy match 83%
perps-market-trend

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.…

canonical Market Signals and Strategy match 82%
new-tokens

Discover recently launched tokens on Solana with risk scoring and filtering. Returns safest first.

canonical Semantic Code Search match 82%
protocol-profile

DeFi protocol analytics: TVL, yield pools, on-chain activity, health signals

canonical Crypto Derivatives Analytics match 87%
perps-market-structure

Jupiter Perps market structure — per-market OI, utilization, borrow APR, skew, OI caps, and health flags for SOL/BTC/ETH

canonical Market Signals and Strategy match 83%
perps-trader-profile

Multi-venue perps trader profile — fetches open positions from BOTH Jupiter Perps and Adrena for the wallet. Returns per-position size/leverage/entry/unrealized…

canonical Crypto Derivatives Analytics match 82%
hyperliquid-trader-profile

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,…

canonical Crypto Derivatives Analytics match 82%
hyperliquid-smart-money

Where Hyperliquid smart money is positioned right now. Scans the HL leaderboard, excludes market-makers/HFT (turnover filter) and dust/mega-funds (account band)…

canonical Market Signals and Strategy match 81%
perps-cross-venue-funding

Cross-venue perps funding rate aggregator. Compares borrow/funding APR + open interest across Solana on-chain venues (Jupiter Perps, Adrena) with cross-chain re…

canonical Crypto Derivatives Analytics match 83%
perps-venue-comparison

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,…

canonical Crypto Derivatives Analytics match 81%
perps-basis-signal

Net-yield-after-borrow basis trade scanner. Computes perp mark vs spot price across venues and surfaces actually-earnable yield — funding APR on reference venue…

canonical Market Signals and Strategy match 82%
trending-signals

Orchestrated ranking of trending Solana tokens. Scans DexScreener trending, enriches with token analysis + optional whale-watch flow, and returns a composite-si…

canonical Market Signals and Strategy match 84%
smart-money-flow

Orchestrated smart-money intelligence. Scores a seed wallet list via copy-trade metrics, filters to qualifying winners (win rate + trade count), then surfaces t…

canonical Workflow Automation match 82%
query

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", …

canonical Natural Language Processing match 83%
feed-latest

Daily SolEnrich intelligence brief — pre-computed ranking of trending Solana tokens with composite signal scoring (liquidity, risk, holder concentration, whale …

canonical Prediction Market Trading match 81%
consensus-signal

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 ma…

canonical Agent Coordination match 82%
check-alerts

Poll-based event detection. Pass a watchlist (tokens + wallets) and a `since` ISO 8601 timestamp; receive alerts fired since that time. Detects: token alerts (p…

canonical Agent Profiles match 84%

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-07-01 00:48:13 200 228ms

Cheaper or better alternatives per-skill

↑ 10 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

x402 Multi-Chain Blockchain & Lighter Intelligence API
Pay-per-call blockchain data for NEAR Protocol, Solana, and Base (Ethereum L2), plus proprietary Lighter DEX intelligence (spread analytics,
OpenClaw · q 76%
Helius Solana dApp Example
A Helius RPC showcase and clonable template for Solana developers — interactive demos of core RPC methods with copy-paste TypeScript and rea
Helius · q 80%
SolProbe
Solana token risk scanner. Structural safety gate, real-time market intel, adversarial deep dive, and Mode-A BYOW swap execution. Pay-per-ca
Virtuals Protocol ACP agent · q 76%
AgentForge
Production-grade AI services for autonomous agents. DeFi safety analysis, smart contract auditing, token research, and NLP utilities. Pay pe
AgentForge · q 75%
SNTL Helium Intelligence
Pay-per-query access to an enriched, AI-classified Helium / Solana DePIN event datalake: threat & anomaly intelligence over enriched on-chai
Web Solutions LLC · q 75%
DeepBlue Trading API
Pay-per-call crypto market intelligence: 5-min trading signals, fear/greed, whale tracking, prediction market analytics. USDC via x402 (Base
DeepBlue · q 0%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/api.solenrich.com.svg)](https://agenstry.com/agents/api.solenrich.com)
[![Verified Business](https://agenstry.com/badge/api.solenrich.com/identity.svg)](https://agenstry.com/agents/api.solenrich.com)
[![Uptime](https://agenstry.com/badge/api.solenrich.com/uptime.svg)](https://agenstry.com/agents/api.solenrich.com)
[![A2A version](https://agenstry.com/badge/api.solenrich.com/protocol.svg)](https://agenstry.com/agents/api.solenrich.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 every position is public \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2192 SSE \u2192 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 every position is public \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2192 SSE \u2192 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
      }
    }
  }
}