Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,556Letters: 14Defects: 1,331counted 3 min ago
teppi

Server definition

Hash
sha256:b8cddb5c1838aecbb6aec36b16fe2c950413a8a3ee2e7867617e12da5277f1b2
What it is
What a remote MCP server returned when asked what it offers: 42 tools

The blob, as servednamed by its sha256

{ "instructions": "Einstein is an AI system and its market, on-chain and strategy output is AI-generated information for research — not financial, investment, legal or tax advice, and not a personalised recommendation. No human adviser reviews these outputs before you see them, so present them as analysis to weigh rather than as instructions to follow, and never imply a guaranteed outcome. Free tools need no account and are safe to call whenever they help. Paid tools charge a prepaid credit balance and will say so before running; if the user is not signed in the host will prompt for it. When unsure which tool fits, call list_einstein_capabilities first.", "tools": [ { "description": "Bitcoin-native analysis: mempool and fee intelligence, network and mining health, BRC-20 tokens, Runes, bridge comparison, or Babylon staking. [Paid: $0.25–$0.85 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "kind": { "default": "mempool", "description": "mempool · onchain · brc20 · runes · bridges · staking.", "enum": [ "mempool", "onchain", "brc20", "runes", "bridges", "staking" ], "type": "string" }, "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" } }, "type": "object" }, "name": "analyze_bitcoin", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "The ranked leaderboard of profitable wallets worth following, or a deeper intelligence read on a specific trader’s edge, consistency and risk. [Paid: $0.85–$1.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "kind": { "default": "leaderboard", "description": "leaderboard · intel (needs `walletAddress`).", "enum": [ "leaderboard", "intel" ], "type": "string" }, "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" }, "walletAddress": { "description": "Trader wallet, for `intel`.", "type": "string" } }, "type": "object" }, "name": "analyze_copy_trading", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Polymarket analysis: browse live markets, scan for insider-shaped positions, measure bid/ask spreads, find high-conviction positioning, or fade over-priced long shots. [Paid: $0.50–$1.50 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "kind": { "default": "markets", "description": "markets · insiders · spread · conviction · longshot_fade.", "enum": [ "markets", "insiders", "spread", "conviction", "longshot_fade" ], "type": "string" }, "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" }, "query": { "description": "Topic or market keyword to focus on.", "type": "string" } }, "type": "object" }, "name": "analyze_prediction_markets", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Live security analysis of a token contract: rug-pull risk, holder concentration, sniper activity, dangerous approvals, or a full smart-contract audit. Choose the analysis with `kind`. [Paid: $0.35–$2.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Blockchain network.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana" ], "type": "string" }, "kind": { "default": "rug_pull", "description": "rug_pull = honeypot/rug risk scan · holders = concentration · sniping = launch-sniper activity · approvals = risky token approvals for a wallet · contract_audit = full source audit.", "enum": [ "rug_pull", "holders", "sniping", "approvals", "contract_audit" ], "type": "string" }, "tokenAddress": { "description": "Token contract address to analyze.", "type": "string" } }, "required": [ "tokenAddress" ], "type": "object" }, "name": "analyze_token_security", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "The market where memecoins are priced in SHARES, on Base and Robinhood Chain. Float-corner risk (whose on-chain stock float is locked in one pool while the issuer cannot mint), stock-paired launches with their tax and dividend structure on Base AND on Robinhood Chain (~$68M/day of stock-quoted curve volume there — the larger half of this market), who bought a token earliest and who FUNDED those wallets, and which wallets keep entering early and actually realize money. [Paid: $0.25 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "board": { "default": "float-corner", "description": "portfolio = deterministic non-executing Coinbase B20 portfolio draft on Base (use `intent`) · float-corner = float concentration + mint window · wrapper-trust = can the wrapper be trusted as COLLATERAL (on-chain rate path, vault-inflation exposure, an unscheduled rate move, pause/permissioning) · stock-pairs = BaseStonk launches priced in an equity (Base) · pons-stock-pairs = Pons launches priced in an equity, and which equity the venue is collectively long (Robinhood Chain 4663) · early-buyers = entry-ranked buyers of one token plus a one-hop funding trace (needs `token`) · trader-record = which wallets are actually good · event-risk = scheduled corporate actions and the implied gap at the open.", "enum": [ "float-corner", "wrapper-trust", "stock-pairs", "pons-stock-pairs", "early-buyers", "trader-record", "event-risk", "portfolio" ], "type": "string" }, "intent": { "description": "Natural-language portfolio objective. Used when board=portfolio; no transactions are executed.", "type": "string" }, "token": { "description": "Token contract address. Required when board=early-buyers.", "type": "string" } }, "type": "object" }, "name": "analyze_tokenized_stocks", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Analyze any wallet address: current holdings, realized/unrealized P&L, a trust score, forgotten or dust assets, unclaimed airdrops, or quantum-resistance of its address type. [Paid: $0.25–$1.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Blockchain network.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana" ], "type": "string" }, "kind": { "default": "portfolio", "description": "portfolio = holdings · pnl = profit and loss x-ray · trust = trust score · forgotten = stranded assets · airdrops = unclaimed airdrops · quantum = post-quantum exposure.", "enum": [ "portfolio", "pnl", "trust", "forgotten", "airdrops", "quantum" ], "type": "string" }, "walletAddress": { "description": "Wallet address to analyze.", "type": "string" } }, "required": [ "walletAddress" ], "type": "object" }, "name": "analyze_wallet", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Open-ended crypto and DeFi analysis from Einstein's full research stack — use this when no more specific tool fits, or when the question spans several domains. Returns a written analysis grounded in live on-chain and market data. [Paid: $1.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "prompt": { "description": "The question or analysis request, in plain language.", "type": "string" } }, "required": [ "prompt" ], "type": "object" }, "name": "ask_einstein", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Assess exposure to cryptographically-relevant quantum computing: organizational PQC readiness, a migration plan, portfolio-level quantum risk, or how close a CRQC actually is by current benchmarks. [Paid: $0.50–$1.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "kind": { "default": "readiness", "description": "readiness · migration · portfolio · crqc_benchmark.", "enum": [ "readiness", "migration", "portfolio", "crqc_benchmark" ], "type": "string" }, "walletAddress": { "description": "Wallet to assess, for `portfolio`.", "type": "string" } }, "type": "object" }, "name": "assess_quantum_risk", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "AI moderation and integrity scanning for user-generated content and yield-vault listings — judges content quality and runs a deep integrity scan for manipulation. [Paid: $0.05–$1.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "content": { "description": "Content or vault identifier to assess.", "type": "string" }, "kind": { "default": "judge", "description": "judge = content quality · deep_scan = manipulation scan · vaults = list scanned vaults.", "enum": [ "judge", "deep_scan", "vaults" ], "type": "string" } }, "type": "object" }, "name": "check_content_integrity", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Free honeypot / risk screen for an EVM token contract, from the cached GoPlus security dataset. This is the quick screen — the paid analyze_token_security tool runs a live, deeper scan on any contract including ones not in the cache.", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Chain the contract is deployed on.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism" ], "type": "string" }, "contract": { "description": "Token contract address, 0x-prefixed 40 hex characters.", "type": "string" } }, "required": [ "contract" ], "type": "object" }, "name": "check_token_safety", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "chain": { "description": "Chain it was screened on." }, "contract": { "description": "Contract that was screened." }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "flags": { "description": "Individual risk flags recorded against the contract.", "items": {}, "type": "array" }, "honeypot": { "description": "True when the cached scan flagged it as a honeypot." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "result": { "additionalProperties": true, "description": "The raw cached row, for fields this summary does not normalize." }, "riskLevel": { "description": "Risk grade recorded by the scan." }, "screened": { "description": "FALSE means the contract is not in the cached dataset — \"not screened\", NOT a clean bill of health. Only a true here makes the other fields meaningful." } }, "type": "object" } }, { "description": "Detect sandwich attacks and MEV extraction against a token or wallet, watch the live EVM mempool, or get a protected routing recommendation for a pending transaction. [Paid: $0.45–$0.60 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Blockchain network.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana" ], "type": "string" }, "kind": { "default": "detection", "description": "detection = historical MEV · mempool = live mempool watch · protection = protected routing advice.", "enum": [ "detection", "mempool", "protection" ], "type": "string" }, "timeframe": { "default": "24h", "description": "Lookback window.", "enum": [ "1h", "4h", "24h", "7d", "30d" ], "type": "string" }, "tokenAddress": { "description": "Token to inspect, when relevant.", "type": "string" } }, "type": "object" }, "name": "detect_mev", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Scan for live arbitrage: DEX price dislocations, flash-loan-fundable routes, cross-chain spreads, or prediction-market mispricings. [Paid: $0.60–$1.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Blockchain network.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana" ], "type": "string" }, "kind": { "default": "dex", "description": "dex · flashloan · cross_chain · prediction_market.", "enum": [ "dex", "flashloan", "cross_chain", "prediction_market" ], "type": "string" }, "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" } }, "type": "object" }, "name": "find_arbitrage", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Find yield: DeFi lending and LP opportunities ranked by risk-adjusted return, Pendle fixed-yield and YT/PT trades, a broad vault discovery sweep, or liquidation opportunities. [Paid: $0.10–$0.75 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Blockchain network. `robinhoodchain` covers the Pendle NVDA/PFE markets.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana", "robinhoodchain" ], "type": "string" }, "kind": { "default": "defi", "description": "defi · pendle · discover · liquidations.", "enum": [ "defi", "pendle", "discover", "liquidations" ], "type": "string" }, "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" } }, "type": "object" }, "name": "find_yield", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Real-time data retrieval and compute for any token, on any supported chain — bundles a live dual-model price forecast (Google TimesFM 3.0 + Kronos, with quantile confidence bands) at no separate charge. Unlike the free get_price_forecast this runs fresh inference and is not limited to four assets. Experimental research feature — not investment advice; use at your own risk. [Paid: $0.65 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Blockchain network.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana" ], "type": "string" }, "timeframe": { "default": "1d", "description": "Candle interval for the forecast.", "enum": [ "1h", "4h", "1d", "1w" ], "type": "string" }, "token": { "description": "Token symbol or contract address to forecast.", "type": "string" } }, "required": [ "token" ], "type": "object" }, "name": "forecast_chart", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Generate keys with hardware quantum randomness: a post-quantum wallet, an encryption key, a signing key, or raw verified quantum random numbers. Keys are returned once and never stored. [Paid: $0.25–$2.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "kind": { "default": "random", "description": "wallet · encryption · signing · random (raw QRNG output).", "enum": [ "wallet", "encryption", "signing", "random" ], "type": "string" } }, "type": "object" }, "name": "generate_quantum_key", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Einstein's own current market context and operating state — the same situational briefing its autonomous engine reads before making a decision. [Paid: $1.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_agent_context", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Scored track record of public crypto commentators and influencers whose calls Einstein has graded against what actually happened. Ranked by measured hit-rate, not follower count. Reports how many calls are graded versus still awaiting their horizon, and says plainly when the record is too thin to rank.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_analyst_accuracy", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "object": { "description": "Always \"source-leaderboard\"." }, "pending_calls": { "description": "Calls made but not yet resolvable." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "reliability_gate_calls": { "description": "Graded calls a source needs before it is ranked." }, "rows": { "description": "One source per row.", "items": { "additionalProperties": true, "properties": { "decayed_samples": { "description": "Sample count after time decay." }, "graded_calls": { "description": "Calls graded so far." }, "hit_rate": { "description": "Hits ÷ graded calls, 0-1. Meaningless below the gate." }, "hits": { "description": "Calls graded correct." }, "misses": { "description": "Calls graded wrong." }, "pending": { "description": "Calls awaiting resolution." }, "source_id": { "description": "Stable source id." }, "source_label": { "description": "Display name." }, "source_type": { "description": "Kind of source." }, "weight": { "description": "Weight this source carries downstream." } } }, "type": "array" }, "sources_past_gate": { "description": "Sources that cleared the gate — the only ones whose rate means anything." }, "sources_tracked": { "description": "Sources with any graded call." } }, "type": "object" } }, { "description": "Where Bitcoin sits in its cycle by on-chain measures — realized-profit, holder-behaviour and valuation indicators rather than price alone.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_bitcoin_cycle_position", "outputSchema": { "additionalProperties": true, "properties": { "activeAddresses": { "additionalProperties": true, "description": "Active addresses, with a 7d trend." }, "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "dormantSupplyPct": { "additionalProperties": true, "description": "Share of supply dormant. Null when not in this pass." }, "exchangeFlow": { "additionalProperties": true, "description": "Exchange inflow/outflow and the net signal.", "properties": { "inflow": { "description": "Coins moving to exchanges." }, "net": { "description": "Net flow." }, "outflow": { "description": "Coins leaving exchanges." }, "signal": { "description": "What the net flow implies." } } }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "marketCap": { "additionalProperties": true, "description": "Market cap, raw and formatted." }, "minerRevenue": { "additionalProperties": true, "description": "Miner revenue." }, "mvrv": { "additionalProperties": true, "description": "MVRV ratio with its cycle signal and 7d trend.", "properties": { "signal": { "description": "What that level has historically meant." }, "trend7d": { "description": "Change over 7 days." }, "value": { "description": "MVRV ratio." } } }, "nvt": { "additionalProperties": true, "description": "NVT ratio. Null when the metric is not in this pass." }, "priceUsd": { "additionalProperties": true, "description": "BTC price, raw and formatted." }, "realizedCap": { "additionalProperties": true, "description": "Realized cap. Null when not in this pass." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "source": { "description": "On-chain data source." }, "stale": { "description": "True when the snapshot is past its refresh interval." }, "timeSeries": { "description": "History behind the metrics, one point per day.", "items": { "additionalProperties": true, "properties": { "activeAddresses": { "description": "Active addresses at that point." }, "marketCap": { "description": "Market cap at that point." }, "mvrv": { "description": "MVRV at that point." }, "time": { "description": "ISO-8601 timestamp." }, "txCount": { "description": "Transactions at that point." } } }, "type": "array" }, "totalFees": { "additionalProperties": true, "description": "Total fees paid." }, "txCount": { "additionalProperties": true, "description": "Transaction count." }, "txVolume": { "additionalProperties": true, "description": "On-chain transaction volume. Null when not in this pass." } }, "type": "object" } }, { "description": "Recently disclosed stock and asset transactions by members of the US Congress, newest first.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_congress_trades", "outputSchema": { "additionalProperties": true, "properties": { "actionableLongs": { "description": "Long signals that cleared the scoring gate." }, "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "count": { "description": "Disclosures in this pass." }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "longSignals": { "description": "Scored buy-side signals.", "items": { "additionalProperties": true, "properties": { "band": { "description": "Score band." }, "earliestTxAt": { "description": "Earliest transaction date — filings lag trades." }, "headline": { "description": "One-line summary." }, "lawmakerCount": { "description": "Distinct filers." }, "rationale": { "description": "Why it scored where it did." }, "score": { "description": "Conviction score, 0-1." }, "ticker": { "description": "Equity ticker." }, "totalUsd": { "description": "Disclosed USD behind the signal." } } }, "type": "array" }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "sectorAggregates": { "description": "Disclosed dollars by sector.", "items": { "additionalProperties": true, "properties": { "count": { "description": "Disclosures." }, "sector": { "description": "Sector." }, "totalUsd": { "description": "Disclosed USD." } } }, "type": "array" }, "shortSignals": { "description": "Scored sell-side signals; same fields as `longSignals`.", "items": {}, "type": "array" }, "shorts": { "description": "Short signals." }, "sources": { "additionalProperties": true, "description": "Per-source status — which filing feeds answered." }, "stale": { "description": "True when the snapshot is past its refresh interval." } }, "type": "object" } }, { "description": "The measured, out-of-sample accuracy of Einstein's own price forecasts — MAPE and direction hit-rate per model, asset and horizon, scored after each forecast's horizon elapsed. Hit rates are computed over INDEPENDENT trials (one forecast per non-overlapping horizon window), so they are comparable to a 50% coin flip. Use this to decide how much weight to give a forecast.", "inputSchema": { "additionalProperties": false, "properties": { "asset": { "description": "Restrict to one asset symbol, e.g. BTC. Omit for the whole board; the response lists every asset that has scored rows.", "type": "string" }, "limit": { "default": 10, "description": "Maximum scored buckets (1-50).", "type": "number" } }, "type": "object" }, "name": "get_forecast_accuracy", "outputSchema": { "additionalProperties": true, "properties": { "asset": { "description": "Asset filter applied, or null for every asset." }, "assetsScored": { "description": "Assets with a graded record.", "items": { "description": "Asset symbol." }, "type": "array" }, "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "object": { "description": "Always \"forecast-accuracy\"." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "rows": { "description": "One graded bucket per row.", "items": { "additionalProperties": true, "properties": { "asset": { "description": "Asset symbol." }, "direction_hit_rate": { "description": "Share of independent directional calls that got the direction right, 0-1. Neutral forecasts and ±0.5% scratches are excluded; null = no scored directional call yet." }, "direction_samples": { "description": "INDEPENDENT directional calls behind the hit-rate, one per non-overlapping horizon window — a DIFFERENT denominator from `samples`." }, "first_sample_ts": { "description": "Oldest graded sample (ms epoch)." }, "independent_samples": { "description": "Independent trials of any kind (directional, abstained or scratched)." }, "interval": { "description": "Candle interval." }, "last_sample_ts": { "description": "Newest graded sample (ms epoch)." }, "mape_pct": { "description": "Mean absolute percentage error." }, "model": { "description": "Forecast model (timesfm or kronos)." }, "overlapping_direction_samples": { "description": "Every verified directional forecast, overlaps included — audit only." }, "overlapping_hit_rate": { "description": "Hit rate over the overlapping count with scratches counted as misses — audit only, not a track record." }, "rmse": { "description": "Root mean squared error." }, "sample_basis": { "description": "\"independent\" = de-overlapped (the honest figure); \"overlapping\" = not de-overlapped yet, so the counts and hit rate are inflated." }, "samples": { "description": "Every verified forecast behind the error figures (MAPE/RMSE), overlapping re-issues included — NOT a count of independent calls; never quote it beside a hit rate." }, "scratch_samples": { "description": "Independent directional calls whose outcome landed inside the ±0.5% deadband; excluded from the hit rate." } } }, "type": "array" }, "totalBuckets": { "description": "Scored asset/interval/model buckets in the whole record." }, "truncated": { "additionalProperties": true, "description": "Present only when a list was cut to `limit`.", "properties": { "limit": { "description": "The cap that was applied.", "type": "number" }, "originalLengths": { "additionalProperties": true, "description": "Field name → its full length before the cut." } } } }, "type": "object" } }, { "description": "Recent notable US federal contract awards — useful for tracking which public companies are winning government money.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_government_contracts", "outputSchema": { "additionalProperties": true, "properties": { "actionableLongs": { "description": "Long signals that cleared the scoring gate." }, "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "count": { "description": "Awards in this pass." }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "longSignals": { "description": "Scored buy-side signals.", "items": { "additionalProperties": true, "properties": { "awardedAt": { "description": "Award date." }, "band": { "description": "Score band." }, "direction": { "description": "long or short." }, "fundamentalsConfluence": { "description": "Whether fundamentals agree with the award signal." }, "hasFms": { "description": "True when a Foreign Military Sale is attached." }, "headline": { "description": "One-line summary." }, "primaryTicker": { "description": "Lead ticker." }, "rationale": { "description": "Why it scored where it did." }, "score": { "description": "Conviction score, 0-1." }, "sector": { "description": "Sector." }, "surpriseRatio": { "description": "Award size against the contractor’s run rate." }, "tickers": { "description": "Every ticker on the award.", "items": {}, "type": "array" }, "totalUsd": { "description": "Awarded USD." } } }, "type": "array" }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "sectorAggregates": { "description": "Awarded dollars by sector.", "items": { "additionalProperties": true, "properties": { "awardCount": { "description": "Awards." }, "sector": { "description": "Sector." }, "topTickers": { "description": "Tickers carrying the sector.", "items": {}, "type": "array" }, "totalUsd": { "description": "Awarded USD." } } }, "type": "array" }, "shortSignals": { "description": "Scored sell-side signals; same fields as `longSignals`.", "items": {}, "type": "array" }, "shorts": { "description": "Short signals." }, "sources": { "additionalProperties": true, "description": "Per-source status — which award feeds answered." }, "stale": { "description": "True when the snapshot is past its refresh interval." }, "topScore": { "description": "Its score, 0-1." }, "topSector": { "description": "Its sector." }, "topTicker": { "description": "Highest-scoring ticker." }, "watchlistExpansion": { "description": "Tickers the pass added to the watchlist.", "items": {}, "type": "array" } }, "type": "object" } }, { "description": "Consensus positioning of the largest Hyperliquid perp traders plus current funding rates — i.e. what big leveraged money is actually long or short, and what it costs to hold that side. A coin held by fewer than 3 of the read whales is reported NEUTRAL whatever its long/short split (one whale is 100% of the traders holding a coin, which is not a consensus), and any whale accounts that could not be read this pass are reported rather than counted as flat.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_hyperliquid_whales", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "fetchedAt": { "additionalProperties": true, "description": "Per-leg refresh times — positioning and funding age independently." }, "funding": { "additionalProperties": true, "description": "Perp funding rates, their extremes, divergences and momentum.", "properties": { "available": { "description": "False when the funding leg could not be read." }, "divergences": { "description": "Assets whose funding disagrees across venues.", "items": {}, "type": "array" }, "extremes": { "additionalProperties": true, "description": "Most positive and most negative funding." }, "marketRegime": { "description": "Regime implied by funding across the book." }, "opportunities": { "description": "Funding-carry candidates.", "items": {}, "type": "array" }, "rates": { "additionalProperties": true, "description": "Funding rate per asset." } } }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "truncated": { "additionalProperties": true, "description": "Present only when a list was cut to `limit`.", "properties": { "limit": { "description": "The cap that was applied.", "type": "number" }, "originalLengths": { "additionalProperties": true, "description": "Field name → its full length before the cut." } } }, "whales": { "additionalProperties": true, "description": "Whale positioning: the consensus read, the bullish/bearish assets and the traders behind it.", "properties": { "available": { "description": "False when the positioning leg could not be read." }, "bearishAssets": { "description": "Assets the cohort is net short.", "items": {}, "type": "array" }, "bullishAssets": { "description": "Assets the cohort is net long.", "items": {}, "type": "array" }, "consensus": { "description": "Net directional read across the traders." }, "topTraders": { "description": "The traders behind the read.", "items": {}, "type": "array" }, "tradersAnalyzed": { "description": "Traders actually read." }, "tradersRequested": { "description": "Traders the pass tried to read — a gap means partial coverage." }, "whalePositions": { "description": "Individual positions.", "items": {}, "type": "array" } } } }, "type": "object" } }, { "description": "Tokens that just migrated off a bonding curve onto a DEX, with holder-distribution forensics: what share the dev, snipers, insiders and bundler wallets hold, plus wash-trading tags. Covers Pump.fun, Bonk, Raydium, Meteora, Four.meme, Flap and others through one feed. Use when asked about new launches, fresh memecoins, or whether a launch is bundled.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 8, "description": "Rows to return (1-15).", "type": "number" } }, "type": "object" }, "name": "get_launchpad_radar", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "chain": { "description": "Chain the screen ran on." }, "object": { "description": "Always \"launchpad-radar\"." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "rows": { "description": "Launchpad tokens approaching or past migration.", "items": { "additionalProperties": true, "properties": { "bundlerHoldingPct": { "description": "Share held through bundlers." }, "chainId": { "description": "EVM chain id." }, "contractAddress": { "description": "Token contract." }, "createTime": { "description": "Creation time." }, "devAddress": { "description": "Deployer address." }, "devPosition": { "description": "Deployer position size." }, "devSellPct": { "description": "Share of the deployer position already sold." }, "holders": { "description": "Holder count." }, "holdersDevPct": { "description": "Share held by the deployer." }, "holdersInsiderPct": { "description": "Share held by insiders." }, "holdersSniperPct": { "description": "Share held by snipers." }, "holdersTop10Pct": { "description": "Share held by the top 10 holders." }, "liquidityUsd": { "description": "Pool liquidity." }, "marketCapUsd": { "description": "Market cap in USD." }, "migrateStatus": { "description": "Migration status." }, "name": { "description": "Token name." }, "newWalletHoldingPct": { "description": "Share held by wallets created around launch." }, "priceChangePct": { "description": "Percentage price change over the period." }, "priceUsd": { "description": "Price in USD." }, "progressPct": { "description": "Bonding-curve progress toward migration." }, "protocol": { "description": "Launchpad protocol." }, "socials": { "additionalProperties": true, "description": "Links the token publishes." }, "symbol": { "description": "Token symbol." }, "tagDevWashTrading": { "description": "Deployer wash-trading flag." }, "tagInsiderWashTrading": { "description": "Insider wash-trading flag." }, "volumeUsd": { "description": "Period volume." } } }, "type": "array" } }, "type": "object" } }, { "description": "Multi-source market sentiment in one read: the crypto Fear & Greed index, CoinMarketCap’s variant, the traditional-market (CNN) Fear & Greed, and the Altcoin Season index. Useful for framing any \"how is the market feeling\" question.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_market_sentiment", "outputSchema": { "additionalProperties": true, "properties": { "altcoinSeason": { "additionalProperties": true, "description": "Altcoin-season regime, its 30d/90d indices and the cohort behind them." }, "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "cmc": { "additionalProperties": true, "description": "CoinMarketCap Fear & Greed index, with a yearly high/low." }, "crypto": { "additionalProperties": true, "description": "Crypto Fear & Greed index, with yesterday/last-week comparisons." }, "fetchedAt": { "additionalProperties": true, "description": "Per-source refresh times; the four sources age independently." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "tradfi": { "additionalProperties": true, "description": "CNN TradFi Fear & Greed index — the equities read, for divergence." } }, "type": "object" } }, { "description": "Large and unusually-early positions taken on Polymarket prediction markets, surfaced from the insider-detection scan.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_polymarket_whales", "outputSchema": { "additionalProperties": true, "properties": { "alertCount": { "description": "Alerts in this pass." }, "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "highRiskCount": { "description": "Alerts graded high risk." }, "insiderScanReport": { "additionalProperties": true, "description": "The scan behind the alerts.", "properties": { "alerts": { "description": "Flagged positions.", "items": {}, "type": "array" }, "dataSourcesUsed": { "description": "Sources the scan read.", "items": {}, "type": "array" }, "marketAnomalies": { "description": "Market-level anomalies.", "items": {}, "type": "array" }, "marketsAnalyzed": { "description": "Markets examined." }, "walletClusters": { "description": "Wallets that move together.", "items": {}, "type": "array" }, "walletsFlagged": { "description": "Wallets flagged." }, "walletsScanned": { "description": "Wallets examined." }, "whaleTransfers": { "description": "Large transfers into the flagged wallets.", "items": {}, "type": "array" } } }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "stale": { "description": "True when the snapshot is past its refresh interval." }, "truncated": { "additionalProperties": true, "description": "Present only when a list was cut to `limit`.", "properties": { "limit": { "description": "The cap that was applied.", "type": "number" }, "originalLengths": { "additionalProperties": true, "description": "Field name → its full length before the cut." } } } }, "type": "object" } }, { "description": "Upcoming dated events on Polymarket whose odds are moving — the catalysts most likely to move crypto or macro narratives next.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_prediction_market_catalysts", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "matches": { "description": "Prediction markets whose odds moved against a dated catalyst.", "items": {}, "type": "array" }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "stale": { "description": "True when the snapshot is past its refresh interval." } }, "type": "object" } }, { "description": "Near-certain Polymarket outcomes ranked by annualized return to resolution — the \"cash-like yield\" view of prediction markets.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_prediction_market_yields", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "lookbackHours": { "description": "Window scanned." }, "minCollateralUsd": { "description": "USD size a ticket had to clear." }, "priceFloor": { "description": "Entry price a ticket had to clear, 0-1." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "stale": { "description": "True when the snapshot is past its refresh interval." }, "totals": { "additionalProperties": true, "description": "Totals across the surface.", "properties": { "collateralUsd": { "description": "USD collateral behind them." }, "spreadUsd": { "description": "USD spread to resolution." }, "trades": { "description": "Tickets counted." } } }, "trades": { "description": "Redemption-arb tickets — near-certain outcomes still trading below $1.", "items": {}, "type": "array" }, "truncated": { "additionalProperties": true, "description": "Present only when a list was cut to `limit`.", "properties": { "limit": { "description": "The cap that was applied.", "type": "number" }, "originalLengths": { "additionalProperties": true, "description": "Field name → its full length before the cut." } } }, "wallets": { "description": "Wallets taking those tickets.", "items": {}, "type": "array" } }, "type": "object" } }, { "description": "Einstein's dual-model machine-learning price forecast (Google TimesFM 3.0 + Kronos) for BTC, ETH, SOL or BNB, including whether the two models agree and the direction/drift each projects. Pre-computed every 4 hours; returns the cached run rather than triggering new inference.", "inputSchema": { "additionalProperties": false, "properties": { "asset": { "default": "BTC", "description": "Asset symbol. Only the pre-computed universe is available for free.", "enum": [ "BTC", "ETH", "SOL", "BNB" ], "type": "string" }, "interval": { "default": "1d", "description": "Candle interval: 4h looks ~32h ahead, 1d ~7d, 1w ~4w, 1M ~4mo.", "enum": [ "4h", "1d", "1w", "1M" ], "type": "string" } }, "type": "object" }, "name": "get_price_forecast", "outputSchema": { "additionalProperties": true, "properties": { "asset": { "description": "Asset the forecast covers (BTC, ETH, SOL or BNB)." }, "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "consensus": { "description": "True when TimesFM and Kronos agree. False means the models DISAGREE and the signal is weak; null means agreement was not recorded." }, "direction": { "description": "Projected direction — bullish, bearish or neutral." }, "driftPct": { "description": "Projected percentage drift over the interval." }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "interval": { "description": "Candle interval: 4h, 1d, 1w or 1M." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "source": { "description": "Which store the cached run came from." } }, "type": "object" } }, { "description": "Individual large DEX trades on Robinhood Chain (EVM 4663) — the tokenized equities (NVDA, SPY, HIMS) and Pons memecoin flow that no mainnet whale feed carries, each with its token, side, venue and USD value. Every print is valued through its USDG or ETH leg and cross-checked, so trades priced off a freshly-created pool (which the raw chain data reports in the hundreds of millions) are excluded rather than published. WETH/USDG FX swaps are counted separately instead of dominating the tape.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_robinhood_whale_prints", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "prints": { "additionalProperties": true, "description": "The tape and the pass that produced it.", "properties": { "available": { "description": "False when the last pass could not measure the chain." }, "chain": { "description": "Chain name." }, "chainId": { "description": "EVM chain id — 4663 for Robinhood Chain." }, "ethSource": { "description": "Where that ETH price came from." }, "ethUsd": { "description": "ETH price used to value the ETH-legged prints." }, "minUsd": { "description": "USD floor a trade had to clear to be printed." }, "prints": { "description": "Individual large trades.", "items": { "additionalProperties": true, "properties": { "side": { "description": "buy or sell." }, "token": { "description": "Token traded." }, "usd": { "description": "USD value of the print." }, "venue": { "description": "Pool or venue the print hit." } } }, "type": "array" }, "quoteSwapUsd": { "description": "USD volume of those FX swaps." }, "quoteSwaps": { "description": "WETH/USDG FX swaps, counted separately so they do not dominate the tape." }, "rowsRejected": { "description": "Trades dropped as mispriced — a fresh pool reports values in the hundreds of millions, so they are excluded rather than published." }, "rowsScanned": { "description": "Trades examined." }, "windowMinutes": { "description": "Lookback window." } } }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" } }, "type": "object" } }, { "description": "Where profitable on-chain wallets have been rotating capital recently, from the tracked smart-money cohort.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows to return (1-25).", "type": "number" } }, "type": "object" }, "name": "get_smart_money_flow", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "droppedRoutineCustody": { "description": "Transfers dropped as routine custody movement rather than signal." }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "notableTransfers": { "description": "The transfers behind the signal.", "items": { "additionalProperties": true, "properties": { "amountUsd": { "description": "USD value." }, "description": { "description": "Human-readable summary of the transfer." }, "direction": { "description": "Direction of the flow." }, "fromLabel": { "description": "Labelled sender, when known." }, "signalClass": { "description": "How the transfer was classified." }, "toLabel": { "description": "Labelled recipient, when known." }, "token": { "description": "Token moved." } } }, "type": "array" }, "overallSignal": { "description": "Net read across the transfers — accumulating, distributing or neutral." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "smartMoneyMoves": { "description": "One-line summaries of the same moves.", "items": { "description": "Summary line." }, "type": "array" }, "stale": { "description": "True when the snapshot is past its refresh interval." } }, "type": "object" } }, { "description": "Tokens ranked by NET smart-money inflow in US dollars over the last 24 hours, from wallets Binance tracks as consistently profitable. Reports the number of distinct wallets behind each figure — a large inflow from one wallet is a position, not a consensus. BSC. Use when asked what smart money is buying or where informed flow is going.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 8, "description": "Rows to return (1-15).", "type": "number" } }, "type": "object" }, "name": "get_smart_money_inflow", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "chain": { "description": "Chain the screen ran on." }, "object": { "description": "Always \"smart-money-inflow\"." }, "period": { "description": "Lookback period." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "rows": { "description": "Tokens ranked by smart-money inflow.", "items": { "additionalProperties": true, "properties": { "chainId": { "description": "EVM chain id." }, "contractAddress": { "description": "Token contract." }, "holders": { "description": "Holder count." }, "holdersTop10Pct": { "description": "Share held by the top 10 holders — concentration risk." }, "inflowUsd": { "description": "Net smart-money inflow — what the ranking is on." }, "kycHolders": { "description": "Holders with a KYC attestation." }, "launchTime": { "description": "When the token launched." }, "liquidityUsd": { "description": "Pool liquidity." }, "marketCapUsd": { "description": "Market cap in USD." }, "priceChangePct": { "description": "Percentage price change over the period." }, "priceUsd": { "description": "Price in USD." }, "riskLevel": { "description": "Risk grade." }, "symbol": { "description": "Token symbol." }, "traders": { "description": "Distinct traders." }, "volumeUsd": { "description": "Period volume." } } }, "type": "array" } }, "type": "object" } }, { "description": "Tokens ranked by social buzz over the last 24 hours, each with a sentiment classification (Positive/Negative/Neutral), the number of distinct KOL accounts discussing it, and a one-line summary of what is actually being said. BSC. Use when asked what is being talked about, what is trending socially, or how sentiment sits on a token.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 8, "description": "Rows to return (1-15).", "type": "number" }, "sentiment": { "default": "All", "description": "Filter to one sentiment class.", "enum": [ "All", "Positive", "Negative", "Neutral" ], "type": "string" } }, "type": "object" }, "name": "get_social_hype", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "chain": { "description": "Chain the screen ran on." }, "object": { "description": "Always \"social-hype\"." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "rows": { "description": "Tokens ranked by social hype.", "items": { "additionalProperties": true, "properties": { "chainId": { "description": "EVM chain id." }, "contractAddress": { "description": "Token contract." }, "kolCount": { "description": "Distinct known accounts posting." }, "marketCapUsd": { "description": "Market cap in USD." }, "priceChangePct": { "description": "Percentage price change over the period." }, "sentiment": { "description": "Sentiment read for this token." }, "socialHype": { "description": "Hype score — what the ranking is on." }, "summaryBrief": { "description": "One-line summary of what is being said." }, "summaryDetail": { "description": "Longer summary." }, "symbol": { "description": "Token symbol." }, "tokenAgeMs": { "description": "Token age in milliseconds." } } }, "type": "array" }, "sentiment": { "description": "Sentiment filter applied." } }, "type": "object" } }, { "description": "The largest 24h movers across the major-cap crypto universe, gainers or losers, from a refreshed market snapshot.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum rows (1-25).", "type": "number" }, "side": { "default": "gainers", "description": "Which end of the board to return.", "enum": [ "gainers", "losers" ], "type": "string" } }, "type": "object" }, "name": "get_top_movers", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.", "type": "boolean" }, "crossAsset": { "additionalProperties": true, "description": "Cross-asset ranking plus the universe/cohort sizes it was drawn from.", "properties": { "cohortSize": { "description": "Assets in the ranked cohort." }, "gainers": { "description": "Top gainers.", "items": {}, "type": "array" }, "losers": { "description": "Top losers.", "items": {}, "type": "array" }, "universeSize": { "description": "Assets considered before filtering." } } }, "errors": { "description": "Legs that failed. A partial answer says so here rather than reading as a quiet market.", "items": { "description": "Error text." }, "type": "array" }, "fetchedAt": { "description": "When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries." }, "idSource": { "description": "Source of the asset identifiers." }, "limit": { "description": "Row cap applied to every list in this payload.", "type": "number" }, "perChain": { "additionalProperties": true, "description": "Per-chain movers, keyed by chain." }, "perChainUnavailable": { "description": "True when the per-chain leg could not be read." }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" }, "side": { "description": "Which side was asked for — gainers or losers." }, "source": { "description": "Price source behind the cross-asset ranking." }, "stale": { "description": "True when the snapshot is past its refresh interval." } }, "type": "object" } }, { "description": "Einstein's current live trade signals — the setups its own autonomous engine is acting on, with entry, stop and target levels and the reasoning behind each. [Paid: $0.50 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" } }, "type": "object" }, "name": "get_trade_signals", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Block-explorer intelligence on 18 EVM chains, from live Etherscan V2 data. `contract` reviews a deployed contract — resolving proxies FIRST (EIP-1967, the legacy OpenZeppelin slot USDC still uses, EIP-1167 clones, Gnosis Safe, EIP-2535 diamonds) so the answer describes the implementation that actually executes rather than the delegating stub. `transaction` explains what one transaction did: decoded method and logs, exact integer gas arithmetic including the L1 data fee on OP-stack chains, asset and permission changes, and decoded revert reasons. `flow` follows the money from a transaction or wallet across hops and returns a nodes-and-edges graph where every edge carries a real transaction hash. Read-only; nothing is signed or broadcast. [Paid: $0.25–$0.35 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "address": { "description": "Contract or wallet address (0x + 40 hex).", "type": "string" }, "chain": { "default": "base", "description": "Blockchain network.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana" ], "type": "string" }, "kind": { "default": "contract", "description": "contract = review a deployed contract (needs `address`) · transaction = explain one transaction (needs `txHash`) · flow = trace fund flow from a transaction or wallet.", "enum": [ "contract", "transaction", "flow" ], "type": "string" }, "txHash": { "description": "Transaction hash (0x + 64 hex).", "type": "string" } }, "required": [], "type": "object" }, "name": "inspect_onchain", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Everything Einstein can do through this connector, split into free tools and paid tools with their prices, plus how billing works. Call this when you are not sure which tool fits, or before telling a user something isn't available.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_einstein_capabilities", "outputSchema": { "additionalProperties": true, "properties": { "available": { "description": "False when this call has no data. NOT an error.", "type": "boolean" }, "billing": { "additionalProperties": true, "description": "How paying works: the billing model, how to top up and how to sign in.", "type": "object" }, "free": { "description": "Tools any caller can use with no account and no charge.", "items": { "additionalProperties": true, "properties": { "description": { "description": "What it returns.", "type": "string" }, "name": { "description": "Tool name to call.", "type": "string" }, "title": { "description": "Human-readable title.", "type": "string" } }, "type": "object" }, "type": "array" }, "paid": { "description": "Tools that need a signed-in Einstein account with credit.", "items": { "additionalProperties": true, "properties": { "description": { "description": "What it returns.", "type": "string" }, "name": { "description": "Tool name to call.", "type": "string" }, "priceUsd": { "description": "USD price per call, or a range when the tool routes to several skills.", "type": "string" }, "title": { "description": "Human-readable title.", "type": "string" } }, "type": "object" }, "type": "array" }, "reason": { "description": "Why the payload is absent, when `available` is false.", "type": "string" } }, "type": "object" } }, { "description": "Risk-aware allocation guidance: portfolio risk allocation, how to split capital across strategies, whether current conditions pass Einstein’s strategy gate, or its meta-strategy read of the whole market. [Paid: $0.50–$1.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "context": { "description": "Portfolio or constraints to reason about.", "type": "string" }, "kind": { "default": "portfolio_risk", "description": "portfolio_risk · strategy_split · gate_check · meta_strategy.", "enum": [ "portfolio_risk", "strategy_split", "gate_check", "meta_strategy" ], "type": "string" } }, "type": "object" }, "name": "recommend_allocation", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Backtest a trading strategy on real historical data: describe rules in plain language for a custom event-driven backtest, run a standard strategy template, or optimize a strategy’s parameters. [Paid: $0.75–$2.00 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "asset": { "description": "Asset to backtest against.", "type": "string" }, "kind": { "default": "custom", "description": "custom (plain-language rules) · standard · engine · optimize.", "enum": [ "custom", "standard", "engine", "optimize" ], "type": "string" }, "strategy": { "description": "Plain-language strategy description or template name.", "type": "string" } }, "required": [ "strategy" ], "type": "object" }, "name": "run_backtest", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "New and trending token launches: Pump.fun (Solana), Zora (Base), or the Robinhood Chain market catalog. [Paid: $0.25–$0.40 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" }, "timeframe": { "default": "24h", "description": "Lookback window.", "enum": [ "1h", "4h", "24h", "7d", "30d" ], "type": "string" }, "venue": { "default": "pumpfun", "description": "Which launch venue to scan.", "enum": [ "pumpfun", "zora", "robinhood" ], "type": "string" } }, "type": "object" }, "name": "scan_launchpads", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Live market scans: top gainers, biggest movers, alpha-ranked gainers with quality filters, the altcoin-season reading, technical analysis for one asset, or the current market-regime classification. [Paid: $0.25–$0.60 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Blockchain network.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana" ], "type": "string" }, "kind": { "default": "top_gainers", "description": "top_gainers · movers · alpha_ranked (quality-filtered gainers) · altseason · technicals (needs `token`) · regime (market regime classification).", "enum": [ "top_gainers", "movers", "alpha_ranked", "altseason", "technicals", "regime" ], "type": "string" }, "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" }, "timeframe": { "default": "24h", "description": "Lookback window.", "enum": [ "1h", "4h", "24h", "7d", "30d" ], "type": "string" }, "token": { "description": "Token symbol or address, for `technicals`.", "type": "string" } }, "type": "object" }, "name": "scan_market", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Census the Uniswap v4 hook layer on Robinhood Chain (4663) and Base: which hook contracts are creating the most pools, what each is permitted to do to a trader or an LP (take an arbitrary cut of a swap, reject a swap, block a liquidity withdrawal), which sit behind an upgradeable proxy, and which hooks no registry has catalogued. Permissions are decoded from the hook address itself, so they describe capability, not intent — most delta-taking hooks are ordinary launchpads. Robinhood Chain is one of the largest Uniswap v4 venues by volume (the share moves week to week) and a large share of its hooked liquidity is uncatalogued. [Paid: $0.25 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chainId": { "description": "Restrict to one chain. 4663 = Robinhood Chain, 8453 = Base. Omit for both.", "enum": [ 4663, 8453 ], "type": "number" } }, "type": "object" }, "name": "scan_v4_hooks", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } }, { "description": "Live intelligence on large capital: on-chain whale transfers and accumulation, Hyperliquid perp whale positioning, or the profitable smart-money cohort. [Paid: $0.45–$0.50 per call from your Einstein credit balance. Free alternatives exist for several of these — see list_einstein_capabilities.]", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "default": "base", "description": "Blockchain network.", "enum": [ "base", "ethereum", "bsc", "arbitrum", "polygon", "optimism", "solana" ], "type": "string" }, "limit": { "default": 10, "description": "Maximum results (1-100).", "type": "number" }, "timeframe": { "default": "24h", "description": "Lookback window.", "enum": [ "1h", "4h", "24h", "7d", "30d" ], "type": "string" }, "venue": { "default": "onchain", "description": "onchain = large on-chain transfers · hyperliquid = perp whale positioning · smart_money = profitable-wallet cohort.", "enum": [ "onchain", "hyperliquid", "smart_money" ], "type": "string" } }, "type": "object" }, "name": "track_whales", "outputSchema": { "additionalProperties": true, "properties": { "analysis": { "description": "The written answer, identical to the result's text block. This is the field to read: the rest of the payload is whichever capability answered, and its shape varies by tool and by argument.", "type": "string" }, "available": { "description": "True when the analysis ran. False when it did not — no capability matched the arguments, the caller is out of credit, billing was unavailable, or the skill produced nothing. NOT a statement about the market.", "type": "boolean" }, "reason": { "description": "Why there is no analysis, when `available` is false.", "type": "string" }, "skill": { "description": "Which Einstein capability answered. These tools route onto one of many skills by an enum argument, so this names the branch that actually ran.", "type": "string" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:b8cddb5c1838aecbb6aec36b16fe2c950413a8a3ee2e7867617e12da5277f1b2 | sha256sum