> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Search & Filter Pools

Find DEX pools matching your criteria across networks and DEXes. Filter by liquidity, volume, age, transaction count, and safety scores.

![Search & Filter Pools logo](https://ai-icon.b3.fun/logo/coingecko)
Catalog action Blockchain Data

Find DEX pools matching your criteria across networks and DEXes. Filter by liquidity, volume, age, transaction count, and safety scores.


## At a Glance

| Field | Value |
| --- | --- |
| Action ID | `coingecko-get-pools-megafilter` |
| Category | Blockchain Data |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | `coingecko`, `onchain`, `pool`, `dex`, `filter`, `search`, `read` |

## Payload Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `include` | `string` | No | Attributes to include \(comma-separated\). Options: 'base_token', 'quote_token', 'dex', 'network'. Example: 'base_token,quote_token,dex' |
| `page` | `number` | No | Page number for pagination \(default: 1\). |
| `networks` | `string` | No | Filter by network IDs \(comma-separated\). Example: 'eth,bsc,polygon_pos'. Use token_lookup\(query_type='networks'\) for valid IDs. |
| `dexes` | `string` | No | Filter by DEX IDs \(comma-separated\). Example: 'uniswap_v3,sushiswap'. Note: Only works when single network is specified. Use token_lookup\(query_type='dexes', network='eth'\) for valid IDs. |
| `sort` | `string` | No | Sort order for results. |
| `fdvUsdMin` | `number` | No | Minimum fully diluted valuation in USD. |
| `fdvUsdMax` | `number` | No | Maximum fully diluted valuation in USD. |
| `reserveInUsdMin` | `number` | No | Minimum reserve/liquidity in USD. |
| `reserveInUsdMax` | `number` | No | Maximum reserve/liquidity in USD. |
| `h24VolumeUsdMin` | `number` | No | Minimum 24-hour volume in USD. |
| `h24VolumeUsdMax` | `number` | No | Maximum 24-hour volume in USD. |
| `poolCreatedHourMin` | `number` | No | Minimum pool age in hours. Example: 24 = at least 1 day old. |
| `poolCreatedHourMax` | `number` | No | Maximum pool age in hours. Example: 168 = less than 1 week old. |
| `txCountMin` | `number` | No | Minimum transaction count \(use txCountDuration to set timeframe\). |
| `txCountMax` | `number` | No | Maximum transaction count \(use txCountDuration to set timeframe\). |
| `txCountDuration` | `string` | No | Duration for transaction count filter. Default: 24h |
| `buysMin` | `number` | No | Minimum buy transactions \(use buysDuration to set timeframe\). |
| `buysMax` | `number` | No | Maximum buy transactions \(use buysDuration to set timeframe\). |
| `buysDuration` | `string` | No | Duration for buys filter. Default: 24h |
| `sellsMin` | `number` | No | Minimum sell transactions \(use sellsDuration to set timeframe\). |
| `sellsMax` | `number` | No | Maximum sell transactions \(use sellsDuration to set timeframe\). |
| `sellsDuration` | `string` | No | Duration for sells filter. Default: 24h |
| `buyTaxPercentageMin` | `number` | No | Minimum buy tax percentage. |
| `buyTaxPercentageMax` | `number` | No | Maximum buy tax percentage. Use to filter out high-tax tokens. |
| `sellTaxPercentageMin` | `number` | No | Minimum sell tax percentage. |
| `sellTaxPercentageMax` | `number` | No | Maximum sell tax percentage. Use to filter out high-tax tokens. |
| `checks` | `string` | No | Safety/quality checks \(comma-separated\). Options: 'no_honeypot' \(exclude honeypots\), 'good_gt_score' \(good GoPlus score\), 'on_coingecko' \(listed on CoinGecko\), 'has_social' \(has social links\). |
| `includeUnknownHoneypotTokens` | `boolean` | No | Include tokens with 'unknown' honeypot status. Default: false |

## Result Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `pools` | `array` | Yes | Array of pools matching the filter criteria \(flat structure, properties directly on each pool object\). |

## Examples

**Workflow node**

```json
{
  "type": "coingecko-get-pools-megafilter",
  "payload": {
    "include": "example-include",
    "page": 1,
    "networks": "example-networks",
    "dexes": "example-dexes",
    "sort": "m5_trending"
  },
  "children": []
}
```
  **Test with API**

```bash
curl -X POST "https://api.b3os.org/v1/actions/coingecko-get-pools-megafilter/test" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "include": "example-include",
    "page": 1,
    "networks": "example-networks",
    "dexes": "example-dexes",
    "sort": "m5_trending"
  }
}'
```

**Use expressions for dynamic values**

Payload fields can use workflow expressions such as `{{$trigger.body.amount}}`, `{{$nodes.fetch.result.price}}`, and `{{$props.asset}}` when the value should come from a trigger, prior node, or reusable workflow prop.