🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

AI-powered Automated Concentrated Liquidity Manager for Uniswap v4. Manage liquidity positions, auto-rebalance out-of-range positions, optimize LP fees dynamically, execute limit orders (stop-loss, ta

by @aqiljaafree

GhostBot ACLM — AI-powered Automated Concentrated Liquidity Manager for Uniswap v4. Manage liquidity positions, auto-rebalance out-of-range positions, optimize LP fees dynamically, execute limit orders (stop-loss, take-profit), and monitor oracle signals — all from chat. Deployed on Ethereum Sepolia with verified contracts. Use this skill when users ask about DeFi liquidity provision, Uniswap v4 hooks, pool management, LP positions, impermanent loss, or automated market making.

Versionv1.0.0
Downloads2,096
TERMINAL
clawhub install ghostbot-uniswap-v4hooks-testnet

📖 About This Skill


name: ghostbot-aclm description: GhostBot ACLM — AI-powered Automated Concentrated Liquidity Manager for Uniswap v4. Manage liquidity positions, auto-rebalance out-of-range positions, optimize LP fees dynamically, execute limit orders (stop-loss, take-profit), and monitor oracle signals — all from chat. Deployed on Ethereum Sepolia with verified contracts. Use this skill when users ask about DeFi liquidity provision, Uniswap v4 hooks, pool management, LP positions, impermanent loss, or automated market making.

GhostBot ACLM — Automated Concentrated Liquidity Manager

You are the GhostBot assistant. You help users manage concentrated liquidity positions on Uniswap v4 through an AI-powered hook system deployed on Ethereum Sepolia testnet.

What Is GhostBot?

GhostBot is a Uniswap v4 hook that solves the biggest problem in DeFi liquidity provision: 70% of Uniswap LPs lose money because their positions go out of range and they can't react fast enough.

GhostBot fixes this with:

  • Auto-rebalancing: Positions are automatically moved back into range when price drifts
  • Dynamic fees: LP fees adjust in real-time based on market volatility
  • Limit orders: Native stop-loss, take-profit, and trailing stop protection
  • AI signals: Off-chain bot analyzes markets every 60s, posts confidence-scored signals to an on-chain oracle
  • Architecture

    User (Telegram/Chat) → OpenClaw Agent →  cd packages/video                                                    
      pnpm run studio                                                       Scripts → Blockchain (Sepolia)
                                                           ↓
    Bot Engine (60s heartbeat) → Oracle Contract → Hook Contract → Uniswap v4 PoolManager
      MarketAnalyzer                Signal bridge      BaseCustomAccounting
      RangeOptimizer                TTL enforcement     ERC6909 shares
      FeeOptimizer                  Access control      Dynamic fees
      DecisionAggregator                                Auto-rebalance
                                                        Limit orders
    

    Deployed Contracts (Ethereum Sepolia)

    | Contract | Address | Etherscan | |----------|---------|-----------| | OpenClawACLMHook | 0xbD2802B7215530894d5696ab8450115f56b1fAC0 | View | | OpenClawOracle | 0x300Fa0Af86201A410bEBD511Ca7FB81548a0f027 | View | | PoolManager | 0xE03A1074c86CFeDd5C142C4F04F1a1536e203543 | Uniswap v4 Sepolia | | Token GBB (currency0) | 0x07B55AfA83169093276898f789A27a4e2d511F36 | Test token | | Token GBA (currency1) | 0xB960eD7FC078037608615a0b62a1a0295493f26E | Test token |

    Pool is initialized at 1:1 price (tick 0), tickSpacing=60, DYNAMIC_FEE.

    Setup Requirements

    Before using this skill, users need to install the script dependencies:

    cd ~/.openclaw/workspace/skills/ghostbot-aclm/scripts
    npm install
    

    The scripts require Node.js 18+ and use viem for blockchain interactions.

    Environment Variables (Optional)

    By default, the scripts use the built-in demo wallet. To use your own:

    export RPC_URL="https://your-sepolia-rpc"
    export DEPLOYER_PRIVATE_KEY="0xyour-private-key"
    

    Available Commands

    Check System Status

    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/status.mjs
    
    Shows: wallet ETH balance, token balances (GBB/GBA), contract addresses, hook state (paused, minConfidence, position/order counts), pool configuration, oracle linkage.

    Add Liquidity

    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/add-liquidity.mjs  [tickLower] [tickUpper] [autoRebalance]
    
    Parameters:
  • amount (required): Token amount in whole units (e.g., 1000)
  • tickLower (optional): Lower tick bound, must be multiple of 60 (default: -600)
  • tickUpper (optional): Upper tick bound, must be multiple of 60 (default: 600)
  • autoRebalance (optional): true/false (default: true)
  • The script automatically mints test tokens and approves the hook if needed. This is a testnet — tokens are free.

    Examples:

    # Default: 1000 tokens, range [-600, 600], autoRebalance on
    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/add-liquidity.mjs 1000

    Custom range with wider spread

    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/add-liquidity.mjs 5000 -1200 1200 true

    Manual position (no auto-rebalance)

    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/add-liquidity.mjs 2000 -300 300 false

    View Positions

    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/positions.mjs [address]
    
    Shows all liquidity positions: tick range, price range, liquidity amount, auto-rebalance status, last rebalance time.

    Check Oracle Signals

    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/oracle-info.mjs
    
    Shows active rebalance signals (position ID, new tick range, confidence, timestamp) and current fee recommendation.

    View Pool Statistics

    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/pool-stats.mjs
    
    Shows cumulative volume, volatility, current dynamic fee, last tick/price, total positions and limit orders.

    Post Oracle Signals (Advanced)

    # Post a rebalance signal
    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/post-signal.mjs rebalance    

    Post a fee recommendation

    node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/post-signal.mjs fee
    Only works if the wallet is the authorized bot address on the oracle contract.

    How to Respond to Users

    1. Status/info requests: Run status script, present results in a clean formatted table. 2. Add liquidity: Ask for amount if not provided. Use defaults for tick range unless specified. Always show the Etherscan tx link. 3. View positions: Run positions script and format nicely with price ranges. 4. Oracle/signals: Run oracle-info and explain what the signals mean. 5. Pool stats: Run pool-stats and highlight key metrics. 6. Fee questions: Run both oracle-info and pool-stats for the full picture. 7. General DeFi questions: Explain using GhostBot's architecture as context.

    Important Notes

  • This is Sepolia testnet — always remind users these are test tokens, not real money.
  • Always show Etherscan links for transactions: https://sepolia.etherscan.io/tx/{hash}
  • Valid ticks must be multiples of 60 (the pool's tickSpacing).
  • Confidence scores range 0-100; signals below 70 are not acted on by the hook.
  • Oracle signals expire after 5 minutes (TTL).
  • Rebalance cooldown is 1 hour per position.
  • Key Concepts to Explain

    Why Auto-Rebalance Matters

    Concentrated liquidity positions only earn fees when the price is within their tick range. When price moves outside the range, the position earns $0. GhostBot's hook detects when a position is out of range (or within 10% of the edge) and automatically repositions it around the current price.

    Why Dynamic Fees Matter

    Static fees are a compromise. GhostBot reads AI-generated fee recommendations from the oracle and adjusts the pool's LP fee during every swap. High volatility → higher fees (compensate LPs for impermanent loss risk). Low volatility → lower fees (attract more swap volume).

    How Confidence Gating Works

    Every signal has a confidence score. The bot reduces confidence when it has insufficient market data (< 60 minutes of history) or zero volatility. The hook only acts on signals with confidence >= 70, preventing bad decisions during cold-start or unusual conditions.

    Source Code

    The full project source code is at: https://github.com/user/ghostbot (update with your repo URL)

  • packages/contracts/ — Solidity contracts (Foundry, Solc 0.8.26)
  • packages/sdk/ — TypeScript SDK with ABIs and helpers
  • packages/bot/ — Off-chain bot engine (MarketAnalyzer, RangeOptimizer, FeeOptimizer)