Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

DexPaprika

REMOTE · MCP.DEXPAPRIKA.COM · 2 COMPONENTS · SCANNED SEP 21

DEX and on-chain data: liquidity pools, token prices, swaps, and trading volume.

0 this week 77 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security74
Transport & Reachability40
Schema Quality & AI Usability63
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 8402 tokens (~494/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the DexPaprika MCP server?

DexPaprika is a hosted endpoint at https://mcp.dexpaprika.com/sse, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.dexpaprika.com

# add to Claude Code
claude mcp add --transport http com-dexpaprika-dexpaprika 'https://mcp.dexpaprika.com/sse'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-dexpaprika-dexpaprika": {
      "url": "https://mcp.dexpaprika.com/sse"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-dexpaprika-dexpaprika": {
      "type": "http",
      "url": "https://mcp.dexpaprika.com/sse"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-dexpaprika-dexpaprika]
url = "https://mcp.dexpaprika.com/sse"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-dexpaprika-dexpaprika": {
      "type": "remote",
      "url": "https://mcp.dexpaprika.com/sse",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-dexpaprika-dexpaprika --url 'https://mcp.dexpaprika.com/sse' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-dexpaprika-dexpaprika:
    url: "https://mcp.dexpaprika.com/sse"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-dexpaprika-dexpaprika": {
      "Transport": "http",
      "Url": "https://mcp.dexpaprika.com/sse"
    }
  }
}
# add to Vellum
assistant mcp add com-dexpaprika-dexpaprika -t streamable-http -u 'https://mcp.dexpaprika.com/sse'
// mcp.json
{
  "mcpServers": {
    "com-dexpaprika-dexpaprika": {
      "type": "http",
      "url": "https://mcp.dexpaprika.com/sse"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Sept 26 0
    • Server version: 2.5.0 → 2.5.1 functional
  • 3 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “filterNetworkTokens” rewrote its description, which is the text the model reads security
    • Tool “getNetworkPoolsFilter” rewrote its description, which is the text the model reads security
    • Tool “filterNetworkTokens” now declares an output schema functional
    • Tool “getCapabilities” now declares an output schema functional
    • Tool “getDexPools” now declares an output schema functional
    • Tool “getNetworkDexes” now declares an output schema functional
    • Tool “getNetworkPools” now declares an output schema functional
    • Tool “getNetworkPoolsFilter” now declares an output schema functional
    • Tool “getNetworks” now declares an output schema functional
    • Tool “getPoolDetails” now declares an output schema functional
    • Tool “getPoolOHLCV” now declares an output schema functional
    • Tool “getPoolTransactions” now declares an output schema functional
    • Tool “getStats” now declares an output schema functional
    • Tool “getTokenDetails” now declares an output schema functional
    • Tool “getTokenMultiPrices” now declares an output schema functional
    • Tool “getTokenPools” now declares an output schema functional
    • Tool “getTopTokens” now declares an output schema functional
    • Tool “search” now declares an output schema functional
    • Tool “submitFeedback” now declares an output schema functional
    • First check of Tool coverage: 100 functional
    • Server version: 2.4.0 → 2.5.0 functional
    • “getNetworkPoolsFilter” added an optional parameter “price_change_percentage_5m_min” cosmetic
    • “filterNetworkTokens” added an optional parameter “price_change_percentage_24h_max” cosmetic
    • “filterNetworkTokens” added an optional parameter “price_change_percentage_24h_min” cosmetic
    • “getNetworkPoolsFilter” added an optional parameter “price_change_percentage_1h_max” cosmetic
    • “getNetworkPoolsFilter” added an optional parameter “price_change_percentage_1h_min” cosmetic
    • “getNetworkPoolsFilter” added an optional parameter “price_change_percentage_24h_max” cosmetic
    • “getNetworkPoolsFilter” added an optional parameter “price_change_percentage_24h_min” cosmetic
    • “getNetworkPoolsFilter” added an optional parameter “price_change_percentage_5m_max” cosmetic
    • “getNetworkPoolsFilter” added an optional parameter “price_change_percentage_6h_max” cosmetic
    • “getNetworkPoolsFilter” added an optional parameter “price_change_percentage_6h_min” cosmetic
    • “getPoolTransactions” reworded the description of “from” cosmetic
  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 24 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Aug 26 0
    • Server version: 2.3.2 → 2.4.0 functional
  • 14 Aug 26 0
    • Tool “getNetworkPoolsFilter” rewrote its description, which is the text the model reads security
    • Tool “filterNetworkTokens” rewrote its description, which is the text the model reads security
    • “filterNetworkTokens” dropped the optional parameter “price_change_percentage_24h_min” cosmetic
    • “getNetworkPoolsFilter” dropped the optional parameter “price_change_percentage_6h_max” cosmetic
    • “getNetworkPoolsFilter” dropped the optional parameter “price_change_percentage_6h_min” cosmetic
    • “getNetworkPoolsFilter” dropped the optional parameter “price_change_percentage_1h_max” cosmetic
    • “getNetworkPoolsFilter” dropped the optional parameter “price_change_percentage_1h_min” cosmetic
    • “getNetworkPoolsFilter” dropped the optional parameter “price_change_percentage_24h_max” cosmetic
    • “getNetworkPoolsFilter” dropped the optional parameter “price_change_percentage_24h_min” cosmetic
    • “getNetworkPoolsFilter” dropped the optional parameter “price_change_percentage_5m_max” cosmetic
    • “getNetworkPoolsFilter” dropped the optional parameter “price_change_percentage_5m_min” cosmetic
    • “filterNetworkTokens” dropped the optional parameter “price_change_percentage_24h_max” cosmetic
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://mcp.dexpaprika.com/sse

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=dexpaprika.com CN=WE1,O=Google Trust Services,C=US 17 Sept 2026 16 Dec 2026 ECDSA 256 ECDSA-SHA256 3d35df3c8b0f54710e56176266f3c02c
SANs: dexpaprika.com, mcp.dexpaprika.com, *.mcp.dexpaprika.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.dexpaprika.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
dexpaprika.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 404

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
sse https://mcp.dexpaprika.com/sse Verified 200
http (plaintext) http://mcp.dexpaprika.com/sse HTTPS enforced 301 https://mcp.dexpaprika.com/sse
MCP tools · 17 exposed · ~7,634 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
filterNetworkTokens ~747

Get tokens on one network matching numeric thresholds, returned under 'results' with has_next_page and next_cursor. Read-only and keyless. Choose this over getTopTokens when the user gives numeric constraints or a time window. Use for 'tokens with FDV over $10M on Base', 'newly created tokens today', or 'low-liquidity high-volume tokens'. Optional filters (AND-combined): volume_24h_min/max, liquidity_usd_min/max, fdv_min/max, txns_24h_min, price_change_percentage_24h_min/max, created_after/created_before (Unix timestamps). Also network (required); limit (default 50, max 100); cursor to page; sort_by (default 'volume_usd_24h', alias order_by); sort_dir asc/desc (default 'desc', alias sort).

NameTypeReqDescription
created_afternumberOPTIONAL: Only tokens created after this UNIX timestamp
created_beforenumberOPTIONAL: Only tokens created before this UNIX timestamp
cursorstringOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number.
fdv_maxnumberOPTIONAL: Maximum FDV in USD
fdv_minnumberOPTIONAL: Minimum FDV in USD
limitnumberOPTIONAL: Items per page (default: 50, max: 100)
liquidity_usd_maxnumberOPTIONAL: Maximum token liquidity in USD
liquidity_usd_minnumberOPTIONAL: Minimum token liquidity in USD
networkstringyesREQUIRED: Network ID from getNetworks
order_bystringOPTIONAL: 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.
price_change_percentage_24h_maxnumberOPTIONAL: Maximum 24h price change, in percent
price_change_percentage_24h_minnumberOPTIONAL: Minimum 24h price change, in percent. Negatives are allowed, so -20 finds tokens down at least 20%. This is the only price-change window tokens carry; for 6h, 1h or 5m use getNetworkPoolsFi…
rationalestringyesREQUIRED. 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`…
sortstringOPTIONAL: 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.
sort_bystringOPTIONAL: Sort field. Defaults to 'volume_usd_24h'. Prefer the canonical names; short legacy names are still accepted. The REST API calls this parameter order_by.
sort_dirstringOPTIONAL: 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.
txns_24h_minnumberOPTIONAL: Minimum transactions in 24h
volume_24h_maxnumberOPTIONAL: Maximum 24h volume in USD
volume_24h_minnumberOPTIONAL: Minimum 24h volume in USD
NameTypeReqDescription
has_next_pagebooleanTrue if more results are available; fetch them by passing next_cursor as `cursor`.
next_cursorstring|nullOpaque pagination cursor. Pass back as the `cursor` argument to fetch the next page; null/absent on the last page.
queryobjectEcho of the resolved query and filters the API applied.
resultsarrayyes

No examples provided.

getCapabilities ~198

Get the static agent onboarding guide for this server: supported workflows, network name synonyms (mapping words like 'eth' to the canonical slug 'ethereum'), recommended call sequences, and common pitfalls. Read-only and keyless. Read it once at the start of a session before your first query, or when asked 'how do I use this API?', 'what order should I call things in?', or 'which slug maps to eth?'. This returns onboarding docs, not live market data; for the actual list of network slugs use getNetworks, and for coverage totals use getStats. Takes no parameters beyond a short rationale.

NameTypeReqDescription
rationalestringyesREQUIRED. 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`…
NameTypeReqDescription
agent_skillsstringyes
common_pitfallsarrayyesKnown edge cases agents should be aware of.
documentationstringyes
network_synonymsobjectyesCanonical network id -> common alternates an agent might try.
serverobjectyes
statsobjectyes
workflowsobjectyesNamed tool sequences for common agent tasks.

No examples provided.

getDexPools ~854

Get the pools belonging to one specific DEX on one network, e.g. all Uniswap v3 pools on ethereum, returned under 'results' with has_next_page and next_cursor. Read-only and keyless. Proxies /networks/{network}/pools/search with a dex_name filter; the old /networks/{network}/dexes/{dex}/pools endpoint was removed, so the 24h volume field is now volume_usd_24h and there is no page_info. Narrower than getNetworkPools (a single exchange, not the whole chain). Use for 'show me Raydium pools', 'top pairs on PancakeSwap', or 'liquidity on Orca'. Get the dex id from getNetworkDexes or search first, and pass that response's dex_id field ('uniswap_v3'), matched case-insensitively. Do not pass its dex_name field ('Uniswap V3'): a human display name returns HTTP 200 with an empty results[] rather than an error, so an empty answer here usually means the wrong form of the name was sent. Params: network (required slug); dex (required id, e.g. 'uniswap_v3'; the REST API calls this query parameter dex_name); limit (default 10, max 100); cursor (pass the previous next_cursor to page); sort_by (default 'volume_usd_24h', canonical *_24h fields, short legacy names still accepted, alias order_by); sort_dir 'asc'/'desc' (default 'desc', alias sort). The old page number is superseded: page 2 and above return an error pointing at cursor.

NameTypeReqDescription
cursorstringOPTIONAL: 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.
dexstringyesREQUIRED: the dex_id field from getNetworkDexes (e.g., 'uniswap_v3'), matched case-insensitively. Do not pass that response's dex_name field, the human display name (e.g., 'Uniswap V3'): it returns a…
limitnumberOPTIONAL: Number of items per page (default: 10, max: 100)
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
order_bystringOPTIONAL: 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.
pagenumberSUPERSEDED: the replacement endpoint is cursor-paginated and ignores page. page=1 (or 0) still returns the first page as before; page=2 or above returns an error telling you to use cursor.
rationalestringyesREQUIRED. 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`…
sortstringOPTIONAL: 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.
sort_bystringOPTIONAL: 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 acce…
sort_dirstringOPTIONAL: 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.
NameTypeReqDescription
has_next_pagebooleanTrue if more results are available; fetch them by passing next_cursor as `cursor`.
next_cursorstring|nullOpaque pagination cursor. Pass back as the `cursor` argument to fetch the next page; null/absent on the last page.
queryobjectEcho of the resolved query and filters the API applied.
resultsarrayyes

No examples provided.

getNetworkDexes ~475

List the DEXes (exchanges) operating on one network, such as Uniswap on ethereum or Raydium on solana, returned under 'dexes' with page_info (page, total_pages). Read-only and keyless. Use for 'which DEXes are on Base?', 'does Solana have Orca?', or to get a dex id to feed into getDexPools. Scope is a single network; call getNetworks first for the slug. Params: network (required slug); limit (default 10, max 100); page (default 1, 1-indexed); sort_by (only 'pool'; legacy alias order_by); sort_dir 'asc' or 'desc' (default 'desc'; legacy alias sort).

NameTypeReqDescription
limitnumberOPTIONAL: Number of items per page (default: 10, max: 100)
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
order_bystringOPTIONAL: 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.
pagenumberOPTIONAL: Page number, 1-indexed. Server accepts page=0 (treated as page=1) for backward compatibility.
rationalestringyesREQUIRED. 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`…
sortstringOPTIONAL: 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.
sort_bystringOPTIONAL: Sort field. Canonical parameter name; older tools used order_by. The REST API calls this parameter order_by.
sort_dirstringOPTIONAL: 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.
NameTypeReqDescription
dexesarrayyes
page_infoobjectyes

No examples provided.

getNetworkPools ~527

Get the top liquidity pools across a whole network, ranked by 24h volume by default, returned under 'results' with has_next_page and next_cursor. Read-only and keyless. This is the primary chain-wide pool discovery tool. Use for 'biggest pools on ethereum', 'top trading pairs on Base', or 'most active pools on Solana'. Narrow to one exchange with getDexPools, or apply numeric/time filters with getNetworkPoolsFilter. Params: network (required slug); limit (default 10, max 100); cursor (pass previous next_cursor to page); sort_by (default 'volume_usd_24h', canonical *_24h fields, alias order_by); sort_dir 'asc' or 'desc' (default 'desc', alias sort).

NameTypeReqDescription
cursorstringOPTIONAL: 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.
limitnumberOPTIONAL: Number of items per page (default: 10, max: 100)
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
order_bystringOPTIONAL: 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.
rationalestringyesREQUIRED. 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`…
sortstringOPTIONAL: 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.
sort_bystringOPTIONAL: 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 acce…
sort_dirstringOPTIONAL: 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.
NameTypeReqDescription
has_next_pagebooleanTrue if more results are available; fetch them by passing next_cursor as `cursor`.
next_cursorstring|nullOpaque pagination cursor. Pass back as the `cursor` argument to fetch the next page; null/absent on the last page.
queryobjectEcho of the resolved query and filters the API applied.
resultsarrayyes

No examples provided.

getNetworkPoolsFilter ~946

Get pools on one network filtered by numeric thresholds, returned under 'results' with has_next_page and next_cursor. Read-only and keyless. Choose this over getNetworkPools when the user gives numeric constraints or a time window. Use for 'pools over $1M liquidity on Base', 'pools created in the last 24h', or 'high-volume low-liquidity pairs'. Optional filters (AND-combined): volume_24h_min/max, volume_7d_min/max, liquidity_usd_min/max, txns_24h_min, price_change_percentage_{24h,6h,1h,5m}_min/max (percent, negatives allowed), created_after/created_before (Unix timestamps). Also network (required); limit (default 50, max 100); cursor to page; sort_by (default 'volume_usd_24h', alias order_by); sort_dir asc/desc (default 'desc', alias sort).

NameTypeReqDescription
created_afternumberOPTIONAL: Only pools created after this UNIX timestamp
created_beforenumberOPTIONAL: Only pools created before this UNIX timestamp
cursorstringOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number.
limitnumberOPTIONAL: Items per page (default: 50, max: 100)
liquidity_usd_maxnumberOPTIONAL: Maximum pool liquidity in USD
liquidity_usd_minnumberOPTIONAL: Minimum pool liquidity in USD
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
order_bystringOPTIONAL: 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.
price_change_percentage_1h_maxnumberOPTIONAL: Maximum 1h price change, in percent
price_change_percentage_1h_minnumberOPTIONAL: Minimum 1h price change, in percent
price_change_percentage_24h_maxnumberOPTIONAL: Maximum 24h price change, in percent
price_change_percentage_24h_minnumberOPTIONAL: Minimum 24h price change, in percent. Negatives are allowed, so -20 finds pools down at least 20%.
price_change_percentage_5m_maxnumberOPTIONAL: Maximum 5m price change, in percent
price_change_percentage_5m_minnumberOPTIONAL: Minimum 5m price change, in percent. The shortest window we carry, so it is the one to reach for on 'what is moving right now'.
price_change_percentage_6h_maxnumberOPTIONAL: Maximum 6h price change, in percent
price_change_percentage_6h_minnumberOPTIONAL: Minimum 6h price change, in percent
rationalestringyesREQUIRED. 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`…
sortstringOPTIONAL: 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.
sort_bystringOPTIONAL: Sort field. Canonical parameter name. Defaults to 'volume_usd_24h'. Prefer the canonical *_24h names; short legacy names (volume_24h, volume_7d, liquidity) are still accepted. The REST API…
sort_dirstringOPTIONAL: 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.
txns_24h_minnumberOPTIONAL: Minimum transactions in 24h
volume_24h_maxnumberOPTIONAL: Maximum 24h volume in USD
volume_24h_minnumberOPTIONAL: Minimum 24h volume in USD
volume_7d_maxnumberOPTIONAL: Maximum 7d volume in USD
volume_7d_minnumberOPTIONAL: Minimum 7d volume in USD
NameTypeReqDescription
has_next_pagebooleanTrue if more results are available; fetch them by passing next_cursor as `cursor`.
next_cursorstring|nullOpaque pagination cursor. Pass back as the `cursor` argument to fetch the next page; null/absent on the last page.
queryobjectEcho of the resolved query and filters the API applied.
resultsarrayyes

No examples provided.

getNetworks ~197

List every blockchain network DexPaprika indexes, each row carrying its network id (slug), 24h volume, transaction count, and pool count. Read-only and keyless. Start here (or getCapabilities) to get the exact network slug that nearly every other tool requires as its 'network' argument. Use for 'which chains do you support?', 'is Base/Solana/Arbitrum covered?', or 'what is the slug for Polygon?'. Returns the full array with no pagination or sorting; takes no parameters beyond a short rationale. For platform-wide totals rather than a per-network list use getStats.

NameTypeReqDescription
rationalestringyesREQUIRED. 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`…
NameTypeReqDescription
networksarrayyesAll supported blockchain networks with current 24h volume + indexing stats.

No examples provided.

getPoolDetails ~335

Get the full current snapshot for one pool by address: its two tokens, current price, liquidity/TVL, 24h volume, and transaction counts, returned as a single pool object (not a list). Read-only and keyless. Use after search or getNetworkPools surfaces a pool, or for 'price/TVL of this pool?' or 'details for pool 0x...'. Returns live values only; for historical candles use getPoolOHLCV, and for the raw swap feed use getPoolTransactions. Params: network (required slug); pool_address (required, e.g. '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640'); inversed (optional bool, default false, flips the token price ratio to token1/token0).

NameTypeReqDescription
inversedbooleanOPTIONAL: Whether to invert the price ratio (default: false)
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
pool_addressstringyesREQUIRED: Pool address or identifier (e.g., '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640')
rationalestringyesREQUIRED. 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`…
NameTypeReqDescription
chainstring
created_atstring
created_at_block_numbernumber
dex_idstring
dex_namestring
factory_idstring
feenumber|null
idstring
last_pricenumber|null
last_price_usdnumber|null
price_stats
price_timestring
token_reservesarray
tokensarray

No examples provided.

getPoolOHLCV ~440

Get historical OHLCV candles (open, high, low, close, volume) for one pool over a time range, returned as a time-series array. Read-only and keyless. Use for 'price history of this pair', 'hourly chart for the last week', 'candles since Jan 1', or backtesting; for the single current price use getPoolDetails instead. Params: network (required); pool_address (required); start (required; Unix timestamp, RFC3339, or yyyy-mm-dd); end (optional, capped to 1 year after start); interval one of '1m','5m','10m','15m','30m','1h','6h','12h','24h' (default '24h'); limit (default 100, max 366 candles); inversed (optional bool, default false).

NameTypeReqDescription
endstringOPTIONAL: End time for historical data (max 1 year from start)
intervalstringOPTIONAL: Interval granularity (default: '24h')
inversedbooleanOPTIONAL: Whether to invert the price ratio for alternative pair perspective (default: false)
limitnumberOPTIONAL: Number of OHLCV data points to retrieve (default: 100, max: 366). One row per `interval`.
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
pool_addressstringyesREQUIRED: Pool address or identifier
rationalestringyesREQUIRED. 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`…
startstringyesREQUIRED: Start time. RFC3339 recommended (e.g. '2024-01-01T00:00:00Z'). Also accepts Unix epoch seconds and YYYY-MM-DD (treated as 00:00:00 UTC).
NameTypeReqDescription
ohlcvarrayyesOpen-High-Low-Close-Volume rows ordered by time_open ascending.

No examples provided.

getPoolTransactions ~425

Get one pool's recent individual swap transactions, newest first, returned under 'transactions' (paginate with page, or a cursor). Read-only and keyless. These are per-trade records, not aggregated candles (use getPoolOHLCV) or a summary snapshot (use getPoolDetails). Use for 'recent trades on this pool', 'who swapped in the last hour', or 'raw transaction feed'. Params: network (required); pool_address (required); limit (default 10, max 100); page (default 1, up to 100 pages) or cursor (a transaction id); from (optional Unix seconds, inclusive, capped to the last 7 days); to (optional Unix seconds, exclusive, must be after from).

NameTypeReqDescription
cursorstringOPTIONAL: Transaction ID used for cursor-based pagination
fromnumberOPTIONAL: Start of time-range filter, Unix epoch SECONDS (inclusive). Window is capped to last 7 days. Note: getPoolOHLCV uses `start` (string) for the same concept; getPoolTransactions uses numeric…
limitnumberOPTIONAL: Number of items per page (default: 10, max: 100)
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
pagenumberOPTIONAL: Page number, 1-indexed. Up to 100 pages. Server accepts page=0 (treated as page=1) for backward compatibility.
pool_addressstringyesREQUIRED: Pool address or identifier
rationalestringyesREQUIRED. 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`…
tonumberOPTIONAL: Filter transactions up to this UNIX timestamp (exclusive). Must be after 'from'.
NameTypeReqDescription
page_infoobjectyes
transactionsarrayyes

No examples provided.

getStats ~170

Get platform-wide totals for DexPaprika: the number of networks, DEXes, pools, and tokens indexed, returned as a single summary object. Read-only and keyless. Use for 'how much data do you cover?', 'how many chains or pools total?', or a one-line coverage summary. These are ecosystem-wide counts, not per-network figures; use getNetworks for the per-chain breakdown, or getCapabilities for onboarding docs. Takes no parameters beyond a short rationale.

NameTypeReqDescription
rationalestringyesREQUIRED. 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`…
NameTypeReqDescription
chainsnumberyesTotal chains indexed.
factoriesnumberyesTotal DEX factory contracts indexed.
poolsnumberyesTotal pools indexed across all chains.
tokensnumberyesTotal tokens indexed.

No examples provided.

getTokenDetails ~311

Get one token's data and metadata by contract address on one network: multi-timeframe price and volume metrics, plus name, website, Twitter, and Telegram links, returned as a single token object. Read-only and keyless. Use for 'price and volume for 0x... on Base' or 'tell me about this token'. If you only have a symbol like WETH, call search first to resolve the address and network. For many tokens' prices at once use getTokenMultiPrices; for the pools holding this token use getTokenPools. Params: network (required slug); token_address (required contract address, e.g. 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN' on solana).

NameTypeReqDescription
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
rationalestringyesREQUIRED. 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`…
token_addressstringyesREQUIRED: Token contract address (e.g., 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN' for Jupiter on Solana)
NameTypeReqDescription
added_atstring
chainstring
decimalsnumber
descriptionstring
has_imageboolean
idstring
namestring
price_stats
summary
symbolstring
total_supplynumber|stringRaw on-chain total supply. Big numbers may overflow JS Number; handle as string for tokens with 18+ decimals.
websitestring

No examples provided.

getTokenMultiPrices ~237

Get current USD prices for up to 10 tokens on the same network in one batched call, returned as a prices array plus a missing_tokens list. Read-only and keyless. Tokens that cannot be priced come back in missing_tokens rather than being dropped, so check that list for partial failures. Use for 'prices for these tokens', 'compare the price of X, Y and Z', or building a portfolio/dashboard snapshot. For one token with full metadata and multi-timeframe stats use getTokenDetails. Params: network (required slug, all tokens must share it); tokens (required array of 1 to 10 contract addresses).

NameTypeReqDescription
networkstringyesREQUIRED: Network ID from getNetworks
rationalestringyesREQUIRED. 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`…
tokensarrayyesREQUIRED: Up to 10 token contract addresses on the same network.
NameTypeReqDescription
missing_tokensarrayInput tokens that upstream could not price (invalid address, no liquidity, unknown contract). Empty array when all input tokens were resolved.
pricesarrayyesUSD prices for the requested tokens, in input order.

No examples provided.

getTokenPools ~694

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.

NameTypeReqDescription
addressstringREMOVED alias for paired_token_address. No longer supported by the API; supplying it returns an error.
cursorstringOPTIONAL: 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.
inversedbooleanREMOVED: 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, getPoolDe…
limitnumberOPTIONAL: Number of items per page (default: 10, max: 100)
networkstringyesREQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')
order_bystringOPTIONAL: 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.
paired_token_addressstringREMOVED: 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.
rationalestringyesREQUIRED. 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`…
reorderbooleanREMOVED alias for inversed. No longer supported by the API; supplying true returns an error.
sortstringOPTIONAL: 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.
sort_bystringOPTIONAL: 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 acce…
sort_dirstringOPTIONAL: 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.
token_addressstringyesREQUIRED: Token contract address
NameTypeReqDescription
has_next_pagebooleanTrue if more results are available; fetch them by passing next_cursor as `cursor`.
next_cursorstring|nullOpaque pagination cursor. Pass back as the `cursor` argument to fetch the next page; null/absent on the last page.
queryobjectEcho of the resolved query and filters the API applied.
resultsarrayyes

No examples provided.

getTopTokens ~520

Get the top tokens on one network ranked by volume, liquidity, transactions, FDV, or 24h price change, returned under 'results' with has_next_page and next_cursor. Read-only and keyless. Use for 'top gainers on Solana', 'highest-volume tokens on Base', or 'biggest tokens by FDV on ethereum'. For arbitrary numeric filters or a time window use filterNetworkTokens instead. Params: network (required slug); limit (default 50, max 100); cursor (pass previous next_cursor to page); sort_by (default 'volume_usd_24h', alias order_by), noting that ranking by raw price is unsupported and silently falls back to volume; sort_dir asc/desc (default 'desc', alias sort).

NameTypeReqDescription
cursorstringOPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number.
limitnumberOPTIONAL: Items per page (default: 50, max: 100)
networkstringyesREQUIRED: Network ID from getNetworks
order_bystringOPTIONAL: 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.
rationalestringyesREQUIRED. 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`…
sortstringOPTIONAL: 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.
sort_bystringOPTIONAL: Ranking field. Defaults to 'volume_usd_24h'. Prefer the canonical names (volume_usd_24h, liquidity_usd, txns_24h, fdv_usd, price_change_percentage_24h); short legacy names are still accepte…
sort_dirstringOPTIONAL: 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.
NameTypeReqDescription
has_next_pagebooleanTrue if more results are available; fetch them by passing next_cursor as `cursor`.
next_cursorstring|nullOpaque pagination cursor. Pass back as the `cursor` argument to fetch the next page; null/absent on the last page.
queryobjectEcho of the resolved query and filters the API applied.
resultsarrayyes

No examples provided.

search ~309

Search across ALL networks at once for tokens, pools, and DEXes by name, symbol, or address, returning three arrays: 'tokens', 'pools', and 'dexes'. Read-only and keyless. This is the cross-chain entry point when you do not yet know which network something lives on; once you have a network slug from the results, switch to the network-scoped tools. Use for 'find PEPE', 'what is the address for USDC', or 'which chain is this token on?'. No matches returns empty arrays, not an error. Params: query (required; a name, symbol, or contract address, e.g. 'uniswap', 'bitcoin', or '0x...'); limit (optional, caps results per category, applied client-side).

NameTypeReqDescription
limitnumberOPTIONAL: Cap items returned per category (tokens, pools, dexes). Upstream returns all matches by default; this client-side slice keeps payloads small for agents. Applies independently to each catego…
querystringyesREQUIRED: Search term (e.g., 'uniswap', 'bitcoin', 'ethereum', or a token address).
rationalestringyesREQUIRED. 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`…
NameTypeReqDescription
dexesarrayyes
poolsarrayyes
tokensarrayyes

No examples provided.

submitFeedback ~249

Report a problem back to the DexPaprika team when a tool got you stuck, returned something unexpected, lacked data you needed, or behaved differently than documented. Use whenever you hit a dead end, a response shape surprised you, or coverage was missing; even partial feedback helps and every submission is read. Low friction: provide goal, expected, and observed instead of a rationale field.

NameTypeReqDescription
attempted_toolsarrayOPTIONAL: List of tool names you called, in order, before submitting this feedback.
blocked_atstringOPTIONAL: Tool name or step where you got stuck.
expectedstringOPTIONAL: What you expected to happen. Capped at 500 characters; trim or summarize longer narratives.
goalstringyesREQUIRED: What you (or the user behind you) were trying to accomplish. 10-500 characters; longer goals are validation-rejected at the MCP layer.
observedstringOPTIONAL: What actually happened. Capped at 500 characters; trim or summarize longer narratives. Longer text triggers an MCP -32602 input validation error.
severitystringOPTIONAL: How badly this affected your task. Default 'minor'.
NameTypeReqDescription
messagestringyes
okbooleanyesTrue if the feedback row was persisted.
severitystring
tracking_idstring|nullStable id agents can reference in follow-up submissions; null if persistence failed.

No examples provided.

Common questions

What is the DexPaprika MCP server?

DexPaprika is an MCP server listed in the public MCP registry as com.dexpaprika/dexpaprika. DEX and on-chain data: liquidity pools, token prices, swaps, and trading volume. This page covers its hosted endpoint (https://mcp.dexpaprika.com/sse).

Is the DexPaprika MCP server safe to use?

DexPaprika scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the DexPaprika MCP server expose?

DexPaprika exposes 17 tools: getNetworks, getNetworkDexes, getNetworkPools, getDexPools, getNetworkPoolsFilter, and 12 more. Their descriptions and schemas cost roughly 7,634 tokens of context every time the server is loaded.

Does the DexPaprika MCP server require authentication?

No. We connected to DexPaprika without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the DexPaprika MCP server still maintained?

DexPaprika is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.