Operate the Moltrade trading bot (config, backtest, test-mode runs, Nostr signal broadcast, exchange adapters, strategy integration) in OpenClaw.
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.

YOUR 24/7 AI TRADER ! EARNING MONEY WHILE YOU'RE SLEEPING.
Moltrade balances security, usability, and scalability. Key advantages include:
1) Run Your Bot ──→ 2) Generate & Encrypt ──→ 3) Relay ──→ 4) Copy & Execute ──→ 5) Verify & Earn
clawhub search moltrade
clawhub install moltrade
git clone https://github.com/hetu-project/moltrade.gitcd moltrade/trader && pip install -r requirements.txtpython main.py --init themselves in a separate terminal. Do not ask for or handle their wallet private keys directly or save them to disk via agent scripts.trading.exchange, trading.default_strategy, nostr.relays).pip install -r trader/requirements.txt.python trader/backtest.py --config trader/config.example.json --strategy <name> --symbol <symbol> --interval 1h --limit 500.config.json exists (run python main.py --init if not) and trading.exchange set (default hyperliquid).python trader/main.py --config config.json --test --strategy <name> --symbol <symbol> --interval 300.trading_bot.log; never switch to live without explicit user approval.--test to hit mainnet.python trader/main.py --config config.json --strategy <name> --symbol <symbol>.python trader/main.py --config trader/config.json --strategy momentum --symbol HYPE --copytrade followernostr block: nsec, relayer_nostr_pubkey, relays, sid.SignalBroadcaster is wired in main.py. In test mode, verify send_trade_signal / send_execution_report run without errors.Moltrade supports Binance Spot trading via binance-sdk-spot. Set trading.exchange to "binance" in your config and provide API credentials.
Related Skills (raw API calls, not tied to the bot runtime):
binance/spot— Binance Spot REST API skill: market data, order management, account info. Requires API key + secret; supports testnet and mainnet.binance/square-post— Binance Square social platform skill: post trading insights/signals as text content via the Square OpenAPI. Requires a Square OpenAPI key.
pip install binance-sdk-spot
Add a binance block alongside the existing trading block:
{
"trading": {
"exchange": "binance",
"default_symbol": "BTCUSDT",
"default_strategy": "momentum"
},
"binance": {
"api_key": "your_mainnet_api_key",
"api_secret": "your_mainnet_api_secret",
"testnet_api_key": "your_testnet_api_key",
"testnet_api_secret": "your_testnet_api_secret"
}
}
Note: Binance testnet uses keys generated separately at https://testnet.binance.vision (GitHub login required). Mainnet keys do not work on the testnet.
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.
python trader/main.py --config config.json --test --strategy momentum --symbol BTCUSDT
python trader/main.py --config config.json --strategy momentum --symbol BTCUSDT
python trader/backtest.py --config trader/config.example.json --strategy momentum --symbol BTCUSDT --interval 1h --limit 500
BinanceClient (trader/binance_api.py) implements the same interface as HyperliquidClient:
| Method | Description |
|---|---|
get_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 orders |
place_order(symbol, is_buy, size, price, order_type) | LIMIT or MARKET order with auto lot-size / tick-size rounding |
cancel_order(order_id, symbol) | Cancel by order ID |
cancel_all_orders(symbol) | Cancel all orders (optionally for one symbol) |
get_ticker_price(symbol) | Latest traded price |
Moltrade supports decentralized swaps on EVM chains using Uniswap V3 Router via web3. Set trading.exchange to "uniswap" in your config. Note that DEX swaps are atomic; there are no open limit orders or margin positions, and price charting requires an external oracle (currently returns empty or mock data locally).
pip install web3
Add a uniswap block alongside the existing trading block:
{
"trading": {
"exchange": "uniswap",
"default_symbol": "WETH",
"default_strategy": "momentum"
},
"uniswap": {
"rpc_url": "https://eth-mainnet.g.alchemy.com/v2/...",
"private_key": "your_wallet_private_key",
"chain_id": 1,
"router_address": "0xE592427A0AEce92De3Edee1F18E0157C05861564",
"slippage_tolerance": 0.005,
"default_token_in": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"default_token_out": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
}
Moltrade supports prediction markets on Polymarket via the official py-clob-client. Set trading.exchange to "polymarket" in your config.
pip install py-clob-client
Add a polymarket block alongside the existing trading block:
{
"trading": {
"exchange": "polymarket",
"default_symbol": "TOKEN_ID_HERE",
"default_strategy": "momentum"
},
"polymarket": {
"api_key": "your_polymarket_api_key",
"api_secret": "your_polymarket_api_secret",
"api_passphrase": "your_polymarket_api_passphrase",
"private_key": "your_wallet_private_key",
"chain_id": 137
}
}
trader/exchanges/ matching HyperliquidClient interface (get_candles, get_balance, get_positions, place_order, etc.).trader/exchanges/factory.py keyed by trading.exchange.trading.exchange and rerun backtest/test-mode.trader/strategies/INTEGRATION.md to subclass BaseStrategy and register in get_strategy.strategies.<name>; backtest, then test-mode before live.