{
  "schemaVersion": "1.0",
  "item": {
    "slug": "moltrade",
    "name": "moltrade",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ai-chen2050/moltrade",
    "canonicalUrl": "https://clawhub.ai/ai-chen2050/moltrade",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/moltrade",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=moltrade",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "binance/square-post/README.cn.md",
      "binance/square-post/README.md",
      "binance/square-post/SKILL.md",
      "binance/spot/LICENSE.md",
      "binance/spot/references/authentication.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/moltrade"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/moltrade",
    "agentPageUrl": "https://openagent3.xyz/skills/moltrade/agent",
    "manifestUrl": "https://openagent3.xyz/skills/moltrade/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/moltrade/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Moltrade Bot Skill",
        "body": "Moltrade is a decentralized, automated trading assistant that lets you run quant strategies, share encrypted signals, and allow others to copy your trades—all securely via the Nostr network. Earn reputation and credits based on your trading performance.\n\nYOUR 24/7 AI TRADER ! EARNING MONEY WHILE YOU'RE SLEEPING."
      },
      {
        "title": "Advantages",
        "body": "Moltrade balances security, usability, and scalability. Key advantages include:\n\nClient-side Key self-hosting,not cloud Custody,: All sensitive keys and credentials remain on the user's machine; the cloud relay never holds funds or private keys, minimizing custodial risk.No access to private keys or funds.\nEncrypted, Targeted Communication: Signals are encrypted before publishing and only decryptable by intended subscribers, preserving strategy privacy and subscriber security.\nLightweight Cloud Re-encryption & Broadcast: The cloud acts as an efficient relay/re-broadcaster without storing private keys; re-encryption or forwarding techniques improve delivery reliability and reach.\nOne-Click Copy Trading (User Friendly): Provides an out-of-the-box copy-trading experience for non-expert users—set up in a few steps and execute signals locally.\nOpenClaw Strategy Advisor: Integrates OpenClaw as an advisory tool for automated backtests and improvement suggestions; users decide whether to adopt recommended changes.\nCloud Can Be Decentralized Relayer Network: The lightweight relay architecture allows future migration to decentralized relay networks, reducing single points of failure and improving censorship resistance.\nUnified Incentive (Credit) System: A transparent, verifiable Credit mechanism rewards all participants (signal providers, followers, relay nodes), aligning incentives across the ecosystem."
      },
      {
        "title": "How It Works (Simplified Flow)",
        "body": "1) Run Your Bot  ──→  2) Generate & Encrypt  ──→  3) Relay  ──→  4) Copy & Execute  ──→  5) Verify & Earn"
      },
      {
        "title": "Install & Init",
        "body": "If you are inside OpenClaw, you can install directly via ClawHub:\n\nclawhub search moltrade\nclawhub install moltrade\n\nOR & Clone the repo and install Python deps locally (code is required for strategies, nostr, and CLI):\n\ngit clone https://github.com/hetu-project/moltrade.git\ncd moltrade/trader && pip install -r requirements.txt\n\n\nInitialize a fresh config with the built-in wizard (no trading):\n\nPrefer the human user to run python main.py --init (prompts for relayer URL, wallet, nostr, copy-trade follower defaults, and bot registration), so you can approve prompts, handle the wallet private key entry yourself, and capture the relayer’s returned relayer_nostr_pubkey when registering the bot.\nIf you delegate to an agent, do so only if you trust it with the wallet key and ensure it completes the entire wizard—including the final bot registration step—so the relayer_nostr_pubkey gets written back to the config.\n\n\nFor CI/agents, keep using the repo checkout; there is no separate pip package/CLI yet."
      },
      {
        "title": "Update Config Safely",
        "body": "Backup or show planned diff before edits.\nChange only requested fields (e.g., trading.exchange, trading.default_strategy, nostr.relays).\nValidate JSON; keep types intact. Remind user to provide real secrets themselves."
      },
      {
        "title": "Run Backtest (local)",
        "body": "Install deps: pip install -r trader/requirements.txt.\nCommand: python trader/backtest.py --config trader/config.example.json --strategy <name> --symbol <symbol> --interval 1h --limit 500.\nReport PnL/win rate/trade count/drawdown if available. Use redacted config (no real keys)."
      },
      {
        "title": "Start Bot (test mode)",
        "body": "Ensure config.json exists (run python main.py --init if not) and trading.exchange set (default hyperliquid).\nCommand: python trader/main.py --config config.json --test --strategy <name> --symbol <symbol> --interval 300.\nWatch trading_bot.log; never switch to live without explicit user approval."
      },
      {
        "title": "Run Bot (live)",
        "body": "Only after validation on test mode; remove --test to hit mainnet.\nCommand: python trader/main.py --config config.json --strategy <name> --symbol <symbol>.\nDouble-check keys, risk limits, and symbol before starting; live mode will place real orders."
      },
      {
        "title": "Copy-trade Usage (live)",
        "body": "Follower (mirrors leader, no strategy trading): python trader/main.py --config trader/config.json --strategy momentum --symbol HYPE --copytrade follower"
      },
      {
        "title": "Broadcast Signals to Nostr",
        "body": "Check nostr block: nsec, relayer_nostr_pubkey, relays, sid.\nSignalBroadcaster is wired in main.py. In test mode, verify send_trade_signal / send_execution_report run without errors."
      },
      {
        "title": "Binance Spot Support",
        "body": "Moltrade supports Binance Spot trading via binance-sdk-spot. Set trading.exchange to \"binance\" in your config and provide API credentials.\n\nRelated Skills (raw API calls, not tied to the bot runtime):\n\nbinance/spot — Binance Spot REST API skill: market data, order management, account info. Requires API key + secret; supports testnet and mainnet.\nbinance/square-post — Binance Square social platform skill: post trading insights/signals as text content via the Square OpenAPI. Requires a Square OpenAPI key."
      },
      {
        "title": "Install Binance SDK",
        "body": "pip install binance-sdk-spot"
      },
      {
        "title": "Config Fields",
        "body": "Add a binance block alongside the existing trading block:\n\n{\n  \"trading\": {\n    \"exchange\": \"binance\",\n    \"default_symbol\": \"BTCUSDT\",\n    \"default_strategy\": \"momentum\"\n  },\n  \"binance\": {\n    \"api_key\": \"your_mainnet_api_key\",\n    \"api_secret\": \"your_mainnet_api_secret\",\n    \"testnet_api_key\": \"your_testnet_api_key\",\n    \"testnet_api_secret\": \"your_testnet_api_secret\"\n  }\n}\n\nNote: Binance testnet uses keys generated separately at https://testnet.binance.vision (GitHub login required). Mainnet keys do not work on the testnet."
      },
      {
        "title": "Testnet (–-test)",
        "body": "When --test is passed the bot routes all requests to testnet.binance.vision and uses binance.testnet_api_key / testnet_api_secret. If testnet keys are absent it falls back to mainnet keys, which will cause auth errors against the testnet endpoint.\n\npython trader/main.py --config config.json --test --strategy momentum --symbol BTCUSDT"
      },
      {
        "title": "Live Trading",
        "body": "python trader/main.py --config config.json --strategy momentum --symbol BTCUSDT"
      },
      {
        "title": "Backtest",
        "body": "python trader/backtest.py --config trader/config.example.json --strategy momentum --symbol BTCUSDT --interval 1h --limit 500"
      },
      {
        "title": "Supported Interface",
        "body": "BinanceClient (trader/binance_api.py) implements the same interface as HyperliquidClient:\n\nMethodDescriptionget_candles(symbol, interval, limit)K-line data as [ts, open, high, low, close, vol]get_balance(asset)Free balance for an asset (default \"USDT\")get_positions()Non-zero asset balances (spot has no margin positions)get_open_orders()All current open ordersplace_order(symbol, is_buy, size, price, order_type)LIMIT or MARKET order with auto lot-size / tick-size roundingcancel_order(order_id, symbol)Cancel by order IDcancel_all_orders(symbol)Cancel all orders (optionally for one symbol)get_ticker_price(symbol)Latest traded price"
      },
      {
        "title": "Add Exchange Adapter",
        "body": "Implement adapter in trader/exchanges/ matching HyperliquidClient interface (get_candles, get_balance, get_positions, place_order, etc.).\nRegister in trader/exchanges/factory.py keyed by trading.exchange.\nUpdate config trading.exchange and rerun backtest/test-mode."
      },
      {
        "title": "Integrate New Strategy",
        "body": "Follow trader/strategies/INTEGRATION.md to subclass BaseStrategy and register in get_strategy.\nAdd config under strategies.<name>; backtest, then test-mode before live."
      },
      {
        "title": "Safety / Secrets",
        "body": "Never print or commit private keys, mnemonics, nsec, or shared keys.\nDefault to test mode; require explicit consent for live trading."
      }
    ],
    "body": "Moltrade Bot Skill\n\nMoltrade is a decentralized, automated trading assistant that lets you run quant strategies, share encrypted signals, and allow others to copy your trades—all securely via the Nostr network. Earn reputation and credits based on your trading performance.\n\nYOUR 24/7 AI TRADER ! EARNING MONEY WHILE YOU'RE SLEEPING.\n\nAdvantages\n\nMoltrade balances security, usability, and scalability. Key advantages include:\n\nClient-side Key self-hosting,not cloud Custody,: All sensitive keys and credentials remain on the user's machine; the cloud relay never holds funds or private keys, minimizing custodial risk.No access to private keys or funds.\nEncrypted, Targeted Communication: Signals are encrypted before publishing and only decryptable by intended subscribers, preserving strategy privacy and subscriber security.\nLightweight Cloud Re-encryption & Broadcast: The cloud acts as an efficient relay/re-broadcaster without storing private keys; re-encryption or forwarding techniques improve delivery reliability and reach.\nOne-Click Copy Trading (User Friendly): Provides an out-of-the-box copy-trading experience for non-expert users—set up in a few steps and execute signals locally.\nOpenClaw Strategy Advisor: Integrates OpenClaw as an advisory tool for automated backtests and improvement suggestions; users decide whether to adopt recommended changes.\nCloud Can Be Decentralized Relayer Network: The lightweight relay architecture allows future migration to decentralized relay networks, reducing single points of failure and improving censorship resistance.\nUnified Incentive (Credit) System: A transparent, verifiable Credit mechanism rewards all participants (signal providers, followers, relay nodes), aligning incentives across the ecosystem.\nHow It Works (Simplified Flow)\n1) Run Your Bot  ──→  2) Generate & Encrypt  ──→  3) Relay  ──→  4) Copy & Execute  ──→  5) Verify & Earn\n\nInstall & Init\nIf you are inside OpenClaw, you can install directly via ClawHub:\nclawhub search moltrade\nclawhub install moltrade\n\nOR & Clone the repo and install Python deps locally (code is required for strategies, nostr, and CLI):\ngit clone https://github.com/hetu-project/moltrade.git\ncd moltrade/trader && pip install -r requirements.txt\nInitialize a fresh config with the built-in wizard (no trading):\nPrefer the human user to run python main.py --init (prompts for relayer URL, wallet, nostr, copy-trade follower defaults, and bot registration), so you can approve prompts, handle the wallet private key entry yourself, and capture the relayer’s returned relayer_nostr_pubkey when registering the bot.\nIf you delegate to an agent, do so only if you trust it with the wallet key and ensure it completes the entire wizard—including the final bot registration step—so the relayer_nostr_pubkey gets written back to the config.\nFor CI/agents, keep using the repo checkout; there is no separate pip package/CLI yet.\nUpdate Config Safely\nBackup or show planned diff before edits.\nChange only requested fields (e.g., trading.exchange, trading.default_strategy, nostr.relays).\nValidate JSON; keep types intact. Remind user to provide real secrets themselves.\nRun Backtest (local)\nInstall deps: pip install -r trader/requirements.txt.\nCommand: python trader/backtest.py --config trader/config.example.json --strategy <name> --symbol <symbol> --interval 1h --limit 500.\nReport PnL/win rate/trade count/drawdown if available. Use redacted config (no real keys).\nStart Bot (test mode)\nEnsure config.json exists (run python main.py --init if not) and trading.exchange set (default hyperliquid).\nCommand: python trader/main.py --config config.json --test --strategy <name> --symbol <symbol> --interval 300.\nWatch trading_bot.log; never switch to live without explicit user approval.\nRun Bot (live)\nOnly after validation on test mode; remove --test to hit mainnet.\nCommand: python trader/main.py --config config.json --strategy <name> --symbol <symbol>.\nDouble-check keys, risk limits, and symbol before starting; live mode will place real orders.\nCopy-trade Usage (live)\nFollower (mirrors leader, no strategy trading): python trader/main.py --config trader/config.json --strategy momentum --symbol HYPE --copytrade follower\nBroadcast Signals to Nostr\nCheck nostr block: nsec, relayer_nostr_pubkey, relays, sid.\nSignalBroadcaster is wired in main.py. In test mode, verify send_trade_signal / send_execution_report run without errors.\nBinance Spot Support\n\nMoltrade supports Binance Spot trading via binance-sdk-spot. Set trading.exchange to \"binance\" in your config and provide API credentials.\n\nRelated Skills (raw API calls, not tied to the bot runtime):\n\nbinance/spot — Binance Spot REST API skill: market data, order management, account info. Requires API key + secret; supports testnet and mainnet.\nbinance/square-post — Binance Square social platform skill: post trading insights/signals as text content via the Square OpenAPI. Requires a Square OpenAPI key.\nInstall Binance SDK\npip install binance-sdk-spot\n\nConfig Fields\n\nAdd a binance block alongside the existing trading block:\n\n{\n  \"trading\": {\n    \"exchange\": \"binance\",\n    \"default_symbol\": \"BTCUSDT\",\n    \"default_strategy\": \"momentum\"\n  },\n  \"binance\": {\n    \"api_key\": \"your_mainnet_api_key\",\n    \"api_secret\": \"your_mainnet_api_secret\",\n    \"testnet_api_key\": \"your_testnet_api_key\",\n    \"testnet_api_secret\": \"your_testnet_api_secret\"\n  }\n}\n\n\nNote: Binance testnet uses keys generated separately at https://testnet.binance.vision (GitHub login required). Mainnet keys do not work on the testnet.\n\nTestnet (–-test)\n\nWhen --test is passed the bot routes all requests to testnet.binance.vision and uses binance.testnet_api_key / testnet_api_secret. If testnet keys are absent it falls back to mainnet keys, which will cause auth errors against the testnet endpoint.\n\npython trader/main.py --config config.json --test --strategy momentum --symbol BTCUSDT\n\nLive Trading\npython trader/main.py --config config.json --strategy momentum --symbol BTCUSDT\n\nBacktest\npython trader/backtest.py --config trader/config.example.json --strategy momentum --symbol BTCUSDT --interval 1h --limit 500\n\nSupported Interface\n\nBinanceClient (trader/binance_api.py) implements the same interface as HyperliquidClient:\n\nMethod\tDescription\nget_candles(symbol, interval, limit)\tK-line data as [ts, open, high, low, close, vol]\nget_balance(asset)\tFree balance for an asset (default \"USDT\")\nget_positions()\tNon-zero asset balances (spot has no margin positions)\nget_open_orders()\tAll current open orders\nplace_order(symbol, is_buy, size, price, order_type)\tLIMIT or MARKET order with auto lot-size / tick-size rounding\ncancel_order(order_id, symbol)\tCancel by order ID\ncancel_all_orders(symbol)\tCancel all orders (optionally for one symbol)\nget_ticker_price(symbol)\tLatest traded price\nAdd Exchange Adapter\nImplement adapter in trader/exchanges/ matching HyperliquidClient interface (get_candles, get_balance, get_positions, place_order, etc.).\nRegister in trader/exchanges/factory.py keyed by trading.exchange.\nUpdate config trading.exchange and rerun backtest/test-mode.\nIntegrate New Strategy\nFollow trader/strategies/INTEGRATION.md to subclass BaseStrategy and register in get_strategy.\nAdd config under strategies.<name>; backtest, then test-mode before live.\nSafety / Secrets\nNever print or commit private keys, mnemonics, nsec, or shared keys.\nDefault to test mode; require explicit consent for live trading."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ai-chen2050/moltrade",
    "publisherUrl": "https://clawhub.ai/ai-chen2050/moltrade",
    "owner": "ai-chen2050",
    "version": "1.0.8",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/moltrade",
    "downloadUrl": "https://openagent3.xyz/downloads/moltrade",
    "agentUrl": "https://openagent3.xyz/skills/moltrade/agent",
    "manifestUrl": "https://openagent3.xyz/skills/moltrade/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/moltrade/agent.md"
  }
}