STRATBAY DEV ACCESS

Developer documentation, API reference, and MCP integration for the live strategy test bay

System Status

Feed ● Connected — Hyperliquid WebSocket (BTC, ETH, SOL perps) Engine Paper Trading $100K virtual portfolio Backend FastAPI + uvicorn on port 8080 (internal) → proxied via /stratbay/ Frontend React 18 (CDN) — dark terminal aesthetic Database SQLite trade log at /opt/stratbay/backend/trades.db Server DataSwan container (Debian 13, Python 3.12) — 46.224.218.170

Claude MCP Integration

StratBay exposes 15 tools via Model Context Protocol for Claude to manage strategies, monitor trades, and analyze performance.

MCP Server Location

# On server at:
/opt/stratbay/mcp/stratbay_mcp.py

# Connects to StratBay backend at:
http://localhost:8080

Claude Desktop Config

{
  "mcpServers": {
    "stratbay": {
      "command": "python3.12",
      "args": ["/opt/stratbay/mcp/stratbay_mcp.py"],
      "env": {"STRATBAY_URL": "http://localhost:8080"}
    }
  }
}

Available MCP Tools (15)

stratbay_systemSystem status & feed stats
stratbay_pricesLive BTC/ETH/SOL prices
stratbay_feed_snapshotRaw feed data snapshot
stratbay_candlesOHLCV candle data
stratbay_portfolioPortfolio & positions
stratbay_analyticsSharpe, drawdown, win rate
stratbay_equity_curveEquity history data
stratbay_tradesTrade log with filters
stratbay_list_strategiesAll strategies & status
stratbay_start_strategyStart a strategy
stratbay_stop_strategyStop a strategy
stratbay_get_strategy_codeView strategy source
stratbay_create_strategyDeploy new strategy
stratbay_update_strategyUpdate strategy code
stratbay_logsSystem & strategy logs

REST API Reference

Base URL: https://dataswan.io/stratbay/api (or http://46.224.218.170/stratbay/api)

GET/api/systemFeed stats, prices, active strategies
GET/api/pricesLive BTC/ETH/SOL prices
GET/api/portfolioEquity, cash, positions
GET/api/analyticsSharpe, drawdown, win rate, profit factor
GET/api/equityEquity curve data points
GET/api/trades?limit=20Recent closed trades
GET/api/strategiesList all strategies
POST/api/strategies/{name}/startStart a strategy
POST/api/strategies/{name}/stopStop a strategy
GET/api/strategies/{name}/codeGet strategy source code
POST/api/strategies/create/{name}Deploy new strategy (JSON body: {code})
GET/api/candles?symbol=BTC&limit=100OHLCV candle data
GET/api/logs?limit=50System logs

WebSocket Feed

// Connect to live data stream
const ws = new WebSocket('wss://dataswan.io/stratbay/ws/live');

// Message types: tick, portfolio, init
ws.onmessage = (e) => {
  const msg = JSON.parse(e.data);
  // msg.type: 'tick' | 'portfolio' | 'init'
  // tick: {symbol, price, timestamp}
  // portfolio: {equity, cash, positions, analytics, prices}
  // init: {prices, portfolio, strategies, analytics}
};

Strategy Framework

from strategies import BaseStrategy

class MyStrategy(BaseStrategy):
  name = "my_strategy"
  description = "My custom strategy"
  symbols = ["BTC", "ETH", "SOL"]

  def on_tick(self, tick):
    # tick = {symbol, price, timestamp}
    # self.buy(symbol, size) / self.sell(symbol, size)
    # self.get_position(symbol) → Position or None
    # self.prices → {BTC: 71000, ETH: 2100, SOL: 90}
    pass
Strategies Dir /opt/stratbay/backend/strategies.py Hot Reload Yes — strategies can be created/updated via API without restart Built-in SimpleMomentum, MeanReversion

Server File Layout

/opt/stratbay/
├── backend/
│   ├── main.py         # FastAPI app (port 8080)
│   ├── engine.py       # Paper trading engine ($100K)
│   ├── datafeed.py     # Hyperliquid WebSocket feed
│   ├── strategies.py   # Strategy framework + built-ins
│   ├── models.py       # Pydantic models
│   └── requirements.txt
├── frontend/
│   ├── index.html      # React dashboard SPA
│   └── dev-access.html # This page
├── mcp/
│   └── stratbay_mcp.py # MCP server (15 tools)
└── logs/
    └── stratbay.log

StratBay v0.1 — Paper trading engine for Hyperliquid perps — Built for DataSwan