← All skills
Tencent SkillHub Β· Developer Tools

LP Agent

Run automated liquidity provision strategies on concentrated liquidity (CLMM) DEXs using Hummingbot API.

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

Run automated liquidity provision strategies on concentrated liquidity (CLMM) DEXs using Hummingbot API.

⬇ 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
SKILL.md, references/lp_executor_guide.md, references/lp_rebalancer_guide.md, scripts/README.md, scripts/add_wallet.py, scripts/check_api.sh

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. 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. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.1

Documentation

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

lp-agent

This skill helps you run automated liquidity provision strategies on concentrated liquidity (CLMM) DEXs using Hummingbot API. Commands (run as /lp-agent <command>): CommandDescriptionstartOnboarding wizard β€” check setup status and get starteddeploy-hummingbot-apiDeploy Hummingbot API trading infrastructuresetup-gatewayStart Gateway, configure network RPC endpointsadd-walletAdd or import a Solana walletexplore-poolsFind and explore Meteora DLMM poolsselect-strategyChoose LP Executor or Rebalancer Controllerrun-strategyRun, monitor, and manage LP strategiesanalyze-performanceVisualize LP position performance New here? Run /lp-agent start to check your setup and get a guided walkthrough. Typical workflow: start β†’ deploy-hummingbot-api β†’ setup-gateway β†’ add-wallet β†’ explore-pools β†’ select-strategy β†’ run-strategy β†’ analyze-performance

Command: start

Welcome the user and guide them through setup. This is a conversational onboarding wizard β€” check infrastructure state, interpret results, and walk them through each step.

Step 1: Welcome & Explain

Introduce yourself and explain what lp-agent does: I'm your LP agent β€” I help you run automated liquidity provision strategies on Meteora DLMM pools (Solana). I can: Deploy infrastructure β€” Hummingbot API + Gateway for DEX trading Manage wallets β€” Add Solana wallets, check balances Explore pools β€” Search Meteora DLMM pools, compare APR/volume/TVL Run strategies β€” Auto-rebalancing LP controller or single-position executor Analyze performance β€” Dashboards with PnL, fees, and position history

Step 2: Check Infrastructure Status

Run these scripts and interpret the JSON output: bash scripts/check_api.sh --json # Is Hummingbot API running? bash scripts/check_gateway.sh --json # Is Gateway running? python scripts/add_wallet.py list # Any wallets connected? Interpreting Results: ScriptSuccess OutputFailure Outputcheck_api.sh --json{"running": true, "url": "http://localhost:8000", ...}{"running": false, ...} or connection errorcheck_gateway.sh --json{"running": true, ...}{"running": false, ...}add_wallet.py listShows wallet addresses like [solana] ABC123...No wallets found. or empty list []

Step 3: Show Progress

Present a checklist showing what's done and what's remaining based on the script outputs: Setup Progress: [x] Hummingbot API β€” Running at http://localhost:8000 [x] Gateway β€” Running [ ] Wallet β€” No wallet connected Next step: Add a Solana wallet so you can start trading. Adapt the checklist to the actual state. If everything is unchecked, start from the top. If everything is checked, skip to the LP lifecycle overview.

Step 4: Guide Next Action

Based on the first unchecked item, offer to help: MissingWhat to sayHummingbot API"Let's deploy the API first β€” it's the trading backend. Need Docker installed. Want me to run the installer?" β†’ /lp-agent deploy-hummingbot-apiGateway"API is running! Now we need Gateway for DEX connectivity. Want me to start it?" β†’ /lp-agent setup-gatewayWalletSee Adding a Wallet belowAll readyMove to Step 5 Adding a Wallet: When wallet is the next step, tell the user: Infrastructure is ready. You need a Solana wallet with SOL for transaction fees (~0.06 SOL per LP position). To add a wallet, run: python scripts/add_wallet.py add You'll be prompted to paste your private key (secure, not saved in shell history). Interpreting add_wallet.py output: OutputMeaningβœ“ Wallet added successfully + addressSuccess β€” wallet is connectedEnter private key (base58): then βœ“ Wallet addedSuccess after promptError: HTTP 400 or validation errorInvalid private key formatError: Cannot connect to APIAPI not running β€” run check_api.sh first After wallet is added, verify with python scripts/add_wallet.py list β€” should show the new address.

Step 5: LP Lifecycle Overview

Once infrastructure is ready (or if user wants to understand the flow first), explain the LP lifecycle: How LP strategies work: Explore pools (/lp-agent explore-pools) β€” Find a Meteora DLMM pool. Look at volume, APR, and fee/TVL ratio to pick a good one. Select strategy (/lp-agent select-strategy) β€” Choose between: Rebalancer Controller (recommended) β€” Automatically repositions when price moves out of range. Set-and-forget. LP Executor β€” Single fixed position. You control when to close/reopen. Good for testing or limit-order-style LP. Run strategy (/lp-agent run-strategy) β€” Configure parameters (amount, width, price limits) and deploy. Monitor status and stop when done. Analyze (/lp-agent analyze-performance) β€” View PnL dashboard, fees earned, position history. Works for both running and stopped strategies. Want to explore some pools to get started?

Command: deploy-hummingbot-api

Deploy the Hummingbot API trading infrastructure. This is the first step before using any LP features.

What Gets Installed

Hummingbot API β€” A personal trading server that exposes a REST API for trading, market data, and deploying bot strategies across CEXs and DEXs. Repository: hummingbot/hummingbot-api

Usage

# Check if already installed bash scripts/deploy_hummingbot_api.sh status # Install (interactive, prompts for credentials) bash scripts/deploy_hummingbot_api.sh install # Install with defaults (non-interactive: admin/admin) bash scripts/deploy_hummingbot_api.sh install --defaults # Upgrade existing installation bash scripts/deploy_hummingbot_api.sh upgrade # View container logs bash scripts/deploy_hummingbot_api.sh logs # Reset (stop and remove everything) bash scripts/deploy_hummingbot_api.sh reset

Prerequisites

Docker and Docker Compose Git

Interpreting Output

OutputMeaningNext Stepβœ“ Hummingbot API deployed successfullySuccessProceed to setup-gatewayβœ“ Already installed and runningAlready set upProceed to setup-gatewayError: Docker not foundDocker not installedInstall Docker firstError: Port 8000 already in useAnother service on portStop conflicting service or use different port

After Installation

Once the API is running: Swagger UI is at http://localhost:8000/docs Default credentials: admin/admin Proceed to setup-gateway to enable DEX trading

Command: setup-gateway

Start the Gateway service, check its status, and configure key network parameters like RPC node URLs. Gateway is required for all LP operations on DEXs. Prerequisite: Hummingbot API must be running (deploy-hummingbot-api). The script checks this automatically.

Usage

# Check Gateway status bash scripts/setup_gateway.sh --status # Start Gateway with defaults bash scripts/setup_gateway.sh # Start Gateway with custom image (e.g., development build) bash scripts/setup_gateway.sh --image hummingbot/gateway:development # Start with custom Solana RPC (recommended to avoid rate limits) bash scripts/setup_gateway.sh --rpc-url https://your-rpc-endpoint.com # Configure RPC for a different network bash scripts/setup_gateway.sh --network ethereum-mainnet --rpc-url https://your-eth-rpc.com # Start with custom passphrase and port bash scripts/setup_gateway.sh --passphrase mypassword --port 15888

Options

OptionDefaultDescription--statusCheck Gateway status only (don't start)--image IMAGEhummingbot/gateway:developmentDocker image to use--passphrase TEXThummingbotGateway passphrase--rpc-url URLCustom RPC endpoint for --network--network IDsolana-mainnet-betaNetwork to configure RPC for--port PORT15888Gateway port

Advanced: manage_gateway.py

For finer control (stop, restart, logs, per-network config), use manage_gateway.py: python scripts/manage_gateway.py status # Check status python scripts/manage_gateway.py start # Start Gateway python scripts/manage_gateway.py stop # Stop Gateway python scripts/manage_gateway.py restart # Restart Gateway python scripts/manage_gateway.py logs # View logs python scripts/manage_gateway.py networks # List all networks python scripts/manage_gateway.py network solana-mainnet-beta # Get network config python scripts/manage_gateway.py network solana-mainnet-beta --node-url https://... # Set RPC node

Interpreting Output

OutputMeaningNext Stepβœ“ Gateway is running or βœ“ Gateway startedSuccessProceed to add-walletβœ“ Gateway is already runningAlready set upProceed to add-walletβœ— Cannot connect to Hummingbot APIAPI not runningRun /lp-agent deploy-hummingbot-api firstβœ— Failed to start GatewayDocker issueCheck Docker is running, check logsβœ“ RPC configured + βœ“ Gateway restartedCustom RPC setReady to use

Custom RPC Nodes

Gateway uses public RPC nodes by default, which can hit rate limits. Set a custom nodeUrl per network to avoid this. Popular Solana RPC providers: Helius β€” Free tier available QuickNode Alchemy Triton

Command: add-wallet

Add a Solana wallet for trading. Requires: deploy-hummingbot-api and setup-gateway completed first.

Adding a Wallet

python scripts/add_wallet.py add You'll be prompted to paste your private key (base58 format). The key is entered securely and won't appear in shell history. Interpreting Output: OutputMeaningNext Stepβœ“ Wallet added successfully + Address: ABC...SuccessVerify with list commandError: HTTP 400 - Bad RequestInvalid private key formatCheck key is base58 encodedError: HTTP 503Gateway not availableRun bash scripts/check_gateway.shError: Cannot connect to APIAPI not runningRun /lp-agent deploy-hummingbot-api

Listing Wallets

python scripts/add_wallet.py list Interpreting Output: OutputMeaning[solana] ABC123...XYZWallet connected on SolanaNo wallets found.No wallets added yetEmpty list [] (with --json)No wallets added yet

Checking Balances

# Check all balances python scripts/add_wallet.py balances # Filter by account python scripts/add_wallet.py balances --account master_account # Show zero balances too python scripts/add_wallet.py balances --all

Requirements

SOL for fees: Wallet needs SOL for transaction fees (~0.06 SOL per LP position for rent) Default chain: Solana mainnet-beta

Command: explore-pools

Find and explore Meteora DLMM pools before creating LP positions. Note: Pool listing (list_meteora_pools.py) works without any prerequisites β€” it queries the Meteora API directly. Pool details (get_meteora_pool.py) optionally uses Gateway for real-time price and liquidity charts.

List Pools

Search and list pools by name, token, or address: # Top pools by 24h volume python scripts/list_meteora_pools.py # Search by token symbol python scripts/list_meteora_pools.py --query SOL python scripts/list_meteora_pools.py --query USDC # Search by pool name python scripts/list_meteora_pools.py --query SOL-USDC # Sort by different metrics python scripts/list_meteora_pools.py --query SOL --sort tvl python scripts/list_meteora_pools.py --query SOL --sort apr python scripts/list_meteora_pools.py --query SOL --sort fees # Pagination python scripts/list_meteora_pools.py --query SOL --limit 50 --page 2 Output columns: Pool: Trading pair name Pool Address: Pool contract address (shortened, use get_meteora_pool.py for full address) Base (mint): Base token symbol with shortened mint address Quote (mint): Quote token symbol with shortened mint address TVL: Total value locked Vol 24h: 24-hour trading volume Fees 24h: Fees earned in last 24 hours APR: Annual percentage rate Fee: Base fee percentage Bin: Bin step (affects max position width) Note: Token mints help identify the correct token when multiple tokens share the same name (e.g., multiple "PERCOLATOR" tokens).

Get Pool Details

Get detailed information about a specific pool. Fetches from both Meteora API (historical data) and Gateway (real-time data): python scripts/get_meteora_pool.py <pool_address> # Example python scripts/get_meteora_pool.py ATrBUW2reZiyftzMQA1hEo8b7w7o8ZLrhPd7M7sPMSms # Output as JSON for programmatic use python scripts/get_meteora_pool.py ATrBUW2reZiyftzMQA1hEo8b7w7o8ZLrhPd7M7sPMSms --json # Skip Gateway (faster, no bin distribution) python scripts/get_meteora_pool.py ATrBUW2reZiyftzMQA1hEo8b7w7o8ZLrhPd7M7sPMSms --no-gateway Data sources: Meteora API: Historical volume, fees, APR, token info, market caps Gateway (requires running Gateway): Real-time price, liquidity distribution by bin Details shown: Token info (symbols, mints, decimals, prices) Pool configuration (bin step, fees, max range width) Real-time price from Gateway (SOL/token ratio) Liquidity distribution chart showing bins around current price Liquidity and reserves Volume across time windows (30m, 1h, 4h, 12h, 24h) Fees earned across time windows Yield (APR, APY, farm rewards) Fee/TVL ratio (profitability indicator)

Choosing a Pool

When selecting a pool, consider: TVL: Higher TVL = more stable, but also more competition Volume: Higher volume = more fee opportunities Fee/TVL Ratio: Higher = more profitable per $ of liquidity Bin Step: Determines max position width bin_step=1 β†’ max ~0.69% width (tight ranges) bin_step=10 β†’ max ~6.9% width (medium ranges) bin_step=100 β†’ max ~69% width (wide ranges)

Command: select-strategy

Help the user choose the right LP strategy. See references/ for detailed guides.

LP Rebalancer Controller (Recommended)

Reference: references/lp_rebalancer_guide.md A controller that automatically manages LP positions with rebalancing logic. FeatureDescriptionAuto-rebalanceCloses and reopens positions when price exits rangePrice limitsConfigure BUY/SELL zones with anchor pointsKEEP logicAvoids unnecessary rebalancing when at optimal positionHands-offSet and forget - controller manages everything Best for: Longer-term LP strategies, range-bound markets, automated fee collection.

LP Executor (Single Position)

Reference: references/lp_executor_guide.md Creates ONE liquidity position with fixed price bounds. No auto-rebalancing. FeatureDescriptionFixed boundsPosition stays at configured price rangeManual controlUser decides when to close/reopenLimit ordersCan auto-close when price exits range (like limit orders)SimpleDirect control over single position Best for: Short-term positions, limit-order-style LP, manual management, testing.

Quick Comparison

AspectRebalancer ControllerLP ExecutorRebalancingAutomaticManualPosition countOne at a time, auto-managedOne, fixedPrice limitsYes (anchor points)No (but has auto-close)ComplexityHigher (more config)Lower (simpler)Use caseSet-and-forgetPrecise control

Command: run-strategy

Run, monitor, and manage LP strategies. Requires: deploy-hummingbot-api, setup-gateway, and add-wallet completed first.

LP Rebalancer Controller (Recommended)

Reference: See references/lp_rebalancer_guide.md for full configuration details, rebalancing logic, and KEEP vs REBALANCE scenarios. Auto-rebalances positions when price moves out of range. Best for hands-off LP management. Key concepts: --amount (total_amount_quote) = amount in quote asset (2nd token in pair). For Percolator-SOL β†’ SOL. For SOL-USDC β†’ USDC. Always quote, regardless of side. All *_pct params are already in percent. position_width_pct: 10 = 10% width. Do NOT pass decimals (not 0.10). Price limits (--buy-min/max, --sell-min/max) default to 0 = no limit. Only set if you want a stop zone. # 1. Create LP Rebalancer config (pool and pair are required) python scripts/manage_controller.py create-config my_lp_config \ --pool <pool_address> \ --pair SOL-USDC \ --amount 10 \ # 10 USDC (quote asset for SOL-USDC) --side 0 \ # 0=BOTH, 1=BUY (quote only), 2=SELL (base only) --width 10 \ # 10% range around current price --offset 1 \ # center range 1% from current price --rebalance-seconds 300 \ --rebalance-threshold 1 # Side=2 example: deploy base token only (e.g. 110k PRCLT β‰ˆ 1.33 SOL) python scripts/manage_controller.py create-config percolator_sell \ --pool ATrBUW2reZiyftzMQA1hEo8b7w7o8ZLrhPd7M7sPMSms \ --pair Percolator-SOL \ --amount 1.33 \ # 1.33 SOL worth (quote for Percolator-SOL pair) --side 2 # 2. Deploy bot with the config python scripts/manage_controller.py deploy my_lp_bot --configs my_lp_config # 3. Monitor status python scripts/manage_controller.py status Key Parameters: ParameterFieldDefaultDescription--amounttotal_amount_quoterequiredAmount in quote asset (2nd token). SOL for X-SOL pairs, USDC for X-USDC pairs.--sideside00=BOTH, 1=BUY (quote only), 2=SELL (base only)--widthposition_width_pct10Range width in % (e.g. 10 = Β±10% around price). Already in pct β€” do not use decimals.--offsetposition_offset_pct1Center offset from current price in %. Already in pct.--rebalance-secondsrebalance_seconds300Seconds out-of-range before closing and reopening--rebalance-thresholdrebalance_threshold_pct1Min price move % to trigger rebalance. Already in pct.--sell-max/--sell-minsell_price_max/min0Price limits for SELL side (0 = no limit)--buy-max/--buy-minbuy_price_max/min0Price limits for BUY side (0 = no limit)--strategy-typestrategy_type0Meteora shape: 0=Spot (uniform), 1=Curve (center-heavy), 2=Bid-Ask (edge-heavy)

Single LP Executor (Alternative)

Reference: See references/lp_executor_guide.md for state machine, single/double-sided positions, and limit range orders. Creates ONE position with fixed bounds. Does NOT auto-rebalance. python scripts/manage_executor.py create \ --pool <pool_address> \ --pair SOL-USDC \ --quote-amount 100 \ --lower 180 \ --upper 185 \ --side 1 Key Parameters: ParameterDescription--connectorMust include /clmm suffix (default: meteora/clmm)--lower/--upperPosition price bounds--base-amount/--quote-amountToken amounts (set one to 0 for single-sided)--side0=BOTH, 1=BUY, 2=SELL--auto-close-aboveAuto-close when price above range (for limit orders)--auto-close-belowAuto-close when price below range (for limit orders)

Monitor & Manage

Check Status: # Bot status python scripts/manage_controller.py status # Executor list python scripts/manage_executor.py list --type lp_executor # Executor details python scripts/manage_executor.py get <executor_id> # Executor summary python scripts/manage_executor.py summary Executor States: OPENING - Creating position on-chain IN_RANGE - Position active, earning fees OUT_OF_RANGE - Price outside position bounds CLOSING - Removing position FAILED - Transaction failed Stop: # Stop bot (stops all its controllers) python scripts/manage_controller.py stop my_lp_bot # Stop individual executor (closes position) python scripts/manage_executor.py stop <executor_id> # Stop executor but keep position on-chain python scripts/manage_executor.py stop <executor_id> --keep-position

After Stopping β€” Analyze Results

If the user ran an LP Executor (via manage_executor.py create or direct API), immediately offer to analyze it: Your executor has been stopped. Want me to generate a performance dashboard? Then run: python scripts/visualize_lp_executor.py --id <executor_id> The executor ID is returned when the executor is created (printed as Executor ID: <id>). If the user doesn't have it handy, fetch it from the API: curl -s -u admin:admin -X POST http://localhost:8000/executors/search \ -H "Content-Type: application/json" \ -d '{"type":"lp_executor"}' | python3 -c " import json,sys data=json.load(sys.stdin) items=data.get('data',data) if isinstance(data,dict) else data for ex in (items if isinstance(items,list) else [items]): print(ex.get('executor_id') or ex.get('id'), ex.get('trading_pair'), ex.get('status')) " To also export the raw data to CSV: python scripts/export_lp_executor.py --id <executor_id> If the user ran a Rebalancer Controller bot, the data lives in a SQLite file β€” use analyze-performance with the SQLite-based scripts instead.

Command: analyze-performance

Export data and generate visual dashboards from LP position events. Scripts are in this skill's scripts/ directory.

Which Script to Use?

Always ask yourself: was this position deployed as an LP Executor (via manage_executor.py or direct API) or via a Rebalancer Controller bot? How it was deployedScript to useLP Executor β€” manage_executor.py create or direct POST /executors/ APIvisualize_lp_executor.py --id <executor_id> βœ…Rebalancer Controller β€” manage_controller.py deploy (bot container, SQLite)visualize_lp_positions.py --pair <pair>Not sure?Run curl -s -u admin:admin -X POST http://localhost:8000/executors/search -H "Content-Type: application/json" -d '{"type":"lp_executor"}' β€” if the executor ID appears, use the executor scripts If the user has been running an LP Executor in this session (executor ID is known from context), skip the question and go straight to: python scripts/visualize_lp_executor.py --id <executor_id>

Available Scripts

ScriptPurposescripts/export_lp_positions.pyExport LP position events to CSV (SQLite/bot-container based)scripts/visualize_lp_positions.pyGenerate HTML dashboard from position events (SQLite/bot-container based)scripts/export_lp_executor.pyExport a single LP executor to CSV by --id (REST API, no SQLite)scripts/visualize_lp_executor.pyGenerate HTML dashboard for a single LP executor by --id (REST API)

Visualize LP Positions

Shows position ADD/REMOVE events from the blockchain. Works for both running and stopped bots. # Basic usage (auto-detects database in data/) python scripts/visualize_lp_positions.py --pair SOL-USDC # Specify database explicitly python scripts/visualize_lp_positions.py --db data/my_bot.sqlite --pair SOL-USDC # Filter by connector python scripts/visualize_lp_positions.py --pair SOL-USDC --connector meteora/clmm # Last 24 hours only python scripts/visualize_lp_positions.py --pair SOL-USDC --hours 24 Dashboard Features: KPI cards (total PnL, fees, IL, win/loss counts) Cumulative PnL & fees chart Price at open/close with LP range bounds Per-position PnL bar chart Duration vs PnL scatter plot Sortable positions table with Solscan links

Export to CSV

# Export all position events python scripts/export_lp_positions.py --db data/my_bot.sqlite # Filter by trading pair python scripts/export_lp_positions.py --pair SOL-USDC --output exports/positions.csv # Show summary without exporting python scripts/export_lp_positions.py --summary

Executor Performance (API-based)

These scripts work directly from the Hummingbot REST API β€” no SQLite database needed. Use them when executors were deployed via the API directly (e.g., via manage_executor.py), because those do not always produce SQLite records the way bot containers do. Export a single LP executor to CSV: python scripts/export_lp_executor.py --id <executor_id> python scripts/export_lp_executor.py --id <executor_id> --output exports/my_run.csv python scripts/export_lp_executor.py --id <executor_id> --print # JSON to stdout CSV columns (LP executor schema): Identity: id, account_name, controller_id, connector_name, trading_pair State: status, close_type, is_active, is_trading, error_count Timing: created_at, closed_at, close_timestamp, duration_seconds PnL: net_pnl_quote, net_pnl_pct, cum_fees_quote, filled_amount_quote Config (deployment): pool_address, lower_price, upper_price, base_amount_config, quote_amount_config, side, position_offset_pct, auto_close_above_range_seconds, auto_close_below_range_seconds, keep_position custom_info (live/final): state, position_address, current_price, lower_price_actual, upper_price_actual, base_amount_current, quote_amount_current, base_fee, quote_fee, fees_earned_quote, total_value_quote, unrealized_pnl_quote, position_rent, position_rent_refunded, tx_fee, out_of_range_seconds, max_retries_reached, initial_base_amount, initial_quote_amount Visualize a single LP executor (HTML dashboard): python scripts/visualize_lp_executor.py --id <executor_id> python scripts/visualize_lp_executor.py --id <executor_id> --output report.html python scripts/visualize_lp_executor.py --id <executor_id> --no-open Dashboard panels: KPI cards: status, net PnL, fees earned, duration, LP range Price chart with LP lower/upper bounds + open/close markers (5m KuCoin candles; auto-skipped for exotic pairs) Token balance bar: initial vs final base + quote amounts PnL breakdown: fees earned vs IL/price impact vs net PnL Full position summary table with Solscan links for pool and position addresses Dark theme (#0d1117 / #161b27), responsive layout, Chart.js from CDN Auth auto-loaded from .env or ~/.hummingbot/.env or ~/.env (keys: HUMMINGBOT_API_URL, API_USER, API_PASS)

Common Workflows

Full Setup (first time): # 1. Deploy API bash scripts/deploy_hummingbot_api.sh install # 2. Start Gateway bash scripts/setup_gateway.sh --rpc-url https://your-rpc-endpoint.com # 3. Add wallet python scripts/add_wallet.py add # 4. Find pool python scripts/list_meteora_pools.py --query SOL-USDC # 5. Check bin_step python scripts/get_meteora_pool.py <pool_address> # 6. Create config and deploy python scripts/manage_controller.py create-config my_lp --pool <pool_address> --pair SOL-USDC --amount 100 python scripts/manage_controller.py deploy my_bot --configs my_lp # 7. Verify python scripts/manage_controller.py status Analyze LP Positions: # Visualize python scripts/visualize_lp_positions.py --pair SOL-USDC # Export CSV python scripts/export_lp_positions.py --pair SOL-USDC

Checking Prerequisites

Before running commands that need the API or Gateway, verify they're running: bash scripts/check_api.sh # Is Hummingbot API running? bash scripts/check_gateway.sh # Is Gateway running? (also checks API) Both support --json output. These scripts are also used internally by setup_gateway.sh and can be sourced by other shell scripts.

Scripts Reference

ScriptPurposecheck_api.shCheck if Hummingbot API is running (shared)check_gateway.shCheck if Gateway is running (shared)deploy_hummingbot_api.shInstall/upgrade/manage Hummingbot APIsetup_gateway.shStart Gateway and configure RPCadd_wallet.pyAdd wallets and check balancesmanage_gateway.pyAdvanced Gateway managementlist_meteora_pools.pySearch and list poolsget_meteora_pool.pyGet pool details with liquidity chartmanage_executor.pyCreate, list, stop LP executorsmanage_controller.pyCreate configs, deploy bots, get statusexport_lp_positions.pyExport position events to CSV (SQLite/bot-container)visualize_lp_positions.pyGenerate HTML dashboard (SQLite/bot-container)export_lp_executor.pyExport single LP executor to CSV by --id (REST API)visualize_lp_executor.pyHTML dashboard for single LP executor by --id (REST API)

Error Troubleshooting

ErrorCauseSolution"InvalidRealloc"Position range too wideReduce --width (check bin_step limits)State stuck "OPENING"Transaction failedStop executor, reduce range, retry"Insufficient balance"Not enough tokensCheck wallet has tokens + 0.06 SOL for rent

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
4 Docs2 Scripts
  • SKILL.md Primary doc
  • references/lp_executor_guide.md Docs
  • references/lp_rebalancer_guide.md Docs
  • scripts/README.md Docs
  • scripts/add_wallet.py Scripts
  • scripts/check_api.sh Scripts