← All skills
Tencent SkillHub Β· Developer Tools

OpenMM

Open-source market making for AI agents. Multi-exchange trading, grid strategies, and real-time market data. CLI + MCP + Skills.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Open-source market making for AI agents. Multi-exchange trading, grid strategies, and real-time market data. CLI + MCP + Skills.

⬇ 0 downloads β˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
README.md, SKILL.md, marketplace.json, package.json, packages/plugins/openclaw-openmm/README.md, packages/plugins/openclaw-openmm/openclaw.plugin.json

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
0.1.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 32 sections Open source page

OpenMM β€” Open-Source Market Making for AI Agents

OpenMM is an open-source market making framework β€” multi-exchange support, grid strategies, real-time market data, and automated trading. One CLI for everything. GitHub: https://github.com/3rd-Eye-Labs/OpenMM MCP Server: https://github.com/QBT-Labs/OpenMM-MCP Docs: https://deepwiki.com/3rd-Eye-Labs/OpenMM

What is OpenMM?

Multi-Exchange β€” MEXC, Gate.io, Kraken, Bitget Grid Trading β€” Automated grid strategies with dynamic spacing, sizing, and volatility adjustment Market Data β€” Tickers, orderbooks, recent trades across all exchanges Order Management β€” Limit/market orders, cancel, list open orders Cardano DEX β€” Pool discovery, aggregated prices via Iris Protocol CLI + MCP β€” Use via command line or as MCP server for AI agents Open Source β€” MIT licensed, fully customizable

Option A: CLI

# Install npm install -g @3rd-eye-labs/openmm # Set exchange credentials as environment variables export MEXC_API_KEY="your_api_key" export MEXC_SECRET="your_secret_key" # Check balances openmm balance --exchange mexc # Get ticker price openmm ticker --exchange mexc --symbol BTC/USDT # Start grid trading (dry run first) openmm trade --strategy grid --exchange mexc --symbol INDY/USDT --dry-run

Option B: MCP Server

Run npx @qbtlabs/openmm-mcp to start a local MCP server over stdio. This exposes all 13 tools to any MCP-compatible client. { "mcpServers": { "openmm": { "command": "npx", "args": ["@qbtlabs/openmm-mcp"], "env": { "MEXC_API_KEY": "your_key", "MEXC_SECRET": "your_secret" } } } } Only include env vars for exchanges you want to use.

Option C: As Library

import { OpenMM } from '@3rd-eye-labs/openmm'; const mm = new OpenMM({ exchange: 'mexc', apiKey: process.env.MEXC_API_KEY, secret: process.env.MEXC_SECRET }); const orderbook = await mm.getOrderbook('BTC/USDT');

Environment Setup

Exchange credentials are configured via environment variables β€” keys are stored locally and never sent to the server. Add them to your .env file or export them in your shell: # MEXC (API key + secret) MEXC_API_KEY=your_mexc_api_key MEXC_SECRET=your_mexc_secret_key # Gate.io (API key + secret) GATEIO_API_KEY=your_gateio_api_key GATEIO_SECRET=your_gateio_secret_key # Bitget (API key + secret + passphrase set when creating the API key) BITGET_API_KEY=your_bitget_api_key BITGET_SECRET=your_bitget_secret_key BITGET_PASSPHRASE=your_bitget_passphrase # Kraken (API key + secret) KRAKEN_API_KEY=your_kraken_api_key KRAKEN_SECRET=your_kraken_secret_key

Symbol Format

Use standard format: BTC/USDT, ETH/USDT, INDY/USDT, ADA/EUR, BTC/USD The CLI automatically converts to exchange-specific format Kraken supports both USD/EUR fiat pairs and USDT pairs

Balance & Portfolio

Check account balances on any connected exchange. Query each exchange separately β€” there is no cross-exchange aggregate command. # Get all balances openmm balance --exchange mexc openmm balance --exchange gateio openmm balance --exchange bitget openmm balance --exchange kraken # Get specific asset balance openmm balance --exchange mexc --asset BTC openmm balance --exchange mexc --asset USDT openmm balance --exchange kraken --asset ADA openmm balance --exchange kraken --asset EUR # JSON output (useful for scripting) openmm balance --exchange mexc --json openmm balance --exchange bitget --json Options: -e, --exchange <exchange> β€” Exchange to query (required) -a, --asset <asset> β€” Specific asset to query (optional) --json β€” Output in JSON format

Market Data

Real-time prices, orderbooks, and trade history. Use --symbol with the standard BASE/QUOTE format. Kraken uses fiat pairs like ADA/EUR and BTC/USD alongside crypto pairs. Ticker β€” current price, bid/ask, spread, volume: # MEXC openmm ticker --exchange mexc --symbol BTC/USDT openmm ticker --exchange mexc --symbol ETH/USDT --json # Bitget (Cardano tokens) openmm ticker --exchange bitget --symbol SNEK/USDT openmm ticker --exchange bitget --symbol BTC/USDT --json # Kraken (fiat pairs) openmm ticker --exchange kraken --symbol ADA/EUR openmm ticker --exchange kraken --symbol BTC/USD --json Order Book β€” bid/ask depth: # MEXC - BTC/USDT with default 10 levels openmm orderbook --exchange mexc --symbol BTC/USDT # Bitget - top 5 levels for SNEK openmm orderbook --exchange bitget --symbol SNEK/USDT --limit 5 # Kraken - ADA/EUR with 10 levels openmm orderbook --exchange kraken --symbol ADA/EUR --limit 10 # Gate.io - JSON output openmm orderbook --exchange gateio --symbol BTC/USDT --json Recent Trades β€” latest executions with buy/sell breakdown: # MEXC - default 20 trades openmm trades --exchange mexc --symbol BTC/USDT # Bitget - 50 trades for SNEK openmm trades --exchange bitget --symbol SNEK/USDT --limit 50 # Kraken - ADA/EUR trades openmm trades --exchange kraken --symbol ADA/EUR # Gate.io - JSON output openmm trades --exchange gateio --symbol ETH/USDT --json Options (shared across ticker, orderbook, trades): -e, --exchange <exchange> β€” Exchange to query (required) -s, --symbol <symbol> β€” Trading pair symbol (required) -l, --limit <limit> β€” Number of levels/trades (orderbook default: 10, trades default: 20) --json β€” Output in JSON format

Order Management

Place and manage orders on any supported exchange. Orders use your exchange API credentials configured via environment variables. # List all open orders openmm orders list --exchange mexc openmm orders list --exchange gateio openmm orders list --exchange bitget # List open orders for a specific pair openmm orders list --exchange bitget --symbol SNEK/USDT openmm orders list --exchange kraken --symbol ADA/EUR --limit 5 # Get specific order by ID openmm orders get --exchange mexc --id 123456 --symbol BTC/USDT openmm orders get --exchange bitget --id 1385288398060044291 --symbol SNEK/USDT openmm orders get --exchange kraken --id OQN3UE-LRH6U-MPLZ5I --symbol ADA/EUR # Create limit buy order openmm orders create --exchange mexc --symbol BTC/USDT --side buy --type limit --amount 0.001 --price 50000 openmm orders create --exchange bitget --symbol SNEK/USDT --side buy --type limit --amount 10000 --price 0.00001 openmm orders create --exchange kraken --symbol ADA/EUR --side buy --type limit --amount 50 --price 0.45 # Create market sell order openmm orders create --exchange mexc --symbol BTC/USDT --side sell --type market --amount 0.001 openmm orders create --exchange bitget --symbol SNEK/USDT --side sell --type market --amount 5000 # Cancel order by ID (symbol is required) openmm orders cancel --exchange mexc --id C02__626091255599874048060 --symbol INDY/USDT openmm orders cancel --exchange bitget --id 1385288398060044291 --symbol SNEK/USDT openmm orders cancel --exchange kraken --id OQN3UE-LRH6U-MPLZ5I --symbol ADA/EUR Create Options: -e, --exchange <exchange> β€” Exchange to use (required) -s, --symbol <symbol> β€” Trading pair (required) --side <side> β€” Order side: buy/sell (required) --type <type> β€” Order type: market/limit (required) --amount <amount> β€” Order amount in base currency (required) --price <price> β€” Order price (required for limit orders, ignored for market) --json β€” Output in JSON format Exchange notes: Bitget β€” 6 decimal price precision for SNEK/NIGHT pairs, 2 decimal quantity precision. Requires passphrase. Kraken β€” Minimum order value 5 EUR/USD. Supports major fiat pairs (EUR, USD, GBP). MEXC/Gate.io β€” Minimum order value 1 USDT per order.

Grid Trading

The grid strategy places buy and sell orders at intervals around the current center price. As price oscillates, orders fill and the grid automatically recreates β€” capturing the spread on each cycle. Total orders = levels x 2. # Start grid with defaults (5 levels, 2% spacing, $50 per order) openmm trade --strategy grid --exchange mexc --symbol INDY/USDT # Dry run β€” preview the grid without placing real orders openmm trade --strategy grid --exchange bitget --symbol SNEK/USDT --dry-run # Custom grid configuration openmm trade --strategy grid --exchange mexc --symbol INDY/USDT \ --levels 5 \ --spacing 0.02 \ --size 50 \ --max-position 0.6 \ --safety-reserve 0.3 # Geometric spacing β€” tighter near center, wider at edges openmm trade --strategy grid --exchange kraken --symbol BTC/USD \ --levels 10 \ --spacing 0.005 \ --spacing-model geometric \ --spacing-factor 1.5 \ --size-model pyramidal \ --size 50 # Volatility-based spread adjustment β€” grid widens in volatile markets openmm trade --strategy grid --exchange mexc --symbol INDY/USDT \ --levels 10 \ --spacing 0.005 \ --spacing-model geometric \ --spacing-factor 1.3 \ --size-model pyramidal \ --size 5 \ --volatility # Volatility with custom thresholds (tighter sensitivity) openmm trade --strategy grid --exchange kraken --symbol SNEK/EUR \ --levels 5 \ --spacing 0.01 \ --size 5 \ --volatility \ --volatility-low 0.01 \ --volatility-high 0.03 # Load configuration from a JSON profile openmm trade --strategy grid --exchange gateio --symbol SNEK/USDT \ --grid-profile ./profiles/balanced-geometric.json Strategy output on startup: Starting Trading Strategy Strategy: GRID Exchange: KRAKEN Symbol: BTC/USD Grid Levels: 10 per side (20 total) Grid Spacing: 0.3% Spacing Model: geometric Spacing Factor: 1.3 Size Model: pyramidal Order Size: $50 Max Position: 80% Safety Reserve: 20% Strategy initialized successfully Grid Configuration: Levels: 10 per side (20 total orders) Spacing Model: geometric Base Spacing: 0.30% Spacing Factor: 1.3 Size Model: pyramidal Base Size: $50 Strategy is now running! Press Ctrl+C to stop the strategy gracefully Graceful shutdown: Press Ctrl+C. The system cancels all open orders, disconnects from the exchange, and displays final status. Required Parameters: --strategy grid β€” Specifies grid trading strategy --exchange <exchange> β€” Exchange to trade on (mexc, bitget, gateio, kraken) --symbol <symbol> β€” Trading pair (e.g., INDY/USDT, SNEK/USDT, ADA/EUR) Grid Parameters: --levels <number> β€” Grid levels each side (default: 5, max: 10, total orders = levels x 2) --spacing <decimal> β€” Base price spacing between levels (default: 0.02 = 2%) --size <number> β€” Base order size in quote currency (default: 50) --confidence <decimal> β€” Minimum price confidence to trade (default: 0.6) --deviation <decimal> β€” Price deviation to trigger grid recreation (default: 0.015) --debounce <ms> β€” Delay between grid adjustments (default: 2000ms) --max-position <decimal> β€” Maximum position size as % of balance (default: 0.8) --safety-reserve <decimal> β€” Safety reserve as % of balance (default: 0.2) --dry-run β€” Simulate trading without placing real orders Dynamic Grid Parameters: --spacing-model <model> β€” linear, geometric, or custom (default: linear) --spacing-factor <number> β€” Geometric spacing multiplier per level (default: 1.3) --size-model <model> β€” flat, pyramidal, or custom (default: flat) --grid-profile <path> β€” Load complete grid configuration from a JSON profile Volatility Parameters: --volatility β€” Enable volatility-based dynamic spread adjustment --volatility-low <decimal> β€” Low volatility threshold (default: 0.02). Below this, spacing stays normal. --volatility-high <decimal> β€” High volatility threshold (default: 0.05). Above this, spacing is widened maximally. Exchange notes for grid: MEXC/Gate.io β€” Minimum 1 USDT per order. Ensure --size / --levels >= 1. Bitget β€” Minimum 1 USDT per order. Price precision: 6 decimals for SNEK/NIGHT. Requires passphrase. Kraken β€” Minimum 5 EUR/USD per order. Ensure --size / --levels >= 5.

Cardano DEX Integration

OpenMM integrates with Cardano DEX liquidity pools via the Iris Protocol. Supported tokens: INDY (Indigo Protocol), SNEK (Snek Token), NIGHT (Midnight), MIN (Minswap). Prices are calculated by fetching TOKEN/ADA from on-chain DEX pools (weighted by TVL), then multiplying by ADA/USDT from CEX price feeds (MEXC, Coingecko) to produce a TOKEN/USDT price. Discover liquidity pools: # Find all pools for a token openmm pool-discovery discover INDY # Top 5 pools for SNEK openmm pool-discovery discover SNEK --limit 5 # Filter by minimum TVL openmm pool-discovery discover INDY --min-liquidity 50000 # Show all pools (ignore limit) openmm pool-discovery discover NIGHT --show-all Get live prices from pools: openmm pool-discovery prices NIGHT openmm pool-discovery prices SNEK openmm pool-discovery prices INDY List supported tokens: openmm pool-discovery supported Compare DEX vs CEX prices: openmm price-comparison --symbol SNEK openmm price-comparison --symbol INDY

Always dry-run first

Before executing any grid strategy, preview the grid to see what orders will be placed: openmm trade --strategy grid --exchange mexc --symbol INDY/USDT --dry-run

Confirm before execution

For AI agents using MCP: Always show the trade plan β€” display what will be executed Get explicit confirmation β€” never auto-execute without user approval Use dryRun: true β€” the MCP start_grid_strategy tool defaults to dry-run mode

Risk management

Grid strategy has built-in risk controls: --max-position 0.6 β€” Use max 60% of balance for trading (default: 80%) --safety-reserve 0.3 β€” Keep 30% as safety reserve (default: 20%) --confidence 0.8 β€” Require 80% price confidence before trading (default: 60%) Total allocation is automatically capped regardless of the size model used. The grid recreates when orders are filled and adjusts to significant price movements (configurable via --deviation).

Balance & Market Data

CommandDescriptionbalanceGet balances for an exchangetickerGet current price, bid/ask, spread, volumeorderbookGet orderbook depth (bids/asks)tradesGet recent tradesprice-comparisonCompare DEX vs CEX prices for Cardano tokens

Orders

CommandDescriptionorders listList open orders (all or by symbol)orders getGet specific order by IDorders createPlace a limit or market orderorders cancelCancel an order by ID

Trading

CommandDescriptiontrade --strategy gridStart grid trading strategy

Cardano

CommandDescriptionpool-discovery discoverDiscover DEX liquidity pools for a tokenpool-discovery supportedList supported Cardano tokens (INDY, SNEK, NIGHT, MIN)pool-discovery pricesGet live aggregated pool prices

Supported Exchanges

ExchangeTradingGridMarket DataMin OrderNotesMEXCβœ…βœ…βœ…1 USDTAPI key + secretGate.ioβœ…βœ…βœ…1 USDTAPI key + secretBitgetβœ…βœ…βœ…1 USDTAPI key + secret + passphraseKrakenβœ…βœ…βœ…5 EUR/USDAPI key + secret, fiat pairs supportedBinanceπŸ”œπŸ”œπŸ”œβ€”Coming soonCoinbaseπŸ”œπŸ”œπŸ”œβ€”Coming soonOKXπŸ”œπŸ”œπŸ”œβ€”Coming soon

Tips for Agents

Check balances first β€” always run openmm balance --exchange <ex> before trading Use --dry-run β€” preview grid strategies before placing real orders Use BASE/QUOTE format β€” e.g. BTC/USDT, ADA/EUR, SNEK/USDT Query each exchange separately β€” there is no cross-exchange aggregate command Handle rate limits β€” exchanges have API limits, space out requests Store credentials securely β€” use environment variables, never commit .env files Respect minimum order values β€” MEXC/Gate.io/Bitget: 1 USDT, Kraken: 5 EUR/USD Use --max-position and --safety-reserve β€” built-in risk controls for grid strategies Bitget requires passphrase β€” set via BITGET_PASSPHRASE env var (created when generating the API key) Use --json for parsing β€” all commands support --json for structured output

MCP Tools (via OpenMM-MCP)

When using OpenMM as an MCP server, these 13 tools are available:

Market Data

ToolDescriptionParametersget_tickerReal-time price, bid/ask, spread, volumeexchange, symbolget_orderbookOrder book depth (bids/asks)exchange, symbol, limit?get_tradesRecent trades with buy/sell summaryexchange, symbol, limit?

Account

ToolDescriptionParametersget_balanceAccount balances (all or filtered by asset)exchange, asset?list_ordersOpen orders (all or by symbol)exchange, symbol?

Trading

ToolDescriptionParameterscreate_orderPlace limit or market orderexchange, symbol, type, side, amount, price?cancel_orderCancel order by IDexchange, symbol, orderIdcancel_all_ordersCancel all open orders for a pairexchange, symbol

Strategy

ToolDescriptionParametersstart_grid_strategyCalculate and place grid orders (defaults to dry-run)exchange, symbol, levels?, spacing?, orderSize?, spacingModel?, sizeModel?, dryRun?stop_strategyCancel all orders for a pair, stopping the gridexchange, symbolget_strategy_statusGrid status with open orders, price, and spreadexchange, symbol

Cardano

ToolDescriptionParametersget_cardano_priceAggregated token price from DEX pools (TOKEN/USDT via ADA bridge)symboldiscover_poolsDiscover Cardano DEX liquidity pools for a tokensymbol

MCP Resources

URIDescriptionexchanges://listSupported exchanges with credential requirementsstrategies://gridGrid trading strategy documentationstrategies://grid/profilesExample grid profiles (conservative/moderate/aggressive)

MCP Prompts

PromptDescriptionmarket_analysisAnalyze ticker + orderbook + trades for a trading pairportfolio_overviewSummarize balances and open orders across an exchangegrid_setup_advisorRecommend grid config based on market analysis and balance

Sub-Skills

For specific workflows, load these sub-skills: SkillDescriptionopenmm-exchange-setupConfigure exchange API credentials step-by-stepopenmm-grid-tradingGrid strategy creation and managementopenmm-portfolioBalance tracking and order overview across exchanges

Links

GitHub: https://github.com/3rd-Eye-Labs/OpenMM MCP Server: https://github.com/QBT-Labs/OpenMM-MCP npm: https://www.npmjs.com/package/@3rd-eye-labs/openmm Documentation: https://deepwiki.com/3rd-Eye-Labs/OpenMM Discord: https://discord.gg/qbtlabs

About

OpenMM is built by 3rd Eye Labs and QBT Labs. License: MIT

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
3 Docs3 Config
  • SKILL.md Primary doc
  • packages/plugins/openclaw-openmm/README.md Docs
  • README.md Docs
  • marketplace.json Config
  • package.json Config
  • packages/plugins/openclaw-openmm/openclaw.plugin.json Config