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.
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:
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
| 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.
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.
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"
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.
node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/add-liquidity.mjs <amount> [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
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.
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.
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 a rebalance signal
node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/post-signal.mjs rebalance <positionId> <tickLower> <tickUpper> <confidence>
# Post a fee recommendation
node ~/.openclaw/workspace/skills/ghostbot-aclm/scripts/post-signal.mjs fee <feeAmount> <confidence>
Only works if the wallet is the authorized bot address on the oracle contract.
https://sepolia.etherscan.io/tx/{hash}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.
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).
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.
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 helperspackages/bot/ — Off-chain bot engine (MarketAnalyzer, RangeOptimizer, FeeOptimizer)共 1 个版本