View Markdown

Frameworks

Supported open-source frameworks, pinned versions, capability matrix.

GET/runtime/frameworks#

Which frameworks the runtime executes and at which exact versions. The digest values in the example below are illustrative 64-hex examples only; GET /runtime/frameworks is the authority for the exact deployed digest.

Response — 200

json
{
  "frameworks": [
    {
      "id": "freqtrade",
      "language": "python",
      "version": "2026.7",
      "image_digest": "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
      "strategy_shape": "IStrategy subclass (populate_indicators / populate_entry_trend / populate_exit_trend)",
      "docs": "https://www.freqtrade.io/en/stable/strategy-customization/"
    },
    {
      "id": "nautilus",
      "language": "python",
      "version": "1.220.0",
      "image_digest": "sha256:fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210",
      "strategy_shape": "nautilus_trader Strategy with venue-native instrument IDs",
      "docs": "https://nautilustrader.io/docs/"
    }
  ]
}

Engine x venue matrix#

FrameworkSupported nowComing soon
freqtradeHyperliquidBinance
NautilusTraderHyperliquid, Lighter, Polymarket (backtests)—

Pinning#

image_digest is the contract: every deployment and backtest records the digest it ran on, and the runtime never upgrades a running deployment underneath you. Creates use the digest currently listed here; to stay on an older listed digest, pass it explicitly ("image_digest" on POST /runtime/deployments) — new versions appear as new entries and never change what an existing or pinned deployment runs.

What's in the image#

Your code is one strategy file, imported inside the framework's official image — so "will my imports work" is answered by the image, not by us:

  • freqtrade: the official image's full dependency set — talib.abstract, qtpylib, freqtrade's technical, numpy/pandas. Not included: pandas_ta or other third-party indicator packages; an unavailable import fails at validation with strategy_invalid naming the module, not silently at 3am.
  • nautilus: nautilus_trader and its standard dependencies.

Multi-file strategies and custom packages aren't supported in stage 1 — inline the helper into the strategy file. (Requirements-per-deployment is a tracked candidate in the design log.)

Bring the strategy you already have#

The point of running open frameworks rather than a proprietary DSL: your existing bot works here. A freqtrade strategy file that runs locally is the same file you send to POST /runtime/deployments — same class, same config keys (guide). Same for a Nautilus strategy (guide). No translation layer, no lock-in either direction: stop deploying and your strategy still runs anywhere the framework does.