Skip to main content
Glama

getTokenPools

Read-onlyIdempotent

Get the liquidity pools that contain a specific token on one network, returned under 'results' with has_next_page and next_cursor. Read-only and keyless. Use for 'which pools hold WETH on ethereum?' or 'liquidity venues for 0x...'. Network-scoped, so run search first if unsure of the network; unknown addresses return empty results, not an error. For the token's own price use getTokenDetails. Params: network (required); token_address (required); limit (default 10, max 100); cursor to page; sort_by (default 'volume_usd_24h', alias order_by); sort_dir asc/desc (default 'desc', alias sort). Extra params such as inversed or paired_token_address are unsupported and error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoOPTIONAL: alias of sort_dir; both are accepted. Not deprecated at the REST layer: api.dexpaprika.com itself takes sort, so use this name when calling the REST API directly.
limitNoOPTIONAL: Number of items per page (default: 10, max: 100)
cursorNoOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page (read `has_next_page` to know if more remain). Replaces the old page number.
addressNoREMOVED alias for paired_token_address. No longer supported by the API; supplying it returns an error.
networkYesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
reorderNoREMOVED alias for inversed. No longer supported by the API; supplying true returns an error.
sort_byNoOPTIONAL: Sort field. Canonical parameter name. Defaults to 'volume_usd_24h'. Prefer the canonical *_24h names; short legacy names (volume_usd, transactions, last_price_change_usd_24h) are still accepted. The REST API calls this parameter order_by.
inversedNoREMOVED: the pair-perspective flip is no longer supported by the API; the pools/search replacement returns pool-perspective metrics only. Supplying true returns an error. For a single pool, getPoolDetails with inversed=true still flips the perspective.
order_byNoOPTIONAL: alias of sort_by; both are accepted. Not deprecated at the REST layer: api.dexpaprika.com itself takes order_by, so use this name when calling the REST API directly.
sort_dirNoOPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided. The REST API calls this parameter sort.
rationaleYesREQUIRED. 1-2 sentence rationale for this call (e.g. "User asked for X; calling Y to fetch Z"). Logged for MCP improvement, never shown to end users. No PII or secrets. See the server `instructions` field for the full convention and worked examples.
token_addressYesREQUIRED: Token contract address
paired_token_addressNoREMOVED: the second-token pair filter is no longer supported by the API. Supplying it returns an error. Filter client-side on each result's tokens[] instead.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoEcho of the resolved query and filters the API applied.
resultsYes
next_cursorNoOpaque pagination cursor. Pass back as the `cursor` argument to fetch the next page; null/absent on the last page.
has_next_pageNoTrue if more results are available; fetch them by passing next_cursor as `cursor`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / order_by / enum
      Previous value: -[
      -  "volume_usd_24h",
      -  "volume_usd_7d",
      -  "volume_usd_30d",
      -  "liquidity_usd",
      -  "txns_24h",
      -  "created_at",
      -  "price_usd",
      -  "price_change_percentage_24h",
      -  "volume_usd",
      -  "transactions",
      -  "last_price_change_usd_24h",
      -  "volume_24h",
      -  "volume_7d",
      -  "volume_30d",
      -  "liquidity"
      -]New value: +[
      +  "volume_usd_24h",
      +  "volume_usd_7d",
      +  "volume_usd_30d",
      +  "liquidity_usd",
      +  "txns_24h",
      +  "created_at",
      +  "price_usd",
      +  "price_change_percentage_24h",
      +  "price_change_percentage_6h",
      +  "price_change_percentage_1h",
      +  "price_change_percentage_5m",
      +  "volume_usd",
      +  "transactions",
      +  "last_price_change_usd_24h",
      +  "volume_24h",
      +  "volume_7d",
      +  "volume_30d",
      +  "liquidity"
      +]
    • changedInput schema / properties / sort_by / enum
      Previous value: -[
      -  "volume_usd_24h",
      -  "volume_usd_7d",
      -  "volume_usd_30d",
      -  "liquidity_usd",
      -  "txns_24h",
      -  "created_at",
      -  "price_usd",
      -  "price_change_percentage_24h",
      -  "volume_usd",
      -  "transactions",
      -  "last_price_change_usd_24h",
      -  "volume_24h",
      -  "volume_7d",
      -  "volume_30d",
      -  "liquidity"
      -]New value: +[
      +  "volume_usd_24h",
      +  "volume_usd_7d",
      +  "volume_usd_30d",
      +  "liquidity_usd",
      +  "txns_24h",
      +  "created_at",
      +  "price_usd",
      +  "price_change_percentage_24h",
      +  "price_change_percentage_6h",
      +  "price_change_percentage_1h",
      +  "price_change_percentage_5m",
      +  "volume_usd",
      +  "transactions",
      +  "last_price_change_usd_24h",
      +  "volume_24h",
      +  "volume_7d",
      +  "volume_30d",
      +  "liquidity"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "has_next_page": {
      +      "description": "True if more results are available; fetch them by passing next_cursor as `cursor`.",
      +      "type": "boolean"
      +    },
      +    "next_cursor": {
      +      "description": "Opaque pagination cursor. Pass back as the `cursor` argument to fetch the next page; null/absent on the last page.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "query": {
      +      "additionalProperties": {},
      +      "description": "Echo of the resolved query and filters the API applied.",
      +      "type": "object"
      +    },
      +    "results": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "chain": {
      +            "description": "Network slug (e.g. 'ethereum'). Note: also exposed as 'network' on some endpoints.",
      +            "type": "string"
      +          },
      +          "created_at": {
      +            "description": "ISO 8601 pool-creation timestamp.",
      +            "type": "string"
      +          },
      +          "created_at_block_number": {
      +            "type": "number"
      +          },
      +          "dex_id": {
      +            "type": "string"
      +          },
      +          "dex_name": {
      +            "type": "string"
      +          },
      +          "fee": {
      +            "description": "Pool fee (units depend on DEX; null for some DEXes).",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "Pool contract address.",
      +            "type": "string"
      +          },
      +          "last_price": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "last_price_usd": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "tokens": {
      +            "items": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "added_at": {
      +                  "description": "ISO 8601 timestamp when DexPaprika first indexed this token.",
      +                  "type": "string"
      +                },
      +                "chain": {
      +                  "type": "string"
      +                },
      +                "decimals": {
      +                  "type": "number"
      +                },
      +                "fdv": {
      +                  "description": "Fully-diluted valuation in USD.",
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "id": {
      +                  "description": "Token contract address (chain-canonical form).",
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "symbol": {
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "results"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / order_by / enum
      Previous value: -[
      -  "volume_usd_24h",
      -  "volume_usd_7d",
      -  "volume_usd_30d",
      -  "liquidity_usd",
      -  "txns_24h",
      -  "created_at",
      -  "price_usd",
      -  "price_change_percentage_24h",
      -  "price_change_percentage_6h",
      -  "price_change_percentage_1h",
      -  "price_change_percentage_5m",
      -  "volume_usd",
      -  "transactions",
      -  "last_price_change_usd_24h",
      -  "volume_24h",
      -  "volume_7d",
      -  "volume_30d",
      -  "liquidity"
      -]New value: +[
      +  "volume_usd_24h",
      +  "volume_usd_7d",
      +  "volume_usd_30d",
      +  "liquidity_usd",
      +  "txns_24h",
      +  "created_at",
      +  "price_usd",
      +  "price_change_percentage_24h",
      +  "volume_usd",
      +  "transactions",
      +  "last_price_change_usd_24h",
      +  "volume_24h",
      +  "volume_7d",
      +  "volume_30d",
      +  "liquidity"
      +]
    • changedInput schema / properties / sort_by / enum
      Previous value: -[
      -  "volume_usd_24h",
      -  "volume_usd_7d",
      -  "volume_usd_30d",
      -  "liquidity_usd",
      -  "txns_24h",
      -  "created_at",
      -  "price_usd",
      -  "price_change_percentage_24h",
      -  "price_change_percentage_6h",
      -  "price_change_percentage_1h",
      -  "price_change_percentage_5m",
      -  "volume_usd",
      -  "transactions",
      -  "last_price_change_usd_24h",
      -  "volume_24h",
      -  "volume_7d",
      -  "volume_30d",
      -  "liquidity"
      -]New value: +[
      +  "volume_usd_24h",
      +  "volume_usd_7d",
      +  "volume_usd_30d",
      +  "liquidity_usd",
      +  "txns_24h",
      +  "created_at",
      +  "price_usd",
      +  "price_change_percentage_24h",
      +  "volume_usd",
      +  "transactions",
      +  "last_price_change_usd_24h",
      +  "volume_24h",
      +  "volume_7d",
      +  "volume_30d",
      +  "liquidity"
      +]
  3. Changed2 schema fields changed
    • changedInput schema / properties / order_by / enum
      Previous value: -[
      -  "volume_usd_24h",
      -  "volume_usd_7d",
      -  "volume_usd_30d",
      -  "liquidity_usd",
      -  "txns_24h",
      -  "created_at",
      -  "price_usd",
      -  "price_change_percentage_24h",
      -  "volume_usd",
      -  "transactions",
      -  "last_price_change_usd_24h",
      -  "volume_24h",
      -  "volume_7d",
      -  "volume_30d",
      -  "liquidity"
      -]New value: +[
      +  "volume_usd_24h",
      +  "volume_usd_7d",
      +  "volume_usd_30d",
      +  "liquidity_usd",
      +  "txns_24h",
      +  "created_at",
      +  "price_usd",
      +  "price_change_percentage_24h",
      +  "price_change_percentage_6h",
      +  "price_change_percentage_1h",
      +  "price_change_percentage_5m",
      +  "volume_usd",
      +  "transactions",
      +  "last_price_change_usd_24h",
      +  "volume_24h",
      +  "volume_7d",
      +  "volume_30d",
      +  "liquidity"
      +]
    • changedInput schema / properties / sort_by / enum
      Previous value: -[
      -  "volume_usd_24h",
      -  "volume_usd_7d",
      -  "volume_usd_30d",
      -  "liquidity_usd",
      -  "txns_24h",
      -  "created_at",
      -  "price_usd",
      -  "price_change_percentage_24h",
      -  "volume_usd",
      -  "transactions",
      -  "last_price_change_usd_24h",
      -  "volume_24h",
      -  "volume_7d",
      -  "volume_30d",
      -  "liquidity"
      -]New value: +[
      +  "volume_usd_24h",
      +  "volume_usd_7d",
      +  "volume_usd_30d",
      +  "liquidity_usd",
      +  "txns_24h",
      +  "created_at",
      +  "price_usd",
      +  "price_change_percentage_24h",
      +  "price_change_percentage_6h",
      +  "price_change_percentage_1h",
      +  "price_change_percentage_5m",
      +  "volume_usd",
      +  "transactions",
      +  "last_price_change_usd_24h",
      +  "volume_24h",
      +  "volume_7d",
      +  "volume_30d",
      +  "liquidity"
      +]
  4. Changed4 schema fields changed
    • changedInput schema / properties / order_by / description
      Previous value: -"DEPRECATED alias for sort_by. Both accepted; prefer sort_by going forward."New value: +"OPTIONAL: alias of sort_by; both are accepted. Not deprecated at the REST layer: api.dexpaprika.com itself takes order_by, so use this name when calling the REST API directly."
    • changedInput schema / properties / sort / description
      Previous value: -"DEPRECATED alias for sort_dir. Both accepted; prefer sort_dir going forward."New value: +"OPTIONAL: alias of sort_dir; both are accepted. Not deprecated at the REST layer: api.dexpaprika.com itself takes sort, so use this name when calling the REST API directly."
    • changedInput schema / properties / sort_by / description
      Previous value: -"OPTIONAL: Sort field. Canonical parameter name. Defaults to 'volume_usd_24h'. Prefer the canonical *_24h names; short legacy names (volume_usd, transactions, last_price_change_usd_24h) are still accepted."New value: +"OPTIONAL: Sort field. Canonical parameter name. Defaults to 'volume_usd_24h'. Prefer the canonical *_24h names; short legacy names (volume_usd, transactions, last_price_change_usd_24h) are still accepted. The REST API calls this parameter order_by."
    • changedInput schema / properties / sort_dir / description
      Previous value: -"OPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided."New value: +"OPTIONAL: Sort direction (asc/desc). Canonical parameter name. Defaults to 'desc' if neither sort_dir nor sort is provided. The REST API calls this parameter sort."
  5. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, open-world, and non-destructive hints. The description adds useful behavioral context beyond those hints: keyless access, network-scoped behavior, unknown addresses returning empty results rather than errors, and unsupported parameters causing errors. This materially helps the agent predict outcomes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description front-loads the core purpose, then gives examples, behavior caveats, and a compact parameter summary. Each sentence carries useful information, and the parameter overview is a helpful condensation rather than redundant padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 13 parameters and rich schema, the description covers the essential runtime facts: pagination shape, network scoping, unknown-address behavior, aliases, defaults, and unsupported parameters. The output schema handles detailed return-value documentation, so nothing critical is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by summarizing required parameters, defaults, aliases, cursor pagination, and which removed aliases will error. It does not repeat every enum or schema detail, but the prose gives a quick mental model that complements the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get the liquidity pools that contain a specific token on one network'. It also names the response shape ('results', 'has_next_page', 'next_cursor') and gives concrete natural-language queries ('which pools hold WETH on ethereum?'). This clearly distinguishes the tool from token-price tools and network-discovery tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use examples, tells the agent to run search first if the network is uncertain, explains the empty-result behavior for unknown addresses, and directs price lookups to getTokenDetails. This is actionable selection guidance beyond a bare capability statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources