Grok Crypto Quant API

Pay-per-call crypto backtests, signals, token risk checks and universes (x402, USDC on Base).

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
95%
Vollständigkeit des Schemas
70%
Qualität der Benennung
88%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (2)

  • LOWTool 'health' description lacks action verbin health
  • LOWTool 'get_schema' description lacks action verbin get_schema

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~7,996Tokens (Tool-Definitionen)
~5.7 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (6.25% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "crypto-quant": {
      "url": "https://grok-backtest-api.fly.dev/mcp"
    }
  }
}

Remote-Endpunkte

https://grok-backtest-api.fly.dev/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (13)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢backtest(strategy, universe, start, end, initial_capital, ...)

Backtest crypto strategies on 399 Coinbase coins without survivorship bias. DIY backtests usually use today's coin list, so dead coins vanish and returns are overstated; this rebuilds the universe from each past day's top coins. Breakout, momentum, dip-buy or MA-trend rules on daily data with fees, slippage, H1/H2 split and a luck flag. No data fetching or backtest code on your side. Price: $0.05 USDC per call (x402, Base mainnet). Free pre-check: validate_backtest. Free sample: backtest_sample.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "strategy": {
      "discriminator": {
        "mapping": {
          "breakout": "#/$defs/Breakout",
          "dip": "#/$defs/Dip",
          "ma_trend": "#/$defs/MATrend",
          "momentum": "#/$defs/Momentum"
        },
        "propertyName": "type"
      },
      "oneOf": [
        {
          "$ref": "#/$defs/Breakout"
        },
        {
          "$ref": "#/$defs/Momentum"
        },
        {
          "$ref": "#/$defs/Dip"
        },
        {
          "$ref": "#/$defs/MATrend"
        }
      ],
      "title": "Strategy"
    },
    "universe": {
      "anyOf": [
        {
          "$ref": "#/$defs/Universe"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "start": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "Start"
    },
    "end": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "End"
    },
    "initial_capital": {
      "default": 150,
      "description": "Starting capital in USD",
      "exclusiveMinimum": 0,
      "maximum": 1000000000,
      "title": "Initial Capital",
      "type": "number"
    },
    "fee": {
      "default": 0.009,
      "description": "Fee per side (0.009 = 0.9%)",
      "maximum": 0.05,
      "minimum": 0,
      "title": "Fee",
      "type": "number"
    },
    "slippage": {
      "default": 0.002,
      "description": "Slippage per side",
      "maximum": 0.05,
      "minimum": 0,
      "title": "Slippage",
      "type": "number"
    },
    "include_trades": {
      "default": true,
      "title": "Include Trades",
      "type": "boolean"
    }
  },
  "required": [
    "strategy"
  ],
  "$defs": {
    "Breakout": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "breakout",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/BreakoutParams",
          "default": {
            "lookback": 20,
            "atr_mult": 2,
            "risk_per_trade": 0.05,
            "max_position_pct": 0.5,
            "max_positions": 3,
            "gate": "btc_ma50",
            "min_stop_pct": 0.06,
            "max_stop_pct": 0.4
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Breakout",
      "type": "object"
    },
    "BreakoutParams": {
      "additionalProperties": false,
      "properties": {
        "lookback": {
          "default": 20,
          "description": "Buy when close > highest high of prior N days",
          "maximum": 60,
          "minimum": 5,
          "title": "Lookback",
          "type": "integer"
        },
        "atr_mult": {
          "default": 2,
          "description": "Trailing stop = highest close - k*ATR14",
          "maximum": 6,
          "minimum": 0.5,
          "title": "Atr Mult",
          "type": "number"
        },
        "risk_per_trade": {
          "default": 0.05,
          "description": "Fraction of equity risked to the initial stop",
          "exclusiveMinimum": 0,
          "maximum": 0.25,
          "title": "Risk Per Trade",
          "type": "number"
        },
        "max_position_pct": {
          "default": 0.5,
          "exclusiveMinimum": 0,
          "maximum": 1,
          "title": "Max Position Pct",
          "type": "number"
        },
        "max_positions": {
          "default": 3,
          "maximum": 10,
          "minimum": 1,
          "title": "Max Positions",
          "type": "integer"
        },
        "gate": {
          "default": "btc_ma50",
          "description": "Only open trades when BTC > 50-day SMA (btc_ma50) or >=50% of universe above 20d SMA (breadth50)",
          "enum": [
            "none",
            "btc_ma50",
            "breadth50"
          ],
          "title": "Gate",
          "type": "string"
        },
        "min_stop_pct": {
          "default": 0.06,
          "exclusiveMinimum": 0,
          "maximum": 0.5,
          "title": "Min Stop Pct",
          "type": "number"
        },
        "max_stop_pct": {
          "default": 0.4,
          "exclusiveMinimum": 0,
          "maximum": 0.9,
          "title": "Max Stop Pct",
          "type": "number"
        }
      },
      "title": "BreakoutParams",
      "type": "object"
    },
    "Dip": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "dip",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/DipParams",
          "default": {
            "drop_pct": 0.15,
            "days": 1,
            "trend_filter": "ma50",
            "max_hold_days": 5,
            "hard_stop_pct": 0.15,
            "max_positions": 3
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Dip",
      "type": "object"
    },
    "DipParams": {
      "additionalProperties": false,
      "properties": {
        "drop_pct": {
          "default": 0.15,
          "description": "Buy after a fall of at least this fraction over `days`",
          "exclusiveMaximum": 0.9,
          "exclusiveMinimum": 0.01,
          "title": "Drop Pct",
          "type": "number"
        },
        "days": {
          "default": 1,
          "maximum": 10,
          "minimum": 1,
          "title": "Days",
          "type": "integer"
        },
        "trend_filter": {
          "default": "ma50",
          "enum": [
            "ma50",
            "none"
          ],
          "title": "Trend Filter",
          "type": "string"
        },
        "max_hold_days": {
          "default": 5,
          "maximum": 60,
          "minimum": 1,
          "title": "Max Hold Days",
          "type": "integer"
        },
        "hard_stop_pct": {
          "default": 0.15,
          "exclusiveMaximum": 0.9,
          "exclusiveMinimum": 0.01,
          "title": "Hard Stop Pct",
          "type": "number"
        },
        "max_positions": {
          "default": 3,
          "maximum": 10,
          "minimum": 1,
          "title": "Max Positions",
          "type": "integer"
        }
      },
      "title": "DipParams",
      "type": "object"
    },
    "MATrend": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "ma_trend",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/MATrendParams",
          "default": {
            "coins": [
              "ETH-USD"
            ],
            "ma_days": 50
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "MATrend",
      "type": "object"
    },
    "MATrendParams": {
      "additionalProperties": false,
      "properties": {
        "coins": {
          "default": [
            "ETH-USD"
          ],
          "description": "Coinbase product ids, e.g. ETH-USD",
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "title": "Coins",
          "type": "array"
        },
        "ma_days": {
          "default": 50,
          "maximum": 60,
          "minimum": 5,
          "title": "Ma Days",
          "type": "integer"
        }
      },
      "title": "MATrendParams",
      "type": "object"
    },
    "Momentum": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "momentum",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/MomentumParams",
          "default": {
            "lookback": 14,
            "top_n": 2,
            "rebalance_days": 7,
            "gate": "btc_ma50",
            "trail_pct": null
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Momentum",
      "type": "object"
    },
    "MomentumParams": {
      "additionalProperties": false,
      "properties": {
        "lookback": {
          "default": 14,
          "description": "Rank by N-day return",
          "maximum": 60,
          "minimum": 3,
          "title": "Lookback",
          "type": "integer"
        },
        "top_n": {
          "default": 2,
          "maximum": 10,
          "minimum": 1,
          "title": "Top N",
          "type": "integer"
        },
        "rebalance_days": {
          "default": 7,
          "maximum": 30,
          "minimum": 1,
          "title": "Rebalance Days",
          "type": "integer"
        },
        "gate": {
          "default": "btc_ma50",
          "enum": [
            "none",
            "btc_ma50",
            "breadth50"
          ],
          "title": "Gate",
          "type": "string"
        },
        "trail_pct": {
          "anyOf": [
            {
              "exclusiveMaximum": 0.9,
              "exclusiveMinimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Optional % trailing stop from highest close",
          "title": "Trail Pct"
        }
      },
      "title": "MomentumParams",
      "type": "object"
    },
    "Universe": {
      "additionalProperties": false,
      "properties": {
        "mode": {
          "default": "point_in_time",
          "description": "point_in_time = top-N by trailing 20d $ volume AS OF each day (no survivorship bias); current_top = top-N as of the end date (biased, for comparison); fixed = your coin list",
          "enum": [
            "point_in_time",
            "current_top",
            "fixed"
          ],
          "title": "Mode",
          "type": "string"
        },
        "top_n": {
          "default": 30,
          "maximum": 200,
          "minimum": 5,
          "title": "Top N",
          "type": "integer"
        },
        "min_age_days": {
          "default": 35,
          "description": "Days a coin must have traded before it is eligible",
          "maximum": 120,
          "minimum": 0,
          "title": "Min Age Days",
          "type": "integer"
        },
        "min_avg_dollar_volume": {
          "default": 1000000,
          "description": "Min 20-day avg Coinbase $ volume",
          "minimum": 0,
          "title": "Min Avg Dollar Volume",
          "type": "number"
        },
        "coins": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "maxItems": 200,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Coins"
        }
      },
      "title": "Universe",
      "type": "object"
    }
  },
  "title": "backtestArguments"
}
🟢market_signals(top_n)

Daily crypto market regime in one call: BTC/ETH vs 20/50-day MAs, breadth of the point-in-time top-N (no survivorship bias), coins nearest a 20-day breakout, and the R1 breakout strategy's gate and entry signals. No candle fetching or indicator code. Completed UTC daily closes only. Price: $0.01 USDC per call (x402, Base mainnet). Free sample: signals_sample.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "top_n": {
      "default": 30,
      "description": "Universe size for breadth / breakout scan",
      "maximum": 200,
      "minimum": 5,
      "title": "Top N",
      "type": "integer"
    }
  },
  "title": "market_signalsArguments"
}
🟢token_check(chain, address)

Token scam check in one call instead of wiring up five data sources: honeypot sell simulation, unverified code, mint/pause/blacklist powers, taxes, upgradeable proxy, age, liquidity, fake major-token (e.g. fake USDC) lookalikes and spam-airdrop patterns. Base, Ethereum or Solana. Never visits metadata URLs. Price: $0.02 USDC per call (x402, Base mainnet). Free pre-check: validate_token_check.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "description": "base, ethereum or solana",
      "enum": [
        "base",
        "ethereum",
        "solana"
      ],
      "title": "Chain",
      "type": "string"
    },
    "address": {
      "description": "Token contract / mint address",
      "maxLength": 44,
      "minLength": 32,
      "title": "Address",
      "type": "string"
    }
  },
  "required": [
    "chain",
    "address"
  ],
  "title": "token_checkArguments"
}
🟢optimize_strategy(strategy, grid, universe, start, end, ...)

Find robust strategy params, not lucky ones: tests up to 50 combos on the same survivorship-bias-free backtester, ranks by worst-half (H1/H2) return with neighbourhood smoothing, flags overfitting, and recommends the most stable parameters rather than the best-fit ones. Price: $0.50 USDC per call (x402, Base mainnet). Free pre-check: validate_optimize.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "strategy": {
      "$ref": "#/$defs/OptimizeStrategy"
    },
    "grid": {
      "additionalProperties": {
        "items": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "number"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": "array"
      },
      "description": "param -> values to try; <= 50 combos total, <= 10 values per param",
      "title": "Grid",
      "type": "object"
    },
    "universe": {
      "anyOf": [
        {
          "$ref": "#/$defs/Universe"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "start": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "Start"
    },
    "end": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "End"
    },
    "initial_capital": {
      "default": 150,
      "description": "Starting capital in USD",
      "exclusiveMinimum": 0,
      "maximum": 1000000000,
      "title": "Initial Capital",
      "type": "number"
    },
    "fee": {
      "default": 0.009,
      "description": "Fee per side (0.009 = 0.9%)",
      "maximum": 0.05,
      "minimum": 0,
      "title": "Fee",
      "type": "number"
    },
    "slippage": {
      "default": 0.002,
      "description": "Slippage per side",
      "maximum": 0.05,
      "minimum": 0,
      "title": "Slippage",
      "type": "number"
    },
    "rank_by": {
      "default": "robust",
      "enum": [
        "robust",
        "return"
      ],
      "title": "Rank By",
      "type": "string"
    }
  },
  "required": [
    "strategy",
    "grid"
  ],
  "$defs": {
    "OptimizeStrategy": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "enum": [
            "breakout",
            "momentum",
            "dip",
            "ma_trend"
          ],
          "title": "Type",
          "type": "string"
        },
        "params": {
          "additionalProperties": true,
          "default": {},
          "description": "Fixed (non-grid) params; same fields as /backtest strategy params",
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "type"
      ],
      "title": "OptimizeStrategy",
      "type": "object"
    },
    "Universe": {
      "additionalProperties": false,
      "properties": {
        "mode": {
          "default": "point_in_time",
          "description": "point_in_time = top-N by trailing 20d $ volume AS OF each day (no survivorship bias); current_top = top-N as of the end date (biased, for comparison); fixed = your coin list",
          "enum": [
            "point_in_time",
            "current_top",
            "fixed"
          ],
          "title": "Mode",
          "type": "string"
        },
        "top_n": {
          "default": 30,
          "maximum": 200,
          "minimum": 5,
          "title": "Top N",
          "type": "integer"
        },
        "min_age_days": {
          "default": 35,
          "description": "Days a coin must have traded before it is eligible",
          "maximum": 120,
          "minimum": 0,
          "title": "Min Age Days",
          "type": "integer"
        },
        "min_avg_dollar_volume": {
          "default": 1000000,
          "description": "Min 20-day avg Coinbase $ volume",
          "minimum": 0,
          "title": "Min Avg Dollar Volume",
          "type": "number"
        },
        "coins": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "maxItems": 200,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Coins"
        }
      },
      "title": "Universe",
      "type": "object"
    }
  },
  "title": "optimize_strategyArguments"
}
🟢universe_snapshot(date, top_n, min_age_days, min_avg_dollar_volume)

Survivorship-free top-N coin list for any past date: Coinbase USD pairs ranked by trailing 20-day dollar volume using only data available that day. Fixes your own backtests: picking today's top coins hides the ones that died and overstates returns. Price: $0.05 USDC per call (x402, Base mainnet). Free pre-check: validate_universe.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "date": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "Date"
    },
    "top_n": {
      "default": 30,
      "maximum": 200,
      "minimum": 1,
      "title": "Top N",
      "type": "integer"
    },
    "min_age_days": {
      "default": 35,
      "maximum": 120,
      "minimum": 0,
      "title": "Min Age Days",
      "type": "integer"
    },
    "min_avg_dollar_volume": {
      "default": 1000000,
      "minimum": 0,
      "title": "Min Avg Dollar Volume",
      "type": "number"
    }
  },
  "title": "universe_snapshotArguments"
}
🟢signals_sample

Free, one day delayed: yesterday's full /signals result (BTC/ETH trend, breadth, breakout watchlist, R1 gate) so you can judge quality before paying. Today's result: paid market_signals ($0.01). Limit 60/hour per client.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "title": "signals_sampleArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "signals_sampleDictOutput"
}
🟢backtest_sample(strategy, days)

Free sample of the paid `backtest` tool on the same survivorship-bias-free engine: any strategy, point-in-time top-10 universe, window = last `days` (14..90) completed days, summary only. Full version: backtest ($0.05). Limit 30/hour per client.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "strategy": {
      "discriminator": {
        "mapping": {
          "breakout": "#/$defs/Breakout",
          "dip": "#/$defs/Dip",
          "ma_trend": "#/$defs/MATrend",
          "momentum": "#/$defs/Momentum"
        },
        "propertyName": "type"
      },
      "oneOf": [
        {
          "$ref": "#/$defs/Breakout"
        },
        {
          "$ref": "#/$defs/Momentum"
        },
        {
          "$ref": "#/$defs/Dip"
        },
        {
          "$ref": "#/$defs/MATrend"
        }
      ],
      "title": "Strategy"
    },
    "days": {
      "default": 90,
      "description": "Window length in days, ending on the last completed UTC day",
      "maximum": 90,
      "minimum": 14,
      "title": "Days",
      "type": "integer"
    }
  },
  "required": [
    "strategy"
  ],
  "$defs": {
    "Breakout": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "breakout",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/BreakoutParams",
          "default": {
            "lookback": 20,
            "atr_mult": 2,
            "risk_per_trade": 0.05,
            "max_position_pct": 0.5,
            "max_positions": 3,
            "gate": "btc_ma50",
            "min_stop_pct": 0.06,
            "max_stop_pct": 0.4
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Breakout",
      "type": "object"
    },
    "BreakoutParams": {
      "additionalProperties": false,
      "properties": {
        "lookback": {
          "default": 20,
          "description": "Buy when close > highest high of prior N days",
          "maximum": 60,
          "minimum": 5,
          "title": "Lookback",
          "type": "integer"
        },
        "atr_mult": {
          "default": 2,
          "description": "Trailing stop = highest close - k*ATR14",
          "maximum": 6,
          "minimum": 0.5,
          "title": "Atr Mult",
          "type": "number"
        },
        "risk_per_trade": {
          "default": 0.05,
          "description": "Fraction of equity risked to the initial stop",
          "exclusiveMinimum": 0,
          "maximum": 0.25,
          "title": "Risk Per Trade",
          "type": "number"
        },
        "max_position_pct": {
          "default": 0.5,
          "exclusiveMinimum": 0,
          "maximum": 1,
          "title": "Max Position Pct",
          "type": "number"
        },
        "max_positions": {
          "default": 3,
          "maximum": 10,
          "minimum": 1,
          "title": "Max Positions",
          "type": "integer"
        },
        "gate": {
          "default": "btc_ma50",
          "description": "Only open trades when BTC > 50-day SMA (btc_ma50) or >=50% of universe above 20d SMA (breadth50)",
          "enum": [
            "none",
            "btc_ma50",
            "breadth50"
          ],
          "title": "Gate",
          "type": "string"
        },
        "min_stop_pct": {
          "default": 0.06,
          "exclusiveMinimum": 0,
          "maximum": 0.5,
          "title": "Min Stop Pct",
          "type": "number"
        },
        "max_stop_pct": {
          "default": 0.4,
          "exclusiveMinimum": 0,
          "maximum": 0.9,
          "title": "Max Stop Pct",
          "type": "number"
        }
      },
      "title": "BreakoutParams",
      "type": "object"
    },
    "Dip": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "dip",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/DipParams",
          "default": {
            "drop_pct": 0.15,
            "days": 1,
            "trend_filter": "ma50",
            "max_hold_days": 5,
            "hard_stop_pct": 0.15,
            "max_positions": 3
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Dip",
      "type": "object"
    },
    "DipParams": {
      "additionalProperties": false,
      "properties": {
        "drop_pct": {
          "default": 0.15,
          "description": "Buy after a fall of at least this fraction over `days`",
          "exclusiveMaximum": 0.9,
          "exclusiveMinimum": 0.01,
          "title": "Drop Pct",
          "type": "number"
        },
        "days": {
          "default": 1,
          "maximum": 10,
          "minimum": 1,
          "title": "Days",
          "type": "integer"
        },
        "trend_filter": {
          "default": "ma50",
          "enum": [
            "ma50",
            "none"
          ],
          "title": "Trend Filter",
          "type": "string"
        },
        "max_hold_days": {
          "default": 5,
          "maximum": 60,
          "minimum": 1,
          "title": "Max Hold Days",
          "type": "integer"
        },
        "hard_stop_pct": {
          "default": 0.15,
          "exclusiveMaximum": 0.9,
          "exclusiveMinimum": 0.01,
          "title": "Hard Stop Pct",
          "type": "number"
        },
        "max_positions": {
          "default": 3,
          "maximum": 10,
          "minimum": 1,
          "title": "Max Positions",
          "type": "integer"
        }
      },
      "title": "DipParams",
      "type": "object"
    },
    "MATrend": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "ma_trend",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/MATrendParams",
          "default": {
            "coins": [
              "ETH-USD"
            ],
            "ma_days": 50
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "MATrend",
      "type": "object"
    },
    "MATrendParams": {
      "additionalProperties": false,
      "properties": {
        "coins": {
          "default": [
            "ETH-USD"
          ],
          "description": "Coinbase product ids, e.g. ETH-USD",
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "title": "Coins",
          "type": "array"
        },
        "ma_days": {
          "default": 50,
          "maximum": 60,
          "minimum": 5,
          "title": "Ma Days",
          "type": "integer"
        }
      },
      "title": "MATrendParams",
      "type": "object"
    },
    "Momentum": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "momentum",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/MomentumParams",
          "default": {
            "lookback": 14,
            "top_n": 2,
            "rebalance_days": 7,
            "gate": "btc_ma50",
            "trail_pct": null
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Momentum",
      "type": "object"
    },
    "MomentumParams": {
      "additionalProperties": false,
      "properties": {
        "lookback": {
          "default": 14,
          "description": "Rank by N-day return",
          "maximum": 60,
          "minimum": 3,
          "title": "Lookback",
          "type": "integer"
        },
        "top_n": {
          "default": 2,
          "maximum": 10,
          "minimum": 1,
          "title": "Top N",
          "type": "integer"
        },
        "rebalance_days": {
          "default": 7,
          "maximum": 30,
          "minimum": 1,
          "title": "Rebalance Days",
          "type": "integer"
        },
        "gate": {
          "default": "btc_ma50",
          "enum": [
            "none",
            "btc_ma50",
            "breadth50"
          ],
          "title": "Gate",
          "type": "string"
        },
        "trail_pct": {
          "anyOf": [
            {
              "exclusiveMaximum": 0.9,
              "exclusiveMinimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Optional % trailing stop from highest close",
          "title": "Trail Pct"
        }
      },
      "title": "MomentumParams",
      "type": "object"
    }
  },
  "title": "backtest_sampleArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "backtest_sampleDictOutput"
}
🟢health

Free: service status, prices, network and data range.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "title": "healthArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "healthDictOutput"
}
🟢get_schema

Free: request schemas, examples, prices and limits for every paid tool/endpoint.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "title": "get_schemaArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_schemaDictOutput"
}
🟢validate_backtest(strategy, universe, start, end, initial_capital, ...)

Free: check backtest arguments (same as the paid `backtest` tool) before paying.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "strategy": {
      "discriminator": {
        "mapping": {
          "breakout": "#/$defs/Breakout",
          "dip": "#/$defs/Dip",
          "ma_trend": "#/$defs/MATrend",
          "momentum": "#/$defs/Momentum"
        },
        "propertyName": "type"
      },
      "oneOf": [
        {
          "$ref": "#/$defs/Breakout"
        },
        {
          "$ref": "#/$defs/Momentum"
        },
        {
          "$ref": "#/$defs/Dip"
        },
        {
          "$ref": "#/$defs/MATrend"
        }
      ],
      "title": "Strategy"
    },
    "universe": {
      "anyOf": [
        {
          "$ref": "#/$defs/Universe"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "start": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "Start"
    },
    "end": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "End"
    },
    "initial_capital": {
      "default": 150,
      "description": "Starting capital in USD",
      "exclusiveMinimum": 0,
      "maximum": 1000000000,
      "title": "Initial Capital",
      "type": "number"
    },
    "fee": {
      "default": 0.009,
      "description": "Fee per side (0.009 = 0.9%)",
      "maximum": 0.05,
      "minimum": 0,
      "title": "Fee",
      "type": "number"
    },
    "slippage": {
      "default": 0.002,
      "description": "Slippage per side",
      "maximum": 0.05,
      "minimum": 0,
      "title": "Slippage",
      "type": "number"
    },
    "include_trades": {
      "default": true,
      "title": "Include Trades",
      "type": "boolean"
    }
  },
  "required": [
    "strategy"
  ],
  "$defs": {
    "Breakout": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "breakout",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/BreakoutParams",
          "default": {
            "lookback": 20,
            "atr_mult": 2,
            "risk_per_trade": 0.05,
            "max_position_pct": 0.5,
            "max_positions": 3,
            "gate": "btc_ma50",
            "min_stop_pct": 0.06,
            "max_stop_pct": 0.4
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Breakout",
      "type": "object"
    },
    "BreakoutParams": {
      "additionalProperties": false,
      "properties": {
        "lookback": {
          "default": 20,
          "description": "Buy when close > highest high of prior N days",
          "maximum": 60,
          "minimum": 5,
          "title": "Lookback",
          "type": "integer"
        },
        "atr_mult": {
          "default": 2,
          "description": "Trailing stop = highest close - k*ATR14",
          "maximum": 6,
          "minimum": 0.5,
          "title": "Atr Mult",
          "type": "number"
        },
        "risk_per_trade": {
          "default": 0.05,
          "description": "Fraction of equity risked to the initial stop",
          "exclusiveMinimum": 0,
          "maximum": 0.25,
          "title": "Risk Per Trade",
          "type": "number"
        },
        "max_position_pct": {
          "default": 0.5,
          "exclusiveMinimum": 0,
          "maximum": 1,
          "title": "Max Position Pct",
          "type": "number"
        },
        "max_positions": {
          "default": 3,
          "maximum": 10,
          "minimum": 1,
          "title": "Max Positions",
          "type": "integer"
        },
        "gate": {
          "default": "btc_ma50",
          "description": "Only open trades when BTC > 50-day SMA (btc_ma50) or >=50% of universe above 20d SMA (breadth50)",
          "enum": [
            "none",
            "btc_ma50",
            "breadth50"
          ],
          "title": "Gate",
          "type": "string"
        },
        "min_stop_pct": {
          "default": 0.06,
          "exclusiveMinimum": 0,
          "maximum": 0.5,
          "title": "Min Stop Pct",
          "type": "number"
        },
        "max_stop_pct": {
          "default": 0.4,
          "exclusiveMinimum": 0,
          "maximum": 0.9,
          "title": "Max Stop Pct",
          "type": "number"
        }
      },
      "title": "BreakoutParams",
      "type": "object"
    },
    "Dip": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "dip",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/DipParams",
          "default": {
            "drop_pct": 0.15,
            "days": 1,
            "trend_filter": "ma50",
            "max_hold_days": 5,
            "hard_stop_pct": 0.15,
            "max_positions": 3
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Dip",
      "type": "object"
    },
    "DipParams": {
      "additionalProperties": false,
      "properties": {
        "drop_pct": {
          "default": 0.15,
          "description": "Buy after a fall of at least this fraction over `days`",
          "exclusiveMaximum": 0.9,
          "exclusiveMinimum": 0.01,
          "title": "Drop Pct",
          "type": "number"
        },
        "days": {
          "default": 1,
          "maximum": 10,
          "minimum": 1,
          "title": "Days",
          "type": "integer"
        },
        "trend_filter": {
          "default": "ma50",
          "enum": [
            "ma50",
            "none"
          ],
          "title": "Trend Filter",
          "type": "string"
        },
        "max_hold_days": {
          "default": 5,
          "maximum": 60,
          "minimum": 1,
          "title": "Max Hold Days",
          "type": "integer"
        },
        "hard_stop_pct": {
          "default": 0.15,
          "exclusiveMaximum": 0.9,
          "exclusiveMinimum": 0.01,
          "title": "Hard Stop Pct",
          "type": "number"
        },
        "max_positions": {
          "default": 3,
          "maximum": 10,
          "minimum": 1,
          "title": "Max Positions",
          "type": "integer"
        }
      },
      "title": "DipParams",
      "type": "object"
    },
    "MATrend": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "ma_trend",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/MATrendParams",
          "default": {
            "coins": [
              "ETH-USD"
            ],
            "ma_days": 50
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "MATrend",
      "type": "object"
    },
    "MATrendParams": {
      "additionalProperties": false,
      "properties": {
        "coins": {
          "default": [
            "ETH-USD"
          ],
          "description": "Coinbase product ids, e.g. ETH-USD",
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "title": "Coins",
          "type": "array"
        },
        "ma_days": {
          "default": 50,
          "maximum": 60,
          "minimum": 5,
          "title": "Ma Days",
          "type": "integer"
        }
      },
      "title": "MATrendParams",
      "type": "object"
    },
    "Momentum": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "const": "momentum",
          "title": "Type",
          "type": "string"
        },
        "params": {
          "$ref": "#/$defs/MomentumParams",
          "default": {
            "lookback": 14,
            "top_n": 2,
            "rebalance_days": 7,
            "gate": "btc_ma50",
            "trail_pct": null
          }
        }
      },
      "required": [
        "type"
      ],
      "title": "Momentum",
      "type": "object"
    },
    "MomentumParams": {
      "additionalProperties": false,
      "properties": {
        "lookback": {
          "default": 14,
          "description": "Rank by N-day return",
          "maximum": 60,
          "minimum": 3,
          "title": "Lookback",
          "type": "integer"
        },
        "top_n": {
          "default": 2,
          "maximum": 10,
          "minimum": 1,
          "title": "Top N",
          "type": "integer"
        },
        "rebalance_days": {
          "default": 7,
          "maximum": 30,
          "minimum": 1,
          "title": "Rebalance Days",
          "type": "integer"
        },
        "gate": {
          "default": "btc_ma50",
          "enum": [
            "none",
            "btc_ma50",
            "breadth50"
          ],
          "title": "Gate",
          "type": "string"
        },
        "trail_pct": {
          "anyOf": [
            {
              "exclusiveMaximum": 0.9,
              "exclusiveMinimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Optional % trailing stop from highest close",
          "title": "Trail Pct"
        }
      },
      "title": "MomentumParams",
      "type": "object"
    },
    "Universe": {
      "additionalProperties": false,
      "properties": {
        "mode": {
          "default": "point_in_time",
          "description": "point_in_time = top-N by trailing 20d $ volume AS OF each day (no survivorship bias); current_top = top-N as of the end date (biased, for comparison); fixed = your coin list",
          "enum": [
            "point_in_time",
            "current_top",
            "fixed"
          ],
          "title": "Mode",
          "type": "string"
        },
        "top_n": {
          "default": 30,
          "maximum": 200,
          "minimum": 5,
          "title": "Top N",
          "type": "integer"
        },
        "min_age_days": {
          "default": 35,
          "description": "Days a coin must have traded before it is eligible",
          "maximum": 120,
          "minimum": 0,
          "title": "Min Age Days",
          "type": "integer"
        },
        "min_avg_dollar_volume": {
          "default": 1000000,
          "description": "Min 20-day avg Coinbase $ volume",
          "minimum": 0,
          "title": "Min Avg Dollar Volume",
          "type": "number"
        },
        "coins": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "maxItems": 200,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Coins"
        }
      },
      "title": "Universe",
      "type": "object"
    }
  },
  "title": "validate_backtestArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "validate_backtestDictOutput"
}
🟢validate_optimize(strategy, grid, universe, start, end, ...)

Free: check optimize_strategy arguments and count grid combos before paying.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "strategy": {
      "$ref": "#/$defs/OptimizeStrategy"
    },
    "grid": {
      "additionalProperties": {
        "items": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "number"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": "array"
      },
      "description": "param -> values to try",
      "title": "Grid",
      "type": "object"
    },
    "universe": {
      "anyOf": [
        {
          "$ref": "#/$defs/Universe"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "start": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "Start"
    },
    "end": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "End"
    },
    "initial_capital": {
      "default": 150,
      "description": "Starting capital in USD",
      "exclusiveMinimum": 0,
      "maximum": 1000000000,
      "title": "Initial Capital",
      "type": "number"
    },
    "fee": {
      "default": 0.009,
      "description": "Fee per side (0.009 = 0.9%)",
      "maximum": 0.05,
      "minimum": 0,
      "title": "Fee",
      "type": "number"
    },
    "slippage": {
      "default": 0.002,
      "description": "Slippage per side",
      "maximum": 0.05,
      "minimum": 0,
      "title": "Slippage",
      "type": "number"
    },
    "rank_by": {
      "default": "robust",
      "enum": [
        "robust",
        "return"
      ],
      "title": "Rank By",
      "type": "string"
    }
  },
  "required": [
    "strategy",
    "grid"
  ],
  "$defs": {
    "OptimizeStrategy": {
      "additionalProperties": false,
      "properties": {
        "type": {
          "enum": [
            "breakout",
            "momentum",
            "dip",
            "ma_trend"
          ],
          "title": "Type",
          "type": "string"
        },
        "params": {
          "additionalProperties": true,
          "default": {},
          "description": "Fixed (non-grid) params; same fields as /backtest strategy params",
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "type"
      ],
      "title": "OptimizeStrategy",
      "type": "object"
    },
    "Universe": {
      "additionalProperties": false,
      "properties": {
        "mode": {
          "default": "point_in_time",
          "description": "point_in_time = top-N by trailing 20d $ volume AS OF each day (no survivorship bias); current_top = top-N as of the end date (biased, for comparison); fixed = your coin list",
          "enum": [
            "point_in_time",
            "current_top",
            "fixed"
          ],
          "title": "Mode",
          "type": "string"
        },
        "top_n": {
          "default": 30,
          "maximum": 200,
          "minimum": 5,
          "title": "Top N",
          "type": "integer"
        },
        "min_age_days": {
          "default": 35,
          "description": "Days a coin must have traded before it is eligible",
          "maximum": 120,
          "minimum": 0,
          "title": "Min Age Days",
          "type": "integer"
        },
        "min_avg_dollar_volume": {
          "default": 1000000,
          "description": "Min 20-day avg Coinbase $ volume",
          "minimum": 0,
          "title": "Min Avg Dollar Volume",
          "type": "number"
        },
        "coins": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "maxItems": 200,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Coins"
        }
      },
      "title": "Universe",
      "type": "object"
    }
  },
  "title": "validate_optimizeArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "validate_optimizeDictOutput"
}
🟢validate_token_check(chain, address)

Free: format-check a token_check request (no on-chain lookups).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "enum": [
        "base",
        "ethereum",
        "solana"
      ],
      "title": "Chain",
      "type": "string"
    },
    "address": {
      "title": "Address",
      "type": "string"
    }
  },
  "required": [
    "chain",
    "address"
  ],
  "title": "validate_token_checkArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "validate_token_checkDictOutput"
}
🟢validate_universe(date, top_n, min_age_days, min_avg_dollar_volume)

Free: check universe_snapshot arguments (date in range, enough history) before paying.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "date": {
      "anyOf": [
        {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YYYY-MM-DD",
      "title": "Date"
    },
    "top_n": {
      "default": 30,
      "maximum": 200,
      "minimum": 1,
      "title": "Top N",
      "type": "integer"
    },
    "min_age_days": {
      "default": 35,
      "maximum": 120,
      "minimum": 0,
      "title": "Min Age Days",
      "type": "integer"
    },
    "min_avg_dollar_volume": {
      "default": 1000000,
      "minimum": 0,
      "title": "Min Avg Dollar Volume",
      "type": "number"
    }
  },
  "title": "validate_universeArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "validate_universeDictOutput"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet13 Tools