Hive Intelligence - Crypto MCP Server

Advanced Pool Filtering

Filter and discover liquidity pools using multiple criteria including volume, liquidity, age, and security checks.

Tool Name: filter_pools

MCP Endpoint: POST /hive_onchain_dex/mcp

Data Source: GeckoTerminal


Overview

The filter_pools tool provides powerful filtering capabilities:

  • Volume filters - Minimum/maximum 24h trading volume
  • Liquidity filters - Pool reserve requirements
  • Age filters - Pool creation date ranges
  • Tax filters - Maximum buy/sell tax thresholds
  • Security filters - Honeypot detection, verification status
  • Network/DEX filters - Specific chains and exchanges

Parameters

ParameterTypeRequiredDescription
networksstringNoFilter by networks (comma-separated)
dexesstringNoFilter by DEXes (comma-separated)
h24_volume_usd_minnumberNoMinimum 24h volume in USD
h24_volume_usd_maxnumberNoMaximum 24h volume in USD
reserve_in_usd_minnumberNoMinimum liquidity in USD
reserve_in_usd_maxnumberNoMaximum liquidity in USD
pool_created_hour_minnumberNoMinimum pool age in hours
pool_created_hour_maxnumberNoMaximum pool age in hours
buy_tax_percentage_maxnumberNoMaximum buy tax percentage
sell_tax_percentage_maxnumberNoMaximum sell tax percentage
checksstringNoSecurity filters (see below)
sortstringNoSort order (see below)
pageintegerNoPage number (default: 1)

Security Checks

CheckDescription
no_honeypotExclude honeypot tokens
good_gt_scoreRequire GeckoTerminal trust score > 50
has_socialRequire social media presence
verifiedRequire verified contracts

Sort Options

SortDescription
h24_trendingTrending score
h24_volume_usd_descHighest volume first
h24_volume_usd_ascLowest volume first
pool_created_at_descNewest pools first
pool_created_at_ascOldest pools first
reserve_in_usd_descHighest liquidity first

Examples

Find Safe High-Volume Pools

curl -X POST https://api.hiveintelligence.xyz/api/execute \
  -H "Content-Type: application/json" \
  -d '{
    "toolName": "filter_pools",
    "arguments": {
      "networks": "ethereum",
      "h24_volume_usd_min": 100000,
      "reserve_in_usd_min": 500000,
      "checks": "no_honeypot,good_gt_score",
      "sell_tax_percentage_max": 5,
      "sort": "h24_volume_usd_desc"
    }
  }'

Find New Pools (Sniper Strategy)

curl -X POST https://api.hiveintelligence.xyz/api/execute \
  -H "Content-Type: application/json" \
  -d '{
    "toolName": "filter_pools",
    "arguments": {
      "networks": "ethereum,bsc",
      "pool_created_hour_max": 24,
      "reserve_in_usd_min": 50000,
      "checks": "no_honeypot",
      "sort": "pool_created_at_desc"
    }
  }'

Python - Safe Pool Scanner

import requests

def find_safe_pools(
    networks=None,
    min_volume=100000,
    min_liquidity=250000,
    max_buy_tax=5,
    max_sell_tax=10
):
    args = {
        "h24_volume_usd_min": min_volume,
        "reserve_in_usd_min": min_liquidity,
        "buy_tax_percentage_max": max_buy_tax,
        "sell_tax_percentage_max": max_sell_tax,
        "checks": "no_honeypot,good_gt_score",
        "sort": "h24_volume_usd_desc"
    }

    if networks:
        args["networks"] = networks

    response = requests.post(
        "https://api.hiveintelligence.xyz/api/execute",
        json={"toolName": "filter_pools", "arguments": args}
    )
    return response.json()

def format_pool(pool):
    attrs = pool.get("attributes", {})
    return {
        "name": attrs.get("name", "Unknown"),
        "address": attrs.get("address"),
        "volume_24h": float(attrs.get("h24_volume_usd", 0)),
        "liquidity": float(attrs.get("reserve_in_usd", 0)),
        "buy_tax": attrs.get("buy_tax_percentage", 0),
        "sell_tax": attrs.get("sell_tax_percentage", 0),
        "price_change": float(attrs.get("h24_price_change_percentage", 0))
    }

# Find safe pools on Ethereum
pools = find_safe_pools(networks="ethereum")
safe_pools = [format_pool(p) for p in pools.get("data", [])]

print("Safe High-Volume Pools")
print("=" * 70)
for pool in safe_pools[:10]:
    print(f"\n{pool['name']}")
    print(f"  Volume: ${pool['volume_24h']:,.0f}")
    print(f"  Liquidity: ${pool['liquidity']:,.0f}")
    print(f"  Taxes: {pool['buy_tax']}% buy / {pool['sell_tax']}% sell")
    print(f"  24h Change: {pool['price_change']:+.2f}%")

JavaScript - Pool Discovery Bot

class PoolDiscovery {
  constructor(baseUrl = 'https://api.hiveintelligence.xyz/api/execute') {
    this.baseUrl = baseUrl;
  }

  async filterPools(filters = {}) {
    const defaultFilters = {
      h24_volume_usd_min: 50000,
      reserve_in_usd_min: 100000,
      checks: 'no_honeypot',
      sort: 'h24_volume_usd_desc'
    };

    const response = await fetch(this.baseUrl, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        toolName: 'filter_pools',
        arguments: { ...defaultFilters, ...filters }
      })
    });

    const data = await response.json();
    return this.formatPools(data.data || []);
  }

  formatPools(pools) {
    return pools.map(pool => ({
      id: pool.id,
      name: pool.attributes?.name,
      address: pool.attributes?.address,
      volume24h: parseFloat(pool.attributes?.h24_volume_usd || 0),
      liquidity: parseFloat(pool.attributes?.reserve_in_usd || 0),
      priceChange: parseFloat(pool.attributes?.h24_price_change_percentage || 0),
      txCount: pool.attributes?.h24_tx_count || 0,
      buyTax: pool.attributes?.buy_tax_percentage || 0,
      sellTax: pool.attributes?.sell_tax_percentage || 0
    }));
  }

  // Find newly created pools
  async findNewPools(maxAgeHours = 24) {
    return this.filterPools({
      pool_created_hour_max: maxAgeHours,
      reserve_in_usd_min: 25000,
      sort: 'pool_created_at_desc'
    });
  }

  // Find high-volume opportunities
  async findHighVolume(minVolume = 500000) {
    return this.filterPools({
      h24_volume_usd_min: minVolume,
      reserve_in_usd_min: 1000000,
      checks: 'no_honeypot,good_gt_score'
    });
  }

  // Find low-tax gems
  async findLowTaxPools() {
    return this.filterPools({
      buy_tax_percentage_max: 2,
      sell_tax_percentage_max: 2,
      h24_volume_usd_min: 100000,
      checks: 'no_honeypot'
    });
  }
}

// Usage
const discovery = new PoolDiscovery();
const newPools = await discovery.findNewPools(6); // Pools < 6 hours old
const highVolume = await discovery.findHighVolume(1000000); // $1M+ volume

Filter Strategies

Conservative (Low Risk)

{
  "h24_volume_usd_min": 500000,
  "reserve_in_usd_min": 1000000,
  "pool_created_hour_min": 168,
  "buy_tax_percentage_max": 3,
  "sell_tax_percentage_max": 3,
  "checks": "no_honeypot,good_gt_score,verified"
}

Aggressive (Higher Risk/Reward)

{
  "h24_volume_usd_min": 50000,
  "reserve_in_usd_min": 50000,
  "pool_created_hour_max": 48,
  "checks": "no_honeypot"
}

Whale Hunting

{
  "h24_volume_usd_min": 5000000,
  "reserve_in_usd_min": 10000000,
  "checks": "no_honeypot,good_gt_score",
  "sort": "h24_volume_usd_desc"
}

Use Cases

  1. Trading Bots: Pre-filter pools for automated strategies
  2. Sniper Tools: Find new launches with good metrics
  3. Research: Analyze pool characteristics across networks
  4. Risk Management: Filter out high-tax and suspicious pools
  5. Arbitrage: Find high-volume pools across DEXes


FAQ

Q: How accurate is honeypot detection? A: The no_honeypot check uses simulation-based detection with ~95% accuracy. Always verify with get_token_security for additional validation.

Q: Can I combine multiple networks? A: Yes, pass comma-separated values: "networks": "ethereum,bsc,arbitrum".

Q: What's the difference between volume and liquidity filters? A: Volume measures trading activity (flow), while liquidity measures the pool's reserves (stock). High volume with low liquidity can indicate wash trading.