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
| Parameter | Type | Required | Description |
|---|---|---|---|
| networks | string | No | Filter by networks (comma-separated) |
| dexes | string | No | Filter by DEXes (comma-separated) |
| h24_volume_usd_min | number | No | Minimum 24h volume in USD |
| h24_volume_usd_max | number | No | Maximum 24h volume in USD |
| reserve_in_usd_min | number | No | Minimum liquidity in USD |
| reserve_in_usd_max | number | No | Maximum liquidity in USD |
| pool_created_hour_min | number | No | Minimum pool age in hours |
| pool_created_hour_max | number | No | Maximum pool age in hours |
| buy_tax_percentage_max | number | No | Maximum buy tax percentage |
| sell_tax_percentage_max | number | No | Maximum sell tax percentage |
| checks | string | No | Security filters (see below) |
| sort | string | No | Sort order (see below) |
| page | integer | No | Page number (default: 1) |
Security Checks
| Check | Description |
|---|---|
| no_honeypot | Exclude honeypot tokens |
| good_gt_score | Require GeckoTerminal trust score > 50 |
| has_social | Require social media presence |
| verified | Require verified contracts |
Sort Options
| Sort | Description |
|---|---|
| h24_trending | Trending score |
| h24_volume_usd_desc | Highest volume first |
| h24_volume_usd_asc | Lowest volume first |
| pool_created_at_desc | Newest pools first |
| pool_created_at_asc | Oldest pools first |
| reserve_in_usd_desc | Highest 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
- Trading Bots: Pre-filter pools for automated strategies
- Sniper Tools: Find new launches with good metrics
- Research: Analyze pool characteristics across networks
- Risk Management: Filter out high-tax and suspicious pools
- Arbitrage: Find high-volume pools across DEXes
Related Tools
- get_trending_pools - Trending liquidity pools
- get_new_pools - Newly created pools
- get_pool_info - Detailed pool metadata
- get_pool_ohlcv - Pool price charts
- get_pool_trades - Recent pool trades
- search_pools - Search pools by name
- get_token_security - Token security check
- get_liquidity_locks - Liquidity lock status
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.