Search DEX pools across Base, Ethereum, Solana, Polygon, BSC, Arbitrum, Optimism
Search DEX pools across Base, Ethereum, Solana, Polygon, BSC, Arbitrum, Optimism and Avalanche by token symbol, name, or contract address. Returns pool address, DEX, price USD, 24h volume, liquidity (TVL), FDV, 24h price change and 24h txns as flat JSON numbers — no nested joins. Pool search, pool finder, DEX pools, liquidity pools, onchain pool lookup. $0.001 per call.
Answeringour last check, 2026-09-24
1 of 1checks answered this week
932 msmedian answer time
$0.001listed price per call
$0.001price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://x402.ottoai.services/pools-search
| Category | Market data |
|---|---|
| Provider host | x402.ottoai.services |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 8 from 6 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.001 | 932 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"query": "WETH"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"query": {
"description": "Token symbol, token name, or contract address to find pools for (e.g. WETH, PEPE, or a 0x\u2026 / Solana mint address)",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"data": {},
"meta": {
"type": "object"
},
"reason": {
"description": "status=unavailable only; every >=400 is UNCHARGED",
"type": "string"
},
"status": {
"enum": [
"success",
"unavailable"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}