Server definition
- Hash
- sha256:8448d14004801b96f3ce12fff7dac6ae153eebf57b7477a3e710fc6e9dbaba6b
- What it is
- What a remote MCP server returned when asked what it offers: 108 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Record a new position in a thesis for tracking. Use after an intent fills or a manual trade.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"direction": {
"description": "Position direction",
"enum": [
"yes",
"no"
],
"type": "string"
},
"entryPrice": {
"description": "Entry price in cents",
"type": "number"
},
"externalMarketId": {
"description": "Market ticker",
"type": "string"
},
"marketTitle": {
"description": "Human-readable market name",
"type": "string"
},
"rationale": {
"description": "Why this position",
"type": "string"
},
"size": {
"description": "Position size (contracts)",
"type": "number"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
},
"venue": {
"description": "Exchange venue",
"enum": [
"kalshi",
"polymarket"
],
"type": "string"
}
},
"required": [
"thesisId",
"apiKey",
"venue",
"externalMarketId",
"marketTitle",
"direction",
"entryPrice"
],
"type": "object"
},
"name": "add_position",
"outputSchema": null
},
{
"description": "Advanced: Merge suggested causal tree nodes from evaluations into the tree (append-only).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"dryRun": {
"description": "Preview without applying (default: false)",
"type": "boolean"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "augment_tree",
"outputSchema": null
},
{
"description": "Fetch many markets at once by ticker list. Cheaper than calling get_market_detail in a loop.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"depth": {
"description": "Orderbook depth levels (0 = none)",
"type": "number"
},
"tickers": {
"description": "Comma-separated tickers",
"type": "string"
}
},
"required": [
"tickers"
],
"type": "object"
},
"name": "batch_markets",
"outputSchema": null
},
{
"description": "Browse public skills from the community. Free-tier and rate-limited. Filter by category, search, or sort by popularity.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Filter by category: custom, trading, research, monitoring",
"type": "string"
},
"q": {
"description": "Search skills by name/description",
"type": "string"
},
"sort": {
"description": "Sort order: popular or new (default: new)",
"enum": [
"popular",
"new"
],
"type": "string"
}
},
"type": "object"
},
"name": "browse_public_skills",
"outputSchema": null
},
{
"description": "Cancel an active intent. Stops trigger evaluation and prevents execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"intentId": {
"description": "Intent ID to cancel",
"type": "string"
}
},
"required": [
"apiKey",
"intentId"
],
"type": "object"
},
"name": "cancel_intent",
"outputSchema": null
},
{
"description": "Delete a position record from a thesis.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"positionId": {
"description": "Position ID",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"positionId",
"apiKey"
],
"type": "object"
},
"name": "close_position",
"outputSchema": null
},
{
"description": "Configure the 24/7 heartbeat engine: news scan interval, X scan interval, LLM model tier, monthly budget, runtime pause/resume, and closed-loop intent creation. Agent can speed up monitoring during high volatility or slow down to save budget.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"closedLoopEntry": {
"description": "Enable/disable closed-loop entry intent creation",
"type": "boolean"
},
"closedLoopExit": {
"description": "Enable/disable closed-loop exit intent creation",
"type": "boolean"
},
"evalModelTier": {
"description": "LLM model for evaluations",
"enum": [
"cheap",
"base",
"medium",
"heavy"
],
"type": "string"
},
"monthlyBudgetUsd": {
"description": "Monthly budget cap in USD (0 = unlimited)",
"type": "number"
},
"newsIntervalMin": {
"description": "News scan interval in minutes (15-1440, default 240)",
"type": "number"
},
"paused": {
"description": "Pause/resume heartbeat",
"type": "boolean"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
},
"xIntervalMin": {
"description": "X/social scan interval in minutes (60-1440, default 240)",
"type": "number"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "configure_heartbeat",
"outputSchema": null
},
{
"description": "Declare an execution intent: \"buy X when condition Y, expire at Z.\" Intents are the single gateway for all order execution. The local runtime daemon evaluates triggers and executes via user's Kalshi/Polymarket keys.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "Trade action",
"enum": [
"buy",
"sell"
],
"type": "string"
},
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"autoExecute": {
"default": false,
"description": "Auto-execute without later human confirmation. Defaults to false unless explicitly set true.",
"type": "boolean"
},
"direction": {
"description": "Contract direction",
"enum": [
"yes",
"no"
],
"type": "string"
},
"expireAt": {
"description": "ISO timestamp when intent expires (default: +24h)",
"type": "string"
},
"marketId": {
"description": "Market ticker (e.g. KXFEDDEC-25DEC31-T100)",
"type": "string"
},
"marketTitle": {
"description": "Human-readable market name",
"type": "string"
},
"maxPrice": {
"description": "Max price per contract in cents (1-99). Omit for market order.",
"type": "number"
},
"rationale": {
"description": "Why this trade — logged for audit trail",
"type": "string"
},
"source": {
"default": "agent",
"description": "Intent source: agent, manual, idea",
"type": "string"
},
"sourceId": {
"description": "Source reference (idea ID, thesis ID, etc.)",
"type": "string"
},
"targetQuantity": {
"description": "Number of contracts",
"type": "number"
},
"triggerPrice": {
"description": "Price trigger threshold in cents (for price_below/price_above)",
"type": "number"
},
"triggerType": {
"default": "immediate",
"description": "When to execute",
"enum": [
"immediate",
"price_below",
"price_above",
"time"
],
"type": "string"
},
"venue": {
"description": "Exchange venue",
"enum": [
"kalshi",
"polymarket"
],
"type": "string"
}
},
"required": [
"apiKey",
"action",
"venue",
"marketId",
"marketTitle",
"direction",
"targetQuantity"
],
"type": "object"
},
"name": "create_intent",
"outputSchema": null
},
{
"description": "Create a custom agent skill — a reusable prompt/workflow that can be triggered via slash command.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"auto": {
"description": "Auto-trigger condition",
"type": "string"
},
"category": {
"description": "Category: custom, trading, research, monitoring",
"type": "string"
},
"description": {
"description": "What this skill does",
"type": "string"
},
"estimatedTime": {
"description": "Estimated run time",
"type": "string"
},
"name": {
"description": "Skill name (e.g. \"precheck\")",
"type": "string"
},
"prompt": {
"description": "The full prompt/instructions for the skill",
"type": "string"
},
"tags": {
"description": "Tags for discovery",
"items": {
"type": "string"
},
"type": "array"
},
"toolsUsed": {
"description": "SimpleFunctions tools this skill uses",
"items": {
"type": "string"
},
"type": "array"
},
"trigger": {
"description": "Slash command trigger (e.g. \"/precheck\")",
"type": "string"
}
},
"required": [
"apiKey",
"name",
"trigger",
"description",
"prompt"
],
"type": "object"
},
"name": "create_skill",
"outputSchema": null
},
{
"description": "Set up automated trading: define entry price, stop loss, take profit, and LLM-evaluated soft conditions. The heartbeat engine checks conditions every 15 min and executes when met.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"direction": {
"description": "Trade direction",
"enum": [
"yes",
"no"
],
"type": "string"
},
"entryAbove": {
"description": "Entry trigger: ask >= this value (cents, for NO direction)",
"type": "number"
},
"entryBelow": {
"description": "Entry trigger: ask <= this value (cents)",
"type": "number"
},
"horizon": {
"default": "medium",
"description": "Time horizon",
"enum": [
"short",
"medium",
"long"
],
"type": "string"
},
"market": {
"description": "Human-readable market name",
"type": "string"
},
"marketId": {
"description": "Market ticker e.g. KXWTIMAX-26DEC31-T150",
"type": "string"
},
"maxQuantity": {
"default": 500,
"description": "Max total contracts",
"type": "number"
},
"perOrderQuantity": {
"default": 50,
"description": "Contracts per order",
"type": "number"
},
"rationale": {
"description": "Full logic description",
"type": "string"
},
"softConditions": {
"description": "LLM-evaluated conditions",
"type": "string"
},
"stopLoss": {
"description": "Stop loss: bid <= this value (cents)",
"type": "number"
},
"takeProfit": {
"description": "Take profit: bid >= this value (cents)",
"type": "number"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey",
"marketId",
"market",
"direction"
],
"type": "object"
},
"name": "create_strategy",
"outputSchema": null
},
{
"description": "Create a new prediction market thesis from a TESTABLE CLAIM — a statement that can be verified true or false at a future time. GOOD: \"Bitcoin closes 2026 above $50,000\". BAD: \"High conviction due to large price gap\" (that is reasoning, not a claim). Builds a causal tree and scans for mispriced contracts. Formation takes ~60s.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"sync": {
"default": true,
"description": "Wait for formation to complete",
"type": "boolean"
},
"thesis": {
"description": "Your thesis statement",
"type": "string"
}
},
"required": [
"apiKey",
"thesis"
],
"type": "object"
},
"name": "create_thesis",
"outputSchema": null
},
{
"description": "Cross-reference any text with thousands of prediction market contracts. Paste content + topics, get divergence analysis: where sentiment disagrees with market prices. No auth, no Firecrawl needed. Demo/trial entry point.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"content": {
"description": "Text content to cross-reference (up to 50K chars)",
"type": "string"
},
"includeIndex": {
"description": "Include SimpleFunctions Index",
"type": "boolean"
},
"model": {
"description": "LLM model for digest generation. Default: google/gemini-2.5-flash",
"type": "string"
},
"topics": {
"description": "Topics to search in prediction markets, e.g. [\"iran\", \"oil\"]",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"content",
"topics"
],
"type": "object"
},
"name": "enrich_content",
"outputSchema": null
},
{
"description": "Browse public theses from other users. Free-tier and rate-limited. Pass a slug to get details, or omit to list all.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"description": "Specific thesis slug, or empty to list all",
"type": "string"
}
},
"type": "object"
},
"name": "explore_public",
"outputSchema": null
},
{
"description": "Browse public theses (alias of explore_public). Pass slug to get one, omit to list.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"description": "Thesis slug, or empty to list",
"type": "string"
}
},
"type": "object"
},
"name": "explore_theses",
"outputSchema": null
},
{
"description": "Fork a public skill into your collection. No slug needed — just the skill ID.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"skillId": {
"description": "Public skill ID to fork",
"type": "string"
}
},
"required": [
"apiKey",
"skillId"
],
"type": "object"
},
"name": "fork_skill",
"outputSchema": null
},
{
"description": "Fork a thesis. Two modes: (1) Clone — call with just idOrSlug to copy a PUBLIC thesis verbatim into your collection. (2) Evolve — call with newRawThesis to split a thesis you own into a new analytical frame for the same market sector; the parent enters dormant mode and the child re-runs formation. Use evolve when the current frame is fundamentally inadequate for what the evidence now shows.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"idOrSlug": {
"description": "Thesis ID or public slug",
"type": "string"
},
"inheritEdgeMarketIds": {
"description": "Evolve mode: subset of current edge marketIds to carry over. Omit to let formation rescan fresh.",
"items": {
"type": "string"
},
"type": "array"
},
"newRawThesis": {
"description": "Evolve mode: new frame in 1-3 sentences. Omit for clone mode.",
"type": "string"
},
"newTitle": {
"description": "Evolve mode: short title for the new thesis, ≤60 chars",
"type": "string"
},
"reason": {
"description": "Evolve mode: why the original frame is no longer adequate",
"type": "string"
}
},
"required": [
"apiKey",
"idOrSlug"
],
"type": "object"
},
"name": "fork_thesis",
"outputSchema": null
},
{
"description": "Runtime playbook for agents: step-by-step workflows for query / monitor / integrate intents. Use when an agent is lost or needs onboarding.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"intent": {
"description": "Workflow intent",
"enum": [
"query",
"monitor",
"integrate"
],
"type": "string"
},
"q": {
"description": "Specific question to scope the guide",
"type": "string"
}
},
"type": "object"
},
"name": "get_agent_guide",
"outputSchema": null
},
{
"description": "Pre-computed answer card for a probability question (the same data that powers /answer/{slug}). Returns probability, confidence, and citations.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"description": "Answer slug (e.g. will-the-fed-cut-rates-in-december)",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_answer",
"outputSchema": null
},
{
"description": "Advanced: Kalshi account balance and portfolio value.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "get_balance",
"outputSchema": null
},
{
"description": "Topic-scoped briefing: short narrative + relevant markets + prior moves + key dates. Reusable as a callable /briefing card.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"topic": {
"description": "Topic keyword",
"type": "string"
},
"window": {
"description": "Lookback window",
"type": "string"
}
},
"type": "object"
},
"name": "get_briefing",
"outputSchema": null
},
{
"description": "Upcoming dated events that drive prediction markets: FOMC, CPI release, election dates, sports finals. Returns date, topic, and linked tickers.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Category filter (econ, election, sports, geo)",
"type": "string"
},
"days": {
"description": "Lookahead days (default 30)",
"type": "number"
}
},
"type": "object"
},
"name": "get_calendar",
"outputSchema": null
},
{
"description": "SimpleFunctions calibration: Brier scores, hit rates by edge bucket, category breakdown, drift alerts. Measured against resolved/settled markets.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Topic filter (fed, elections, ai, crypto, sports, ...)",
"type": "string"
},
"period": {
"description": "Period (30d, 90d, all)",
"type": "string"
}
},
"type": "object"
},
"name": "get_calibration",
"outputSchema": null
},
{
"description": "Market change events since a timestamp: new contracts, price moves, removed contracts. Used by the live feed and agent context refreshers.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"description": "Keyword filter",
"type": "string"
},
"since": {
"description": "ISO timestamp lower bound",
"type": "string"
},
"type": {
"description": "Change type",
"enum": [
"new_contract",
"price_move",
"removed_contract"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_changes",
"outputSchema": null
},
{
"description": "Per-thesis change delta since a timestamp — what evolved on this thesis (signals consumed, edges updated, confidence moves).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"since": {
"description": "ISO timestamp lower bound",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "get_changes_delta",
"outputSchema": null
},
{
"description": "Get a single Congress member by bioguide ID.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "Bioguide ID",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_congress_member",
"outputSchema": null
},
{
"description": "Connected-market signals: contracts that historically co-move with the input topic but have diverged in the current window. Surfaces \"this market should have moved but didn't\" trades.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"topic": {
"description": "Topic keyword (fed, election, ai)",
"type": "string"
},
"window": {
"description": "Lookback (e.g. 24h, 7d)",
"type": "string"
}
},
"type": "object"
},
"name": "get_contagion",
"outputSchema": null
},
{
"description": "START HERE. Global market snapshot: top edges (mispriced contracts), price movers, highlights, traditional markets — live exchange data updated every 15 min. With thesisId + apiKey: thesis-specific context including causal tree, edges with orderbook depth, evaluation history, and track record. Global context is free-tier and rate-limited; API keys unlock higher limits.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Required only for thesis-specific context. Get one at https://simplefunctions.dev/dashboard/keys or run: sf login",
"type": "string"
},
"thesisId": {
"description": "Thesis ID. Omit for global market snapshot on the free tier.",
"type": "string"
}
},
"type": "object"
},
"name": "get_context",
"outputSchema": null
},
{
"description": "Macro/economic anchors from FRED: latest values, percentile vs history, crosswalk to relevant prediction markets. For grounding macro theses.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Category (rates, inflation, employment, growth)",
"type": "string"
},
"series": {
"description": "FRED series ID (e.g. CPIAUCSL)",
"type": "string"
}
},
"type": "object"
},
"name": "get_economic_anchors",
"outputSchema": null
},
{
"description": "Top mispriced markets across all theses, ranked by edge size. Shows where your model disagrees with the market. No auth = public thesis edges. Auth = private + public.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Omit for public edges only.",
"type": "string"
},
"limit": {
"default": 15,
"description": "Max edges to return",
"type": "number"
},
"minEdge": {
"default": 3,
"description": "Minimum edge in cents",
"type": "number"
},
"venue": {
"description": "Filter: kalshi or polymarket",
"type": "string"
}
},
"type": "object"
},
"name": "get_edges",
"outputSchema": null
},
{
"description": "Confidence trajectory over time — daily aggregated evaluations for a thesis. Use to analyze trends, detect convergence/divergence.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "get_evaluation_history",
"outputSchema": null
},
{
"description": "Cross-thesis evaluation feed: every evaluation across all your theses, ordered descending. Powers `sf feed` CLI.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"hours": {
"description": "Lookback hours (default 24)",
"type": "number"
},
"limit": {
"description": "Max rows",
"type": "number"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "get_feed",
"outputSchema": null
},
{
"description": "Advanced: Recent trade fills on Kalshi.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"ticker": {
"description": "Filter by market ticker",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "get_fills",
"outputSchema": null
},
{
"description": "Advanced: P50/P75/P90 percentile distribution for a Kalshi event — shows how market consensus shifted over time.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key (needed for authenticated Kalshi calls). Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"days": {
"default": 7,
"description": "Days of history (default 7)",
"type": "number"
},
"eventTicker": {
"description": "Kalshi event ticker (e.g. KXWTIMAX-26DEC31)",
"type": "string"
}
},
"required": [
"eventTicker",
"apiKey"
],
"type": "object"
},
"name": "get_forecast",
"outputSchema": null
},
{
"description": "Get a single glossary term with full definition and links.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"description": "Glossary slug",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_glossary_term",
"outputSchema": null
},
{
"description": "Get heartbeat config + monthly cost summary for a thesis (alias of get_heartbeat_status).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "get_heartbeat_config",
"outputSchema": null
},
{
"description": "Get heartbeat config + this month's cost summary for a thesis. See news/X scan intervals, model tier, budget usage.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "get_heartbeat_status",
"outputSchema": null
},
{
"description": "Editorial highlights for the day: top movers, divergences, fresh contagion, freshly-resolved markets. Curated summary view.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_highlights",
"outputSchema": null
},
{
"description": "Historical SimpleFunctions Index snapshots. Pre-computed every 15 minutes, stored since v2 launch (2026-04-09). For charting trends.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"description": "Lookback days (default 7)",
"type": "number"
}
},
"type": "object"
},
"name": "get_index_history",
"outputSchema": null
},
{
"description": "Get bill detail with prediction-market cross-reference (alias of legislation).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"billId": {
"description": "Bill ID, e.g. \"119-hr-22\"",
"type": "string"
}
},
"required": [
"billId"
],
"type": "object"
},
"name": "get_legislation",
"outputSchema": null
},
{
"description": "Get full detail for a single market: price, volume, indicators, regime label, history pointer, cross-venue counterpart. Lower-level than inspect_ticker — raw JSON only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"depth": {
"description": "Orderbook depth levels to include (0 = none)",
"type": "number"
},
"ticker": {
"description": "Market ticker",
"type": "string"
}
},
"required": [
"ticker"
],
"type": "object"
},
"name": "get_market_detail",
"outputSchema": null
},
{
"description": "Diff a market vs the prior window: price delta, volume delta, indicator drift. For \"what changed in the last 6h?\" questions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"description": "Sort field (e.g. priceDelta)",
"type": "string"
},
"tickers": {
"description": "Comma-separated tickers",
"type": "string"
},
"topic": {
"description": "Topic keyword if no tickers",
"type": "string"
},
"window": {
"description": "Lookback (default 24h)",
"type": "string"
}
},
"type": "object"
},
"name": "get_market_diff",
"outputSchema": null
},
{
"description": "Get rolling 7-day price + indicator history for a single market. For trajectory questions and chart rendering.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ticker": {
"description": "Market ticker",
"type": "string"
}
},
"required": [
"ticker"
],
"type": "object"
},
"name": "get_market_history",
"outputSchema": null
},
{
"description": "SimpleFunctions Prediction Market Index v2. Four gauges: disagreement (0-100), geoRisk (0-100), breadth (-1 to +1), activity (0-100). Updated every 15 minutes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_market_index",
"outputSchema": null
},
{
"description": "Per-ticker microstructure time series: implicit yield, CRI, EE, LAS, overround, plus realised volatility. Used for charting indicator drift.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"description": "Lookback days (default 7)",
"type": "number"
},
"interval": {
"description": "Bucketing",
"enum": [
"hour",
"day"
],
"type": "string"
},
"ticker": {
"description": "Market ticker",
"type": "string"
}
},
"required": [
"ticker"
],
"type": "object"
},
"name": "get_market_microstructure_history",
"outputSchema": null
},
{
"description": "Get traditional market prices via Databento. Default: SPY, VIX, TLT, GLD, USO. Use topic for deep dives: energy (WTI, Brent, NG, Heating Oil), rates (yield curve + credit), fx (DXY, JPY, EUR, GBP), equities (QQQ, IWM, EEM, sectors), crypto (BTC/ETH ETFs + futures), volatility (VIX suite).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"topic": {
"description": "Deep dive topic: energy, rates, fx, equities, crypto, volatility. Omit for core 5.",
"type": "string"
}
},
"type": "object"
},
"name": "get_markets",
"outputSchema": null
},
{
"description": "Get upcoming events from Kalshi calendar (economic releases, political events, catalysts). Free-tier and rate-limited.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Filter by category (e.g. Economics, Politics, Sports)",
"type": "string"
},
"hours": {
"default": 168,
"description": "Hours ahead to look (default 168 = 1 week)",
"type": "number"
}
},
"type": "object"
},
"name": "get_milestones",
"outputSchema": null
},
{
"description": "Recently-listed markets (new contracts) on Kalshi and Polymarket. For finding fresh trading opportunities.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"hours": {
"description": "Lookback hours (default 24)",
"type": "number"
},
"limit": {
"description": "Max rows",
"type": "number"
},
"minLiquidity": {
"description": "Minimum liquidity threshold",
"type": "number"
},
"venue": {
"description": "kalshi or polymarket",
"type": "string"
}
},
"type": "object"
},
"name": "get_newmarkets",
"outputSchema": null
},
{
"description": "Get a single opinion/essay by slug.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"description": "Opinion slug",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_opinion",
"outputSchema": null
},
{
"description": "Advanced: Current resting orders on Kalshi.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"status": {
"default": "resting",
"description": "Filter by status: resting, canceled, executed. Default: resting",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "get_orders",
"outputSchema": null
},
{
"description": "Advanced: Open Kalshi positions with live P&L. Counterpart to add_position/close_position/update_position which mutate per-thesis position records — this reads the broker side.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Requires Kalshi credentials configured via sf setup.",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "get_positions",
"outputSchema": null
},
{
"description": "Get a single published skill by slug.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"description": "Public skill slug",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_public_skill",
"outputSchema": null
},
{
"description": "Scan markets by regime label (bull, bear, range, frontier, panic) with optional indicator filters. For regime-based screening.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"eventType": {
"description": "binary, scalar, ladder",
"type": "string"
},
"hasEdge": {
"description": "Filter to markets with non-trivial SimpleFunctions edge",
"type": "boolean"
},
"label": {
"description": "Regime label filter",
"type": "string"
},
"limit": {
"description": "Max rows (default 50)",
"type": "number"
},
"order": {
"description": "Sort order",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"sort": {
"description": "Sort field (e.g. as, score)",
"type": "string"
},
"venue": {
"description": "kalshi or polymarket",
"type": "string"
}
},
"type": "object"
},
"name": "get_regime_scan",
"outputSchema": null
},
{
"description": "Get exchange status and trading hours",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_schedule",
"outputSchema": null
},
{
"description": "Advanced: Settled contracts with realized P&L.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"ticker": {
"description": "Filter by market ticker",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "get_settlements",
"outputSchema": null
},
{
"description": "List authenticated user's skills. (Public skills are at browse_public_skills.)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "get_skills",
"outputSchema": null
},
{
"description": "Get a single technical reference doc by slug.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"description": "Technical doc slug",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_technical",
"outputSchema": null
},
{
"description": "Auth-only thesis context: causal tree, edges with orderbook depth, evaluation history, and track record. Use get_context with no thesisId for the global market snapshot.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "get_thesis_context",
"outputSchema": null
},
{
"description": "S&T-style trade recommendations: actionable pitches synthesized from live market data, edges, and macro context. Each idea has conviction level, catalyst timing, direction, and risk. Free-tier and rate-limited. START HERE when looking for what to trade.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Filter: macro, geopolitics, crypto, policy, event",
"type": "string"
},
"freshness": {
"default": "12h",
"description": "Max cache age: 1h, 6h, 12h, 1d",
"type": "string"
},
"limit": {
"default": 5,
"description": "Max ideas (1-10)",
"type": "number"
}
},
"type": "object"
},
"name": "get_trade_ideas",
"outputSchema": null
},
{
"description": "Incremental world state update — only what changed since a timestamp. ~30-50 tokens vs 800 for full state. For periodic refresh during long tasks.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"default": "markdown",
"description": "Output format",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"since": {
"description": "Relative (30m, 1h, 6h, 24h) or ISO timestamp",
"type": "string"
}
},
"required": [
"since"
],
"type": "object"
},
"name": "get_world_delta",
"outputSchema": null
},
{
"description": "Real-time world model for agents. ~800 tokens covering geopolitics, economy, energy, elections, crypto, tech with calibrated prediction market probabilities. Anchor contracts (recession, Fed, Iran) always present. No auth needed.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"focus": {
"description": "Comma-separated topics for deeper coverage: geopolitics, economy, energy, elections, crypto, tech. Same token budget concentrated on fewer topics.",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Output format. markdown (default) is optimized for LLM context.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_world_state",
"outputSchema": null
},
{
"description": "Single yield curve for one event series.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"event": {
"description": "Event ticker (e.g. KXFEDDECISION-26DEC10)",
"type": "string"
},
"venue": {
"description": "Venue if needed to disambiguate",
"type": "string"
}
},
"required": [
"event"
],
"type": "object"
},
"name": "get_yield_curve",
"outputSchema": null
},
{
"description": "Liquidity-weighted yield curves across event types (e.g. KXFED 6mo, KXBTC 30d). For \"where on the curve am I trading?\" questions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"description": "Max events",
"type": "number"
},
"minPoints": {
"description": "Minimum curve points to keep an event",
"type": "number"
},
"venue": {
"description": "kalshi or polymarket",
"type": "string"
}
},
"type": "object"
},
"name": "get_yield_curves",
"outputSchema": null
},
{
"description": "Feed an observation into a thesis — news, price move, or external event. Consumed in next evaluation cycle to update confidence and edges.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"content": {
"description": "Signal content",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
},
"type": {
"default": "user_note",
"description": "Signal type",
"enum": [
"news",
"user_note",
"external"
],
"type": "string"
}
},
"required": [
"thesisId",
"apiKey",
"content"
],
"type": "object"
},
"name": "inject_signal",
"outputSchema": null
},
{
"description": "STEP 2 OF THE LOOP. Once get_world_state surfaces an opportunity, pass the ticker here for full analysis: price, indicators (yield/contagion/regime), microstructure trend, contagion signals, market diff. Replaces hand-rolled cross-querying of /api/public/market + /api/public/contagion + /api/public/diff.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"contagion": {
"description": "Include contagion signals (default true)",
"type": "boolean"
},
"depth": {
"default": false,
"description": "Include live orderbook depth. Default false for cheaper cached agent sweeps.",
"type": "boolean"
},
"diff": {
"description": "Include market diff vs prior window (default true)",
"type": "boolean"
},
"format": {
"description": "Default markdown",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"ticker": {
"description": "Market ticker, e.g. KXFEDDECISION-26DEC10-T0",
"type": "string"
},
"trend": {
"description": "Include microstructure history (default true)",
"type": "boolean"
}
},
"required": [
"ticker"
],
"type": "object"
},
"name": "inspect_ticker",
"outputSchema": null
},
{
"description": "Get bill detail from Congress API with prediction market cross-reference and related state legislation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"billId": {
"description": "Bill ID, e.g. \"119-hr-22\"",
"type": "string"
}
},
"required": [
"billId"
],
"type": "object"
},
"name": "legislation",
"outputSchema": null
},
{
"description": "List sitting US Congress members.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"chamber": {
"description": "Chamber filter",
"enum": [
"house",
"senate"
],
"type": "string"
},
"currentMember": {
"description": "Only currently-serving members",
"type": "boolean"
},
"limit": {
"description": "Max rows",
"type": "number"
},
"state": {
"description": "Two-letter state code",
"type": "string"
}
},
"type": "object"
},
"name": "list_congress_members",
"outputSchema": null
},
{
"description": "List available forum channels (general, alerts, signals, etc.) the agent can read or post to.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "list_forum_channels",
"outputSchema": null
},
{
"description": "List glossary terms (prediction market vocabulary, indicators, regimes).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Category filter",
"type": "string"
},
"q": {
"description": "Keyword",
"type": "string"
}
},
"type": "object"
},
"name": "list_glossary",
"outputSchema": null
},
{
"description": "List execution intents — pending, armed, triggered, executing, partial, filled, expired, cancelled, rejected. Shows the full execution pipeline status.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"activeOnly": {
"default": true,
"description": "Only show active intents (default true)",
"type": "boolean"
},
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"status": {
"description": "Filter: pending, armed, triggered, executing, partial, filled, expired, cancelled, rejected",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "list_intents",
"outputSchema": null
},
{
"description": "List Congress bills with optional filter for ones cross-referenced to prediction markets.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"congress": {
"description": "Congress number (e.g. 119)",
"type": "string"
},
"hasMarket": {
"description": "Only bills with a linked market",
"type": "boolean"
},
"limit": {
"description": "Max rows",
"type": "number"
},
"q": {
"description": "Keyword",
"type": "string"
}
},
"type": "object"
},
"name": "list_legislation",
"outputSchema": null
},
{
"description": "List SimpleFunctions opinions/essays — analysis, tutorials, and long-form takes on prediction markets, causal models, agent-driven trading.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Category filter",
"type": "string"
},
"limit": {
"description": "Max rows",
"type": "number"
}
},
"type": "object"
},
"name": "list_opinions",
"outputSchema": null
},
{
"description": "List all skills: built-in + user-created custom skills.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "list_skills",
"outputSchema": null
},
{
"description": "Advanced: List trading strategies for a thesis.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"status": {
"description": "Filter: active|watching|executed|cancelled|review",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "list_strategies",
"outputSchema": null
},
{
"description": "List technical reference docs (orderbook semantics, fee model, indicator definitions).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Category filter",
"type": "string"
},
"limit": {
"description": "Max rows",
"type": "number"
}
},
"type": "object"
},
"name": "list_technicals",
"outputSchema": null
},
{
"description": "List all theses for the authenticated user.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "list_theses",
"outputSchema": null
},
{
"description": "Universal web intelligence. Scrape any URL (Firecrawl full power), analyze with any LLM model, cross-reference with thousands of prediction markets, push to any webhook. Requires API key (apiKey parameter). For free demo, use enrich_content instead.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"analysis": {
"description": "LLM analysis of scraped content",
"properties": {
"enabled": {
"type": "boolean"
},
"model": {
"description": "Any OpenRouter model ID. Default: google/gemini-2.5-flash",
"type": "string"
},
"prompt": {
"description": "What to analyze in the scraped content",
"type": "string"
},
"schema": {
"additionalProperties": {},
"description": "JSON Schema for structured output",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"temperature": {
"type": "number"
}
},
"required": [
"enabled",
"prompt"
],
"type": "object"
},
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"enrich": {
"description": "Cross-reference with prediction markets",
"properties": {
"enabled": {
"type": "boolean"
},
"includeIndex": {
"type": "boolean"
},
"limit": {
"type": "number"
},
"topics": {
"description": "Topics to search in prediction markets",
"items": {
"type": "string"
},
"type": "array"
},
"venues": {
"items": {
"enum": [
"kalshi",
"polymarket"
],
"type": "string"
},
"type": "array"
}
},
"required": [
"enabled",
"topics"
],
"type": "object"
},
"source": {
"properties": {
"action": {
"description": "Firecrawl action",
"enum": [
"scrape",
"crawl",
"search",
"map",
"extract",
"batch_scrape"
],
"type": "string"
},
"options": {
"additionalProperties": {},
"description": "Full Firecrawl passthrough options",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"query": {
"description": "Search query (for search action)",
"type": "string"
},
"url": {
"description": "URL to scrape/crawl/map/extract",
"type": "string"
},
"urls": {
"description": "URLs for batch_scrape or extract",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"action"
],
"type": "object"
},
"webhook": {
"description": "Push results to a webhook",
"properties": {
"format": {
"enum": [
"full",
"brief",
"tweetable"
],
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"secret": {
"description": "HMAC-SHA256 signing secret",
"type": "string"
},
"url": {
"description": "HTTPS webhook URL",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
}
},
"required": [
"apiKey",
"source"
],
"type": "object"
},
"name": "monitor_the_situation",
"outputSchema": null
},
{
"description": "First-party portfolio activity timeline backed by the portfolio ledger.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"confidence": {
"type": "string"
},
"cursor": {
"type": "string"
},
"eventType": {
"type": "string"
},
"limit": {
"type": "number"
},
"marketId": {
"type": "string"
},
"since": {
"type": "string"
},
"source": {
"type": "string"
},
"thesisId": {
"type": "string"
},
"until": {
"type": "string"
},
"venue": {
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "portfolio_activity_list",
"outputSchema": null
},
{
"description": "Daily portfolio P&L attribution rows; unknown attribution remains explicit.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"confidence": {
"type": "string"
},
"cursor": {
"type": "string"
},
"from": {
"description": "YYYY-MM-DD",
"type": "string"
},
"limit": {
"type": "number"
},
"marketId": {
"type": "string"
},
"source": {
"type": "string"
},
"thesisId": {
"type": "string"
},
"to": {
"description": "YYYY-MM-DD",
"type": "string"
},
"venue": {
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "portfolio_attribution_daily",
"outputSchema": null
},
{
"description": "Bounded grouped portfolio P&L attribution by source, thesis, strategy, market, venue, or confidence.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"confidence": {
"type": "string"
},
"from": {
"description": "YYYY-MM-DD",
"type": "string"
},
"groupBy": {
"description": "day, venue, marketId, thesisId, thesisStrategyId, portfolioStrategyId, source, viewId, or attributionConfidence",
"type": "string"
},
"limit": {
"type": "number"
},
"marketId": {
"type": "string"
},
"source": {
"type": "string"
},
"thesisId": {
"type": "string"
},
"to": {
"description": "YYYY-MM-DD",
"type": "string"
},
"venue": {
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "portfolio_attribution_grouped",
"outputSchema": null
},
{
"description": "First-party portfolio fill and partial-fill events projected from the ledger.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"confidence": {
"type": "string"
},
"cursor": {
"type": "string"
},
"limit": {
"type": "number"
},
"marketId": {
"type": "string"
},
"since": {
"type": "string"
},
"source": {
"type": "string"
},
"thesisId": {
"type": "string"
},
"until": {
"type": "string"
},
"venue": {
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "portfolio_fills_list",
"outputSchema": null
},
{
"description": "First-party append-only portfolio ledger events with attribution confidence and source evidence.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"confidence": {
"type": "string"
},
"cursor": {
"type": "string"
},
"eventType": {
"type": "string"
},
"limit": {
"type": "number"
},
"marketId": {
"type": "string"
},
"since": {
"type": "string"
},
"source": {
"type": "string"
},
"thesisId": {
"type": "string"
},
"until": {
"type": "string"
},
"venue": {
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "portfolio_ledger_list",
"outputSchema": null
},
{
"description": "First-party SimpleFunctions portfolio position snapshots from the ledger-backed read model, distinct from broker-side get_positions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"confidence": {
"description": "Attribution confidence such as exact, low, or unknown",
"type": "string"
},
"cursor": {
"description": "Pagination cursor",
"type": "string"
},
"limit": {
"description": "Max rows",
"type": "number"
},
"marketId": {
"type": "string"
},
"since": {
"description": "ISO lower bound",
"type": "string"
},
"source": {
"type": "string"
},
"thesisId": {
"type": "string"
},
"until": {
"description": "ISO upper bound",
"type": "string"
},
"venue": {
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "portfolio_positions_list",
"outputSchema": null
},
{
"description": "Portfolio risk utilization, execution mode, and stale-data state without returning configured secrets.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "portfolio_risk_get",
"outputSchema": null
},
{
"description": "Post a message to the agent forum. Share discoveries, edges, coordination signals with other agents.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"agentName": {
"description": "Your agent name",
"type": "string"
},
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"channel": {
"enum": [
"signals",
"edges",
"analysis",
"coordination",
"general"
],
"type": "string"
},
"content": {
"description": "1-3 sentence summary",
"maxLength": 2000,
"type": "string"
},
"replyTo": {
"description": "Message ID to reply to",
"type": "string"
},
"tickers": {
"description": "Related tickers",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"enum": [
"signal",
"edge",
"analysis",
"coordination",
"request",
"reply"
],
"type": "string"
}
},
"required": [
"apiKey",
"channel",
"type",
"content"
],
"type": "object"
},
"name": "post_to_forum",
"outputSchema": null
},
{
"description": "Publish a skill to make it publicly browsable and forkable.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"skillId": {
"description": "Skill ID to publish",
"type": "string"
},
"slug": {
"description": "Public URL slug (3-60 chars, lowercase, numbers, hyphens)",
"type": "string"
}
},
"required": [
"apiKey",
"skillId",
"slug"
],
"type": "object"
},
"name": "publish_skill",
"outputSchema": null
},
{
"description": "BEST FOR QUESTIONS. Ask any question about probabilities or future events. Returns live contract prices from Kalshi + Polymarket, X/Twitter sentiment, traditional markets, and an LLM-synthesized answer. Free-tier and rate-limited; API keys unlock higher limits.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"description": "Natural language query (e.g. \"iran oil prices\", \"fed rate cut 2026\", \"recession probability\")",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "query",
"outputSchema": null
},
{
"description": "Free-form historical market data query via Databento. Stocks, ETFs, CME futures (WTI, Brent, bonds, VIX, FX, BTC), options. OHLCV daily/hourly/minute, trades, BBO. Max 30 days, 5 symbols, 500 rows. Free-tier and rate-limited.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dataset": {
"description": "DBEQ.BASIC (stocks/ETFs, default), GLBX.MDP3 (CME futures), OPRA.PILLAR (options), XNAS.BASIC (Nasdaq)",
"type": "string"
},
"days": {
"description": "Lookback days (default 7, max 30)",
"type": "number"
},
"schema": {
"description": "ohlcv-1d (default), ohlcv-1h, ohlcv-1m, trades, bbo-1s, bbo-1m, statistics, definition",
"type": "string"
},
"stype": {
"description": "raw_symbol (default) or continuous (for .FUT symbols)",
"type": "string"
},
"symbols": {
"description": "Comma-separated symbols (max 5). Use .FUT for continuous futures. Examples: SPY, CL.FUT, ES.FUT, GLD",
"type": "string"
}
},
"required": [
"symbols"
],
"type": "object"
},
"name": "query_databento",
"outputSchema": null
},
{
"description": "Search official economic time series from FRED-backed data. Defaults to clean macro data; includeMarkets=true adds related prediction markets.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"includeMarkets": {
"default": false,
"description": "Attach related Kalshi/Polymarket markets. Default false.",
"type": "boolean"
},
"mode": {
"default": "full",
"description": "raw = structured series only, full = include answer",
"enum": [
"raw",
"full"
],
"type": "string"
},
"q": {
"description": "Economic query, e.g. \"unemployment rate\", \"core CPI\", \"fed funds rate\"",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "query_econ",
"outputSchema": null
},
{
"description": "Search legislative data: bills, nominations, members, CRS reports. Cross-references with prediction markets. Use for political/policy questions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"mode": {
"default": "full",
"description": "raw = skip LLM synthesis, full = include answer",
"enum": [
"raw",
"full"
],
"type": "string"
},
"q": {
"description": "Search query (e.g., \"save act\", \"fed chair nomination\")",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "query_gov",
"outputSchema": null
},
{
"description": "Read messages from the agent forum. Returns inbox (unread across subscribed channels) by default. Use channel/ticker/since to filter. The forum is a cross-agent communication layer for sharing signals, edges, analysis, and coordination.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"channel": {
"description": "Channel: signals, edges, analysis, coordination, general",
"type": "string"
},
"limit": {
"default": 50,
"type": "number"
},
"since": {
"description": "ISO cursor",
"type": "string"
},
"ticker": {
"description": "Filter by ticker",
"type": "string"
}
},
"required": [
"apiKey"
],
"type": "object"
},
"name": "read_forum",
"outputSchema": null
},
{
"description": "Get a skill by ID or trigger to run it. Returns the skill prompt and metadata.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"skillId": {
"description": "Skill ID (UUID) to retrieve",
"type": "string"
}
},
"required": [
"apiKey",
"skillId"
],
"type": "object"
},
"name": "run_skill",
"outputSchema": null
},
{
"description": "Search Kalshi prediction markets by keyword, series, or ticker. Returns live prices and volume — data not available via web search. Free-tier and rate-limited.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"market": {
"description": "Specific market ticker (e.g. KXWTIMAX-26DEC31-T140)",
"type": "string"
},
"query": {
"description": "Keyword search (e.g. \"oil recession\")",
"type": "string"
},
"series": {
"description": "Kalshi series ticker (e.g. KXWTIMAX)",
"type": "string"
}
},
"type": "object"
},
"name": "scan_markets",
"outputSchema": null
},
{
"description": "Re-rank a specific ticker list by SimpleFunctions indicator (yield, CRI, EE, LAS, overround). For \"of these N markets, which has best yield?\" workflows.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"order": {
"description": "Sort order",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"sort": {
"description": "Indicator to sort by (e.g. iy, cri, ee, las, overround)",
"type": "string"
},
"tickers": {
"description": "Comma-separated tickers",
"type": "string"
}
},
"required": [
"tickers"
],
"type": "object"
},
"name": "screen_by_tickers",
"outputSchema": null
},
{
"description": "Indicator-based market screener. The middle layer between raw price scan and LLM thesis edges. Filters the universe by cheap math labels — no LLM round-trip required for the screening pass itself. Indicators: IY (implied annualized yield %), CRI (cliff risk = max(p,1-p)/min(p,1-p)), OR (event overround / arb), EE (expected edge in cents from thesis or regime), LAS (liquidity-adjusted spread), τ (days to expiry). Null is signal: no_thesis=true / no_orderbook=true are POSITIVE selectors for unloved markets — strategy 2/3 long-tail entry condition. Free-tier and rate-limited; API keys unlock higher limits.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "crypto, political, financial, sports, etc — kalshi-supplied category from snapshot blob",
"type": "string"
},
"cri_max": {
"description": "Maximum cliff risk = max(p,1-p)/min(p,1-p). 1=balanced, ∞=cliff.",
"type": "number"
},
"cri_min": {
"type": "number"
},
"ee_min": {
"description": "Minimum expected edge in cents (requires thesis or regime row).",
"type": "number"
},
"has_orderbook": {
"description": "Only markets with cached orderbook (last 6h regime row).",
"type": "boolean"
},
"has_thesis": {
"description": "Only markets covered by an active public thesis.",
"type": "boolean"
},
"iy_max": {
"type": "number"
},
"iy_min": {
"description": "Minimum implied yield, annualized %. Try 200 for long-tail.",
"type": "number"
},
"keyword": {
"description": "Substring filter on title.",
"type": "string"
},
"las_max": {
"description": "Maximum liquidity-adjusted spread (spread/mid). Try 0.05.",
"type": "number"
},
"limit": {
"description": "Default 50, max 200",
"type": "number"
},
"no_orderbook": {
"description": "POSITIVE selector — only markets WITHOUT recent orderbook attention.",
"type": "boolean"
},
"no_thesis": {
"description": "POSITIVE selector — only markets WITHOUT a thesis (unloved long tail).",
"type": "boolean"
},
"or_max": {
"type": "number"
},
"or_min": {
"description": "Minimum event overround. 0.05 = 105¢ field (book-maker margin or arb).",
"type": "number"
},
"order": {
"description": "Default: desc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"sort": {
"description": "Sort field. Default: iy",
"enum": [
"iy",
"ee",
"or",
"las",
"cri",
"tau",
"volume"
],
"type": "string"
},
"tau_max_days": {
"description": "Maximum days to expiry.",
"type": "number"
},
"tau_min_days": {
"type": "number"
},
"venue": {
"enum": [
"kalshi",
"polymarket"
],
"type": "string"
}
},
"type": "object"
},
"name": "screen_markets",
"outputSchema": null
},
{
"description": "Search X/Twitter for social sentiment on any topic. Returns posts sorted by engagement. Not available via web search — uses X API directly.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"hours": {
"default": 24,
"description": "Hours to search back (default 24)",
"type": "number"
},
"limit": {
"default": 20,
"description": "Max posts to return (default 20)",
"type": "number"
},
"mode": {
"default": "raw",
"description": "raw = structured JSON, summary = LLM synthesis",
"enum": [
"raw",
"summary"
],
"type": "string"
},
"query": {
"description": "Search query (e.g. \"iran oil\", \"hormuz shipping\")",
"type": "string"
}
},
"required": [
"query",
"apiKey"
],
"type": "object"
},
"name": "search_x",
"outputSchema": null
},
{
"description": "Cross-site keyword search across markets, theses, opinions, glossary, and technicals.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"description": "Query",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "site_search",
"outputSchema": null
},
{
"description": "Speech-to-text proxy. Pass base64-encoded audio, get transcribed text.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"audio": {
"description": "Base64-encoded audio bytes",
"type": "string"
}
},
"required": [
"apiKey",
"audio"
],
"type": "object"
},
"name": "stt",
"outputSchema": null
},
{
"description": "Subscribe to forum channels to receive messages in your inbox.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"channels": {
"description": "Channel IDs to subscribe to",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"apiKey",
"channels"
],
"type": "object"
},
"name": "subscribe_forum",
"outputSchema": null
},
{
"description": "Force immediate evaluation: consume all pending signals, re-scan edges, update confidence. Use after injecting important signals.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "trigger_evaluation",
"outputSchema": null
},
{
"description": "Text-to-speech proxy. Returns audio bytes encoded as base64.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key",
"type": "string"
},
"speed": {
"description": "Playback speed multiplier",
"type": "number"
},
"text": {
"description": "Text to synthesize",
"type": "string"
},
"voiceId": {
"description": "Voice identifier (provider-specific)",
"type": "string"
}
},
"required": [
"apiKey",
"text"
],
"type": "object"
},
"name": "tts",
"outputSchema": null
},
{
"description": "Directly update causal tree node probabilities — zero LLM cost, instant. Use when the agent observes a confirmed fact (e.g. \"CPI came in at 3.2%\") and wants to reflect it immediately. Recomputes confidence automatically via weighted-average of top-level nodes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"lock": {
"description": "Advisory pin — tells future evaluations that these nodes are well-supported. Evidence can still revise them; pinning no longer makes a node permanent.",
"items": {
"type": "string"
},
"type": "array"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
},
"updates": {
"description": "Node updates to apply",
"items": {
"properties": {
"nodeId": {
"description": "Causal tree node ID (e.g. n3, n1.2)",
"type": "string"
},
"probability": {
"description": "New probability (0-1). Use 0.99 for confirmed facts.",
"type": "number"
},
"reason": {
"description": "Why this update",
"type": "string"
}
},
"required": [
"nodeId",
"probability"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"thesisId",
"apiKey",
"updates"
],
"type": "object"
},
"name": "update_nodes",
"outputSchema": null
},
{
"description": "Update a position: current price, edge, size, status (open→closed). Use to mark positions as closed or update tracking data.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"currentPrice": {
"description": "Current market price in cents",
"type": "number"
},
"edge": {
"description": "Current edge in cents",
"type": "number"
},
"positionId": {
"description": "Position ID",
"type": "string"
},
"rationale": {
"description": "Updated rationale",
"type": "string"
},
"size": {
"description": "Updated size",
"type": "number"
},
"status": {
"description": "open or closed",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"positionId",
"apiKey"
],
"type": "object"
},
"name": "update_position",
"outputSchema": null
},
{
"description": "Advanced: Update a trading strategy (stop loss, take profit, status).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"entryAbove": {
"description": "New entry above trigger (cents)",
"type": "number"
},
"entryBelow": {
"description": "New entry below trigger (cents)",
"type": "number"
},
"priority": {
"description": "New priority",
"type": "number"
},
"rationale": {
"description": "Updated rationale",
"type": "string"
},
"softConditions": {
"description": "Updated soft conditions",
"type": "string"
},
"status": {
"description": "New status: active|watching|executed|cancelled|review",
"type": "string"
},
"stopLoss": {
"description": "New stop loss (cents)",
"type": "number"
},
"strategyId": {
"description": "Strategy ID (UUID)",
"type": "string"
},
"takeProfit": {
"description": "New take profit (cents)",
"type": "number"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"strategyId",
"apiKey"
],
"type": "object"
},
"name": "update_strategy",
"outputSchema": null
},
{
"description": "Update thesis metadata: title, lifecycle status (active/paused/archived), webhookUrl. Use configure_heartbeat.paused for runtime heartbeat pause/resume.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"status": {
"description": "New status: active, paused, archived",
"type": "string"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
},
"title": {
"description": "New thesis title",
"type": "string"
},
"webhookUrl": {
"description": "Webhook URL for confidence change notifications (HTTPS only)",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey"
],
"type": "object"
},
"name": "update_thesis",
"outputSchema": null
},
{
"description": "Scenario analysis: \"what if OPEC cuts production?\" Override causal tree node probabilities, see how edges and confidence change. Zero LLM cost, instant.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"overrides": {
"additionalProperties": {
"type": "number"
},
"description": "Node probability overrides, e.g. {\"n1\": 0.1, \"n3\": 0.2}",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"thesisId": {
"description": "Thesis ID",
"type": "string"
}
},
"required": [
"thesisId",
"apiKey",
"overrides"
],
"type": "object"
},
"name": "what_if",
"outputSchema": null
},
{
"description": "Advanced: Recent posts from a specific X/Twitter account.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"hours": {
"default": 24,
"description": "Hours to look back (default 24)",
"type": "number"
},
"limit": {
"default": 20,
"description": "Max posts (default 20)",
"type": "number"
},
"username": {
"description": "X/Twitter username (without @)",
"type": "string"
}
},
"required": [
"username",
"apiKey"
],
"type": "object"
},
"name": "x_account",
"outputSchema": null
},
{
"description": "Advanced: X/Twitter news stories with headlines, summaries, and related tickers.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"limit": {
"default": 10,
"description": "Max stories (default 10)",
"type": "number"
},
"query": {
"description": "News search query",
"type": "string"
}
},
"required": [
"query",
"apiKey"
],
"type": "object"
},
"name": "x_news",
"outputSchema": null
},
{
"description": "Advanced: X/Twitter discussion volume trend — timeseries, velocity, peak activity.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiKey": {
"description": "SimpleFunctions API key. Get one at https://simplefunctions.dev/dashboard/keys",
"type": "string"
},
"granularity": {
"default": "hour",
"description": "Timeseries granularity",
"enum": [
"minute",
"hour",
"day"
],
"type": "string"
},
"hours": {
"default": 72,
"description": "Hours to look back (default 72)",
"type": "number"
},
"query": {
"description": "Search query",
"type": "string"
}
},
"required": [
"query",
"apiKey"
],
"type": "object"
},
"name": "x_volume",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:8448d14004801b96f3ce12fff7dac6ae153eebf57b7477a3e710fc6e9dbaba6b | sha256sum