dMoERA Creator

io.github.CacheCartiPublished by GitHub account CacheCartiv1.0.0Updated Oct 24, 2026

Build, backtest, and deploy crypto trading strategies via MCP with 7-stage validation.

VerifiedStreamable HTTPWeb executableFinanceDeveloper ToolsData & Analytics

Overview

AI-generated overview

dMoERA Creator lets an AI assistant build, backtest and submit crypto trading strategies, and manage personal hedge funds on the dMoERA platform.

What you can do
  • Discover trading domains, data feeds, market regimes, live prices and ranked bots
  • Backtest strategy code in a sandbox and submit it for a 7-stage validation pipeline, then read strategy reports
  • Browse marketplace bots, open-source bots, tournaments and leaderboards
  • Create and configure personal hedge funds: roster, weights, risk caps, activation and closure
  • Track fund positions, trades, P&L, analytics and immutable report cards
  • Manage a fund's public manager persona and formation templates
When to use it
Useful when you want an assistant to iterate on Python crypto trading strategies against historical data and deploy them, or to assemble and monitor a portfolio of your own bots on dMoERA without leaving the chat.
Requirements
Remote Streamable HTTP endpoint at dmoera.xyz/mcp, or a local Python 3.11+ install with the mcp package and DMOERA_API_URL. A personal access token (DMOERA_API_KEY) is optional for public market data but required for backtesting, submitting, forking or delisting strategies and for all fund tools.
Before you install
Fund tools move real capital: creating a fund draws from wallet cash, activating Manager Mode deploys capital, and closing a fund is irreversible. Swaps incur friction costs. The API key grants write access to your strategies and funds, so keep it private and never commit it. Strategy code is sent to the remote dMoERA backend for validation and execution.

Installation

In SourceWeft

  1. Open dMoERA Creator in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.CacheCarti%2Fdmoera-creator/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "dmoera-creator": {
      "type": "http",
      "url": "https://dmoera.xyz/mcp"
    }
  }
}

README

dMoERA Creator Studio — MCP Server

[Smithery]

[dMoERA MCP Demo]

Build, backtest, and deploy crypto trading strategies using any MCP-compatible AI agent (Claude, Cursor, Windsurf, Devin, Copilot, etc.).

What it does

The dMoERA MCP server exposes the dMoERA Creator API as Model Context Protocol tools. Your AI agent can:

  • Discover trading domains, data feeds, and market regimes
  • Inspect existing bots and their live performance metrics
  • Backtest strategy code in a sandboxed environment
  • Submit strategies for full 7-stage validation and live deployment
  • Manage personal hedge funds — create funds, add your own bots, activate Manager Mode
  • Monitor tournament status, Tag Team leaderboards, and Vault allocation
  • Track fund positions, trades, P&L, analytics, and immutable report cards

This is a thin API client — it talks to a running dMoERA backend via HTTP. No internal dMoERA code is required.

Installation

Prerequisites

  • Python 3.11+
  • The mcp Python package (pip install mcp)
  • A running dMoERA backend (or connect to the public instance)

Setup

bash
git clone https://github.com/CacheCarti/dmoera-mcp.gitcd dmoera-mcppip install -r requirements.txt

MCP Configuration

Add this standard MCP configuration to Claude Desktop, Cursor, Windsurf, or another MCP client:

json
{  "mcpServers": {    "dmoera-creator": {      "command": "python",      "args": ["/absolute/path/to/dmoera-mcp/mcp_creator_server.py"],      "env": {        "DMOERA_API_URL": "https://dmoera.xyz",        "DMOERA_API_KEY": "your_optional_personal_access_token"      }    }  }}

The API key is optional for public market data and discovery tools. Create a Personal Access Token at dmoera.xyz under Settings → API Keys to backtest, submit, fork, open-source, or delist strategies. Never commit your token.

Remote clients can connect through the Streamable HTTP endpoint:

text
https://dmoera.xyz/mcp

Tools (44 total)

Discovery & Market Data

ToolDescriptionAuth Required
list_domainsList all available trading domains (ETH, BTC, SOL — spot and scalp)No
list_botsList trading bots ranked by performance, optionally filtered by domainNo
get_bot_profileGet detailed profile and performance stats for a specific botNo
get_feature_catalogList all data feeds available to strategies via ctx.featuresNo
get_market_regimeGet current market regime classificationNo
get_current_pricesGet current live prices for all tracked symbolsNo

Strategy Development

ToolDescriptionAuth Required
sandbox_backtestBacktest strategy code in a sandboxed environmentYes
submit_strategySubmit a strategy for full validation and live deploymentYes
list_strategiesList all strategies created by a userYes
get_strategy_reportGet a detailed report card for a strategyNo

Marketplace & Tournaments

ToolDescriptionAuth Required
get_marketplace_botsList bots published to the marketplaceNo
get_tournament_statusGet current tournament round status and leaderboardNo

Fund Management (personal funds — own bots only)

Personal funds can only contain the authenticated user's own bots. Use list_my_bots to see eligible strategies.

ToolDescriptionAuth Required
list_fundsList your funds (active + closed)Yes
get_fundFund details including rosterYes
get_active_fundCurrently active Manager Mode fundYes
create_fundCreate a personal hedge fundYes
add_bot_to_fundAdd your own bot to a fund's rosterYes
remove_bot_from_fundRemove a bot from the rosterYes
swap_bot_in_fundSwap one bot for another (friction cost applies)Yes
update_fund_weightsUpdate allocation weights for roster botsYes
update_fund_capsUpdate risk caps (max per bot, per domain, regime veto)Yes
activate_fundActivate Manager Mode — starts the personal routerYes
deactivate_fundDeactivate Manager Mode — return to main routerYes
close_fundPermanently close a fund (capital returned to wallet)Yes
estimate_swap_costEstimate friction cost (bps) before swapping botsYes
list_my_botsYour own bots eligible for a personal fund rosterYes
list_open_source_botsBrowse the broader open-source bot ecosystemNo
get_fund_positionsOpen positions for a fund's roster botsYes
get_fund_tradesClosed trade history for a fund's roster botsYes
get_fund_performanceP&L time-series snapshots for a fundYes
get_fund_live_pnlReal-time cumulative PnL chart from closed positionsYes
get_fund_analyticsDashboard analytics: allocation, per-bot performance, riskYes
run_fund_historical_testSimulate a roster against historical data (rate limited)Yes
generate_fund_report_cardGenerate an immutable report card for a fundYes
get_fund_report_cardGet the latest report card for a fundYes

Tag Team (daily paper trading competition)

ToolDescriptionAuth Required
tag_team_infoSession info, open positions, bot status, rankYes
tag_team_templatesCo-Pilot templates (momentum, scalper, etc.)No
tag_team_leaderboardDaily leaderboard (optional date filter)Yes
tag_team_weeklyWeekly championship standingsYes
tag_team_historyPast sessions with scoresYes
tag_team_tierTier progression (Rookie → Master)Yes
tag_team_badgesEarned badges (Daily Champion, Bot Whisperer, etc.)Yes

Vault (regime-aware allocation)

ToolDescriptionAuth Required
get_vault_statusCurrent regime, allocation weights, sleeve holdingsYes
get_vault_historyRegime switch timelineYes

Resources

  • creator-api://docs — Full strategy contract documentation
  • creator-api://strategy-template — Copy-pasteable strategy template

Example Usage

Ask your AI agent:

"List all trading domains on dMoERA, then backtest a simple RSI mean-reversion strategy for ETH/USDC."

The agent will call list_domains, inspect the available markets, then call sandbox_backtest with strategy code it generates. You can iterate:

"The Sharpe is too low. Try adding a volatility filter — only trade when ATR is above its 20-period average."

"Submit this strategy to the ETH/USDC domain."

The agent calls submit_strategy, which runs the full 7-stage validation pipeline. If it passes, the strategy enters the live Arena and competes for tournament payouts.

Hedge Fund Management

"Create a personal hedge fund called 'Alpha Seeker' with a standard risk preset. Then list my eligible bots."

The agent calls create_fund, then list_my_bots to show which of your strategies can be added to the roster.

"Add my momentum ETH bot with 30% weight and my scalper BTC bot with 20% weight, then activate the fund."

The agent calls add_bot_to_fund twice, update_fund_weights, then activate_fund to start the personal router.

"How's the fund doing? Show me the analytics and latest report card."

The agent calls get_fund_analytics and get_fund_report_card.

Strategy Contract

Strategies subclass Strategy and implement on_bar(self, ctx) -> Signal. See the creator-api://docs resource for the full contract.

python
class MyStrategy(Strategy):    METADATA = {        "name": "SMA Crossover",        "domain": "eth_usdc",        "declared_sl_bps": 150.0,        "declared_tp_bps": 300.0,        "declared_hold_seconds": 3600,        "warmup_bars": 20,        "required_features": [],    }
    def on_bar(self, ctx):        closes = ctx.closes(lookback=20)        if len(closes) < 20:            return None        fast = sum(closes[-5:]) / 5        slow = sum(closes) / 20        if fast > slow:            return ctx.signal(                direction=SignalDirection.LONG,                confidence=0.7,                stop_loss_bps=150.0,                take_profit_bps=300.0,                horizon_seconds=3600,            )        return None

Hedge Fund System

Personal hedge funds (Manager Mode) let you build a portfolio of your own bots:

  1. Create a fund with a risk preset (prudent, standard, opportunistic, unrestricted)
  2. Add your own bots to the roster with allocation weights
  3. Set risk caps — max allocation per bot, per domain, regime veto
  4. Activate Manager Mode to deploy capital across the roster
  5. Monitor PnL, swap bots as needed, adjust weights
  6. Generate immutable report cards for track record
  7. Close the fund to return all capital to your wallet

The personal router replaces the main platform router while Manager Mode is active, giving you full control over which bots trade and how much capital they get. Personal funds can never contain another user's bots.

Tag Team System

Tag Team is a standalone daily paper-trading competition, separate from the main router and tournaments:

  • Start: Pick a Co-Pilot template (momentum, scalper, etc.) → get $10,000 paper capital
  • Capital split: 70% human ($7,000), 30% Co-Pilot bot ($3,000)
  • Manual trades: 20 max per day, leverage 1-20x
  • Bot deploy: After 3 closed manual trades, deploy the Co-Pilot
  • Scoring: Need 5+ human trades AND 5+ bot trades to qualify
  • End: At UTC midnight, all open positions close at market price
  • Next day: Fresh $10k, but bot params carry over (trained settings persist)

Tiers: Rookie (0) → Apprentice (10) → Trader (50) → Veteran (150) → Expert (500) → Master (1000+), based on total trades across all sessions.

Tournament System

Bots compete in 3-day tournament rounds. Scoring is based on the bot's own performance:

  • 50% risk-adjusted (rolling Sharpe ratio)
  • 30% total return (log-scaled bps)
  • 20% consistency (win rate × trade volume)

Top 3 per domain win USDT from the reward pool. No user following needed to qualify — your bot competes on its own metrics.

Links

License

MIT

Source: README.md at commit 2d90ba6

Tools

59

list_domains

List all available trading domains on dMoERA. Domains define what asset pair a strategy trades, what time horizon it uses (scalp=5m, swing=1h, crisis=2m), and what data is available. Strategies must declare which domain they belong to. Returns a JSON array of domain objects with: key, name, type, base_asset, quote_asset, grading_seconds, and feed_symbols.

Takes no parameters.

list_bots

List trading bots ranked by performance. Args: domain: Filter by domain key (e.g. "eth_usdc", "btc_usdc", "sol_usdc"). If omitted, returns top bots across all domains. limit: Maximum number of bots to return (default 20, max 100). Returns JSON array of bots with: bot_id, domain, strategy_name, sharpe, win_rate, total_trades, return_bps, and validation_score.

Parameterslimitdomain

get_bot_profile

Get detailed profile and performance stats for a specific bot. Args: bot_id: The bot identifier (e.g. "Eth_Full_Ensemble"). Returns JSON with: bot_id, domain, strategy type, full performance metrics (Sharpe, Sortino, Calmar, profit factor, regime breakdown), current position if any, and recent trade history.

Parametersbot_idrequired

get_feature_catalog

List all data feeds available to strategies via ctx.features. Features are external data that strategies can read during on_bar(). Each feature has a status: "live" (available now, requirable) or "planned" (roadmap, not yet available). Only live features can be used in required_features. Returns JSON array of features with: key, label, description, unit, example, cadence, source, status, and backtest_mode.

Takes no parameters.

get_market_regime

Get current market regime classification. Returns the aggregate regime (e.g. "bull_calm", "bear_volatile"), per-symbol regimes, crisis score, and the derivatives data driving the classification (funding rates, open interest, long/short ratios, taker buy/sell ratios). Regime determines which trade directions are allowed: - bull_* → longs only - bear_* → shorts only - neutral_* → both longs and shorts - crisis/meltdown → no new positions

Takes no parameters.

get_current_prices

Get current live prices for all tracked symbols. Returns JSON with symbol → {price, bid, ask, source, change_24h_pct, volume_24h} for ETHUSDT, BTCUSDT, SOLUSDT from Binance/Coinbase/Kraken.

Takes no parameters.

sandbox_backtest

Run a sandbox backtest of strategy code without persisting anything. This is the fastest way to test a strategy. The code is run through static checks and a full backtest on historical data, but no Strategy or StrategyVersion rows are created. Use this for rapid iteration. Args: code: Python source code implementing the Strategy contract. Must define a METADATA dict and a class extending Strategy with an on_bar(ctx) -> Signal method. See CREATOR_API.md. domain: Trading domain (e.g. "eth_usdc", "btc_usdc", "sol_usdc"). symbol: Price symbol for historical data (e.g. "ETHUSDT"). user_id: Identifier for trial tracking (used for DSR correction). Returns JSON with: success, metrics (sharpe, sortino, win_rate, total_trades, return_bps, max_drawdown, regime_breakdown, exit_reason_breakdown), or error details if validation failed.

Parameterscoderequireddomainsymboluser_id

submit_strategy

Submit a strategy for full validation and live deployment. Runs the complete 7-stage validation pipeline: 1. static_check — code safety (banned imports, syntax) 2. in_sample — sanity check on training data 3. out_of_sample — test on unseen data (70/30 split) 4. walk_forward — rolling window validation 5. randomized_start — different random start points 6. perturbation — market stress test 7. holdout — server-side reserved data (pass/fail only) If all stages pass, the strategy is registered for isolated live paper trading with status="incubating". Promotion to "live" requires a proven track record. Args: name: Human-readable strategy name (e.g. "ETH Momentum v2"). domain: Trading domain key (e.g. "eth_usdc"). code: Python source code implementing the Strategy contract. user_id: The creator's user ID. symbol: Price symbol for historical data. Returns JSON with: success, strategy_id, bot_id, validation results per stage, or error details.

Parameterscoderequirednamerequireddomainrequiredsymboluser_idrequired

list_strategies

List all strategies created by a user. Args: user_id: The creator's user ID. Returns JSON array of strategies with: id, bot_id, name, domain, status, declared_sl_bps, declared_tp_bps, and created_at.

Parametersuser_idrequired

get_strategy_report

Get a detailed report card for a strategy. Includes validation run results for all 7 stages, performance metrics, and the integrity block (code hash, AST hash, parameter fingerprint). Args: strategy_id: The strategy's database ID. Returns JSON with: strategy details, latest validation runs, metrics.

Parametersstrategy_idrequired

get_marketplace_bots

List bots published to the marketplace. Args: domain: Filter by domain (e.g. "eth_usdc"). Omit for all domains. sort: Sort order — "rating", "return", "subscribers", or "newest". limit: Max results (default 20, max 100). Returns JSON array of marketplace listings with: listing_id, bot_id, title, description, domain, creator, monthly_price_usd, cached stats (win_rate, return_bps, sharpe), subscriber_count, and avg_rating.

Parameterssortlimitdomain

get_tournament_status

Get current tournament round status and leaderboard. Tournaments run every 3 days. Top 3 bots per domain win prizes from the reward pool. Scoring is weighted: 50% risk-adjusted return, 30% total PnL, 20% consistency. Returns JSON with: current round info (round_id, start/end time, reward_pool_usd, total_participants), and leaderboard entries.

Takes no parameters.

list_funds

List all hedge funds for the authenticated user (active + closed). Returns a JSON array of fund objects with: id, fund_name, is_active, inception_date, initial_capital, current_aum, router_preset, aggression_mode, total_pnl_usd, total_pnl_bps, and roster summary.

Takes no parameters.

get_fund

Get detailed info for a specific hedge fund, including its roster. Args: fund_id: The fund's ID. Returns a JSON object with fund details and active roster entries (bot_id, bot_name, weight, domain, current_pnl).

Parametersfund_idrequired

get_active_fund

Get the authenticated user's currently active (Manager Mode) fund. Returns the active fund object or null if Manager Mode is not active.

Takes no parameters.

set_fund_lineup

Replace your fund's live lineup in one call. roster: [{"bot_id": "dir_long_btc", "weight_pct": 60}, {"bot_id": "...", "weight_pct": 25}] Weights are % of the fund; anything under 100 stays in cash. Bots that stay keep their positions, removed bots are closed at market, new bots open on their next signal (Always Long/Short bots open right away). The change and your rationale go into the fund's public history.

Parametersrosterrequiredfund_idrequiredrationale

create_fund

Create a new personal hedge fund for the authenticated user. The fund starts inactive — call activate_fund to start Manager Mode. Initial capital is taken from the user's wallet_cash at creation time. Personal funds can ONLY contain the user's own bots — use list_my_bots to see eligible strategies. Args: fund_name: Display name for the fund. router_preset: Risk profile — one of "prudent", "standard", "opportunistic", "unrestricted". aggression_mode: "weights" (default — the fund follows your weights exactly; leftover % stays in cash) or "router" (opt-in Kelly sizing; needs bots with a trade history). philosophy: Optional text describing the fund's investment thesis (max 2000 chars). fund_type: "personal" (your bots + live/open-source platform bots + directional bots; default), "standard" (platform bots), or "open_source" (open-source bots only). Returns the created fund object.

Parametersfund_namefund_typephilosophyrouter_presetaggression_mode

add_bot_to_fund

Add a bot to a fund's roster. Personal funds can only contain the authenticated user's OWN bots. Use list_my_bots to see eligible strategies. Args: fund_id: The fund's ID. bot_id: The bot to add (e.g. "momentum_eth_v3"). bot_domain: The bot's domain (e.g. "eth_usdc", "btc_usdc"). weight: Initial allocation weight in percent (default 20.0). rationale: Why you're adding it — published in the fund's manager log. Returns the updated roster entry.

Parametersbot_idrequiredweightfund_idrequiredrationalebot_domainrequired

remove_bot_from_fund

Remove a bot from a fund's roster (triggers wind-down of its positions). Args: fund_id: The fund's ID. bot_id: The bot to remove. reason: Optional reason for removal. Returns success or error.

Parametersbot_idrequiredreasonfund_idrequired

swap_bot_in_fund

Swap one bot for another in a fund's roster. Closes the old bot's positions and opens new ones for the replacement. Incurs friction cost — use estimate_swap_cost first. Args: fund_id: The fund's ID. old_bot_id: The bot to remove. new_bot_id: The bot to add in its place. new_bot_domain: The new bot's domain (e.g. "eth_usdc"). weight: Allocation weight for the new bot (defaults to old bot's weight). reason: Optional reason for the swap. Returns the updated roster entry and friction estimate.

Parametersreasonweightfund_idrequirednew_bot_idrequiredold_bot_idrequirednew_bot_domainrequired

update_fund_weights

Update allocation weights for bots in a fund's roster. Args: fund_id: The fund's ID. weights: A dict mapping bot_id to new weight percentage (e.g. {"momentum_eth_v3": 15.0, "scalper_btc_v2": 20.0}). Returns success or error.

Parametersfund_idrequiredweightsrequired

update_fund_caps

Update a fund's risk caps and settings. Args: fund_id: The fund's ID. max_per_bot_pct: Max allocation per single bot (e.g. 40.0 = 40%). max_per_domain_pct: Max allocation per domain (e.g. 60.0 = 60%). regime_veto_enabled: Whether the regime detector can veto trades. Only provided fields are updated; others remain unchanged. Returns success or error.

Parametersfund_idrequiredmax_per_bot_pctmax_per_domain_pctregime_veto_enabled

activate_fund

Activate Manager Mode for a fund — starts the personal router. This deploys capital across the fund's roster bots according to their weights and the fund's risk caps. The main platform router is paused while Manager Mode is active. Args: fund_id: The fund's ID. Returns success or error.

Parametersfund_idrequired

deactivate_fund

Deactivate Manager Mode — returns to the main platform router. Closes all roster bot positions and returns capital to the wallet. Args: fund_id: The fund's ID. Returns success or error.

Parametersfund_idrequired

close_fund

Permanently close a hedge fund. Returns all capital to the wallet. This is irreversible. The fund's performance record is preserved for reporting and copy-trader settlement. Args: fund_id: The fund's ID. Returns success or error.

Parametersfund_idrequired

estimate_swap_cost

Estimate the friction cost (in bps) of swapping a bot in a fund. Use this before calling swap_bot_in_fund to understand the cost of winding down the old bot's positions and opening new ones. Args: fund_id: The fund's ID. old_bot_id: The bot being considered for removal. new_bot_id: The replacement bot. new_bot_domain: The replacement bot's domain. Returns the estimated friction in bps of fund AUM.

Parametersfund_idrequirednew_bot_idrequiredold_bot_idrequirednew_bot_domainrequired

list_open_source_bots

Browse open-source bots with normalized stats and capacity info. NOTE: personal funds can only contain the authenticated user's OWN bots — use list_my_bots for roster-eligible strategies. This tool is for researching the broader bot ecosystem. Args: domain: Filter by domain (e.g. "eth_usdc"). Returns a JSON array of bot entries with gamified card ratings.

Parametersdomain

list_my_bots

List the authenticated user's OWN bots eligible for a personal fund roster. Personal funds can NEVER contain another user's bots — this returns only the caller's own personal + incubating + live bots with live engine stats and gamified card ratings. Args: domain: Filter by domain (e.g. "eth_usdc"). Returns a JSON array of the user's bots.

Parametersdomain

get_fund_positions

Get open positions for a fund's roster bots. Args: fund_id: The fund's ID. Returns a JSON array of open positions with entry/exit prices and PnL.

Parametersfund_idrequired

get_fund_trades

Get closed trade history for a fund's roster bots. Args: fund_id: The fund's ID. limit: Max trades to return (default 50). offset: Pagination offset. Returns a JSON array of closed trades.

Parameterslimitoffsetfund_idrequired

get_fund_performance

Get performance snapshots for a fund's P&L graph. Args: fund_id: The fund's ID. limit: Max snapshots to return (default 100). Returns a JSON time-series of AUM/PnL snapshots.

Parameterslimitfund_idrequired

get_fund_live_pnl

Build a real-time PnL chart from closed positions for a fund's roster. Args: fund_id: The fund's ID. Returns a JSON series of cumulative PnL points.

Parametersfund_idrequired

get_fund_analytics

Get real-time analytics for a fund dashboard. Args: fund_id: The fund's ID. Returns fund analytics: allocation breakdown, per-bot performance, risk metrics, and benchmark comparison.

Parametersfund_idrequired

run_fund_historical_test

Simulate how a roster of bots would have performed historically. Queries each bot's closed positions over the available historical period and combines them (weighted) into a single PnL time-series with diagnosis. Rate limited: 1 request per 30 seconds per user. Args: roster: List of {"bot_id": str, "weight_pct": float} entries. initial_capital: Starting capital for the simulation (default 10000). Returns the simulated PnL time-series and diagnosis.

Parametersrosterrequiredinitial_capital

generate_fund_report_card

Generate a new report card for a fund (immutable once saved). Args: fund_id: The fund's ID. Returns the generated report card with grades and analysis.

Parametersfund_idrequired

get_fund_report_card

Get the latest report card for a fund. Args: fund_id: The fund's ID. Returns the latest immutable report card, or null if none exists.

Parametersfund_idrequired

get_manager_profile

Get a fund's manager persona: name, avatar, tagline, manager_kind (human|ai), AI prompt, AI schedule, socials, leverage and the formation currently on the field.

Parametersfund_idrequired

set_manager_profile

Set the manager persona shown on the fund's PUBLIC page. Args: fund_id: Your fund. persona_name: Display name, e.g. "Grandma Prudence". avatar: One emoji, e.g. "👵". tagline: One line under the name. manager_kind: "human" or "ai". With "ai", the platform's AI loop can run the fund on a schedule using ai_prompt. philosophy: The fund's investment philosophy (public). ai_prompt: System prompt for the platform AI manager (public). ai_enabled: Let the platform AI decide on a schedule. ai_cadence_hours: How often the AI decides (1-168). ai_use_search: Let the AI read live news via grounded search. socials: {"twitter": "@x", "website": "...", "discord", "telegram", "github", "youtube"}.

Parametersavatarfund_idrequiredsocialstaglineai_promptai_enabledphilosophymanager_kindpersona_nameai_use_searchai_cadence_hours

list_formation_templates

Ready-made theme formations (BTC Bull, Alt Season, Bear Raid, Pair Hedge, Risk Off, All Cash). Add one with create_formation(template_key=...).

Takes no parameters.

list_directional_bots

Directional building-block bots: always long / always short BTC, ETH, SOL. Pure exposure, no edge — use them to express a market view in a formation (e.g. news is bullish for BTC -> a formation heavy in dir_long_btc). Allowed in personal and standard funds.

Takes no parameters.

list_formations

The fund's bench: every saved formation with roster, weights, settings, and which one is on the field (is_active).

Parametersfund_idrequired

create_formation

Save a formation on the fund's bench. Args: fund_id: Your fund. name: Formation name, e.g. "Iran Oil Shock". roster: [{"bot_id": "dir_long_btc", "weight_pct": 60}, ...]. Weights under 100 total leave the rest in cash. Empty list = all cash. Shares may not add up to more than 100. emoji: Optional emoji. description: When you'd play it. leverage: 1-20x for this formation (applied to new positions). sizing: "weights" = size by your weights (default), "router" = the router's Kelly sizing (skips bots without history). template_key: Start from a template instead (see list_formation_templates). from_current: Snapshot the live roster + settings instead. rationale: REQUIRED — why this config exists. Published on the fund's public manager's log.

Parametersnameemojirostersizingfund_idrequiredleveragerationaledescriptionfrom_currenttemplate_key

update_formation

Edit a saved formation. Changes take effect next time it goes on the field. rationale is REQUIRED — why you changed it. Published on the manager's log.

Parametersnameemojirostersizingfund_idrequiredleveragerationaledescriptionformation_idrequired

delete_formation

Delete a formation from the bench (not the one on the field). rationale is REQUIRED — why you're deleting it. Published on the manager's log.

Parametersfund_idrequiredrationalerequiredformation_idrequired

switch_formation

Put a formation on the field — the manager's main move. Bots in both lineups keep their positions. Departing bots: mode "flip" closes their positions at market now; "drain" lets them exit on their own rules. Arriving bots go through the normal fund rules; any rejected are listed in the result. The rationale is published on the fund's public manager's log — write it for the fund's followers.

Parametersmodefund_idrequiredrationalerequiredformation_idrequired

post_fund_note

Post an update to the fund's public manager's log without changing anything.

Parameterstextrequiredfund_idrequiredheadline

get_fund_log

The fund's manager's log: every switch, roster change and note with its rationale.

Parameterslimitfund_idrequired

get_public_fund_page

Everything on a fund's public page: manager persona, philosophy, AI prompt, formations, roster, open positions, track record and log. Works for any public fund, not just yours.

Parametersfund_idrequired

list_managers

Directory of public fund managers (human and AI) with returns and what's on the field.

Parameterslimit

run_ai_manager

Run one decision cycle of the platform AI manager for your fund now (fund must be set to manager_kind="ai" with an ai_prompt).

Parametersfund_idrequired

tag_team_info

Get the authenticated user's Tag Team session info. Tag Team is a daily paper-trading competition: you get $10k paper capital split 70% human / 30% Co-Pilot bot. Make manual trades, deploy the Co-Pilot after 3 closed manual trades, and your combined PnL is scored on the daily leaderboard. Returns session state, open positions, bot status, and rank.

Takes no parameters.

tag_team_templates

List all available Co-Pilot templates (momentum, scalper, etc.). Each template defines the Co-Pilot bot's signal logic and tunable parameter ranges. Bot params carry over between days for the same template — trained settings persist.

Takes no parameters.

tag_team_leaderboard

Get the daily Tag Team leaderboard. Args: date: Optional date filter (YYYY-MM-DD). Defaults to today. Scoring needs 5+ human trades AND 5+ bot trades to qualify. score = sharpe x trade_factor x (1 + win_bonus).

Parametersdate

tag_team_weekly

Get weekly championship standings (best 5 daily scores per user).

Takes no parameters.

tag_team_history

Get the authenticated user's past Tag Team sessions with scores.

Takes no parameters.

tag_team_tier

Get the authenticated user's Tag Team tier and stats. Tiers: Rookie (0) -> Apprentice (10) -> Trader (50) -> Veteran (150) -> Expert (500) -> Master (1000+), based on total trades across all sessions (persists across days).

Takes no parameters.

tag_team_badges

Get the authenticated user's Tag Team badges. Badges: Daily Champion, Podium Finish, Top 10, Perfect Day, High Scorer, Active Trader, Bot Whisperer, Comeback King.

Takes no parameters.

get_vault_status

Get the authenticated user's Vault state. The Vault is a regime-aware allocator: in strong markets most capital holds BTC/ETH/SOL; when the market weakens it rotates into savings and funding arbitrage. Returns current regime, allocation weights, and sleeve holdings.

Takes no parameters.

get_vault_history

Get the Vault's regime switch history for the timeline. Returns a JSON array of past regime transitions with timestamps.

Takes no parameters.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts