DEX and on-chain data: liquidity pools, token prices, swaps, and trading volume.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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 (a relative offset such as '-24h', Unix seconds, RFC3339 or YYYY-MM-DD). 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).
REQUIRED: Network ID from getNetworks
REQUIRED. 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.
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.
OPTIONAL: Items per page (default: 50, max: 100)
OPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number.
OPTIONAL: Maximum FDV in USD
OPTIONAL: Minimum FDV in USD
OPTIONAL: 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.
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.
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.
OPTIONAL: Minimum transactions in 24h
OPTIONAL: Only tokens created at or after this time: a relative offset such as '-24h' or '-7d', Unix seconds, RFC3339 or YYYY-MM-DD
OPTIONAL: Only tokens created at or before this time, same formats as created_after (e.g. '-1h')
OPTIONAL: Maximum 24h volume in USD
OPTIONAL: Minimum 24h volume in USD
OPTIONAL: Maximum token liquidity in USD
OPTIONAL: Minimum token liquidity in USD
OPTIONAL: Maximum 24h price change, in percent
OPTIONAL: 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 getNetworkPoolsFilter.
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 (a relative offset such as '-24h', Unix seconds, RFC3339 or YYYY-MM-DD). 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).
| Argument | Type | Description |
|---|---|---|
| sort | string | 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. |
| limit | number | OPTIONAL: Items per page (default: 50, max: 100) |
| cursor | string | OPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number. |
| fdv_max | number | OPTIONAL: Maximum FDV in USD |
| fdv_min | number | OPTIONAL: Minimum FDV in USD |
| network* | string | REQUIRED: Network ID from getNetworks |
| sort_by | string | OPTIONAL: 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. |
| order_by | string | 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. |
| sort_dir | string | 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. |
| rationale* | string | REQUIRED. 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. |
| txns_24h_min | number | OPTIONAL: Minimum transactions in 24h |
| created_after | string | OPTIONAL: Only tokens created at or after this time: a relative offset such as '-24h' or '-7d', Unix seconds, RFC3339 or YYYY-MM-DD |
| created_before | string | OPTIONAL: Only tokens created at or before this time, same formats as created_after (e.g. '-1h') |
| volume_24h_max | number | OPTIONAL: Maximum 24h volume in USD |
| volume_24h_min | number | OPTIONAL: Minimum 24h volume in USD |
| liquidity_usd_max | number | OPTIONAL: Maximum token liquidity in USD |
| liquidity_usd_min | number | OPTIONAL: Minimum token liquidity in USD |
| price_change_percentage_24h_max | number | OPTIONAL: Maximum 24h price change, in percent |
| price_change_percentage_24h_min | number | OPTIONAL: 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 getNetworkPoolsFilter. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"rationale"
],
"properties": {
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"limit": {
"type": "number",
"default": 50,
"description": "OPTIONAL: Items per page (default: 50, max: 100)"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number."
},
"fdv_max": {
"type": "number",
"description": "OPTIONAL: Maximum FDV in USD"
},
"fdv_min": {
"type": "number",
"description": "OPTIONAL: Minimum FDV in USD"
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks"
},
"sort_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"fdv_usd",
"created_at",
"price_change_percentage_24h",
"volume_24h",
"volume_7d",
"volume_30d",
"txns",
"price_change",
"fdv",
"price_usd"
],
"type": "string",
"description": "OPTIONAL: 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."
},
"order_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"fdv_usd",
"created_at",
"price_change_percentage_24h",
"volume_24h",
"volume_7d",
"volume_30d",
"txns",
"price_change",
"fdv",
"price_usd"
],
"type": "string",
"description": "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."
},
"sort_dir": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
},
"txns_24h_min": {
"type": "number",
"description": "OPTIONAL: Minimum transactions in 24h"
},
"created_after": {
"type": "string",
"description": "OPTIONAL: Only tokens created at or after this time: a relative offset such as '-24h' or '-7d', Unix seconds, RFC3339 or YYYY-MM-DD"
},
"created_before": {
"type": "string",
"description": "OPTIONAL: Only tokens created at or before this time, same formats as created_after (e.g. '-1h')"
},
"volume_24h_max": {
"type": "number",
"description": "OPTIONAL: Maximum 24h volume in USD"
},
"volume_24h_min": {
"type": "number",
"description": "OPTIONAL: Minimum 24h volume in USD"
},
"liquidity_usd_max": {
"type": "number",
"description": "OPTIONAL: Maximum token liquidity in USD"
},
"liquidity_usd_min": {
"type": "number",
"description": "OPTIONAL: Minimum token liquidity in USD"
},
"price_change_percentage_24h_max": {
"type": "number",
"description": "OPTIONAL: Maximum 24h price change, in percent"
},
"price_change_percentage_24h_min": {
"type": "number",
"description": "OPTIONAL: 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 getNetworkPoolsFilter."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"rationale"
],
"properties": {
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| dex* | string | REQUIRED: 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 an empty results[] instead of an error, so a wrong value looks like a real but empty answer. The REST API calls this parameter dex_name. |
| page | number | SUPERSEDED: 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. |
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).
| Argument | Type | Description |
|---|---|---|
| page | number | OPTIONAL: Page number, 1-indexed. Server accepts page=0 (treated as page=1) for backward compatibility. |
| sort | string | 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. |
| limit | number | OPTIONAL: Number of items per page (default: 10, max: 100) |
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| sort_by | string | OPTIONAL: Sort field. Canonical parameter name; older tools used order_by. The REST API calls this parameter order_by. |
| order_by | string | 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. |
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).
| Argument | Type | Description |
|---|---|---|
| sort | string | 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. |
| limit | number | OPTIONAL: Number of items per page (default: 10, max: 100) |
| cursor | string | OPTIONAL: 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. |
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| sort_by | string | 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. |
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,48h,6h,1h,5m}_min/max (percent, negatives allowed), created_after/created_before (a relative offset such as '-24h', Unix seconds, RFC3339 or YYYY-MM-DD). 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).
| Argument | Type | Description |
|---|---|---|
| sort | string | 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. |
| limit | number | OPTIONAL: Items per page (default: 50, max: 100) |
| cursor | string | OPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number. |
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| sort_by | string | OPTIONAL: 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 calls this parameter order_by. |
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.
| Argument | Type | Description |
|---|---|---|
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"rationale"
],
"properties": {
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}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).
| Argument | Type | Description |
|---|---|---|
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| inversed | boolean | OPTIONAL: Whether to invert the price ratio (default: false) |
| rationale* | string | REQUIRED. 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. |
| pool_address* | string | REQUIRED: Pool address or identifier (e.g., '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640') |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"pool_address",
"rationale"
],
"properties": {
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"inversed": {
"type": "boolean",
"default": false,
"description": "OPTIONAL: Whether to invert the price ratio (default: false)"
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
},
"pool_address": {
"type": "string",
"description": "REQUIRED: Pool address or identifier (e.g., '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640')"
}
},
"additionalProperties": false
}Get a technical indicator (RSI, EMA, MACD, Bollinger Bands or VWAP) for one pool, computed server-side from the pool's completed OHLCV candles and returned as a time series. Read-only and keyless. Use for 'is this pool overbought?', 'RSI of this pair', 'MACD cross on the last candle', or as a ready-made signal input for a trading or screening agent, instead of fetching getPoolOHLCV and computing the indicator yourself. The indicator follows the pool's price as getPoolOHLCV reports it, with no inversed parameter. Values come oldest first, one per completed candle: rsi, ema and vwap return `value`; macd returns `macd`, `signal` and `histogram`; bbands returns `upper`, `middle` and `lower`. RSI over 70 is commonly read as overbought and under 30 as oversold; a MACD histogram that changes sign means MACD crossed its signal line. RSI, EMA and MACD are smoothed, so start at least ten periods before the first value you rely on. Params: network (required); pool_address (required); indicator (required): 'rsi', 'ema', 'macd', 'bbands' or 'vwap'; interval (pass it every time: '1m','5m','10m','15m','30m','1h','6h','12h','24h' or '1d'); start (optional; a relative offset such as '-24h' or '-7d', Unix seconds, RFC3339 or yyyy-mm-dd; without it you get the last `limit` values); end (optional, exclusive); limit (default 100, max 1000); cursor (next_cursor of the previous page, not with start); period for rsi (default 14), ema (20), bbands (20) and vwap (14); fast_period (12), slow_period (26) and signal_period (9) for macd only; std_dev (2) for bbands only. A parameter that belongs to another indicator is refused. This server computes them from what a free DexPaprika key gets: interval '10m' or longer and history within the last 7 days, so a start further back, a finer interval or a cursor runs on the caller's own Dev, Pro or Enterprise key when the connection carries one (the Authorization header, the key on its own) and otherwise returns DP403_PLAN_REQUIRED, and without start the page holds only the values that fit in those 7 days.
| Argument | Type | Description |
|---|---|---|
| end | string |
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; easiest as a relative offset from now such as '-24h' or '-7d', so you need not know today's date; also Unix seconds, RFC3339 or yyyy-mm-dd); end (optional); interval one of '1m','5m','10m','15m','30m','1h','6h','12h','24h' (default '24h'); limit (default 100, max 1000 candles); inversed (optional bool, default false). This server serves candles as a free DexPaprika key gets them: interval '10m' or longer, start and end within the last 7 days; outside that, it runs on the caller's own Dev, Pro or Enterprise key when the connection carries one (the Authorization header, the key on its own), and otherwise returns DP403_PLAN_REQUIRED and sends nothing upstream.
| Argument | Type | Description |
|---|---|---|
| end | string | OPTIONAL: End time for historical data, same formats as start (e.g. '-1h') |
| limit | number | OPTIONAL: Number of OHLCV data points to retrieve (default: 100, max: 1000). One row per `interval`. |
| start* | string | REQUIRED: Start time. A relative offset from now is simplest and needs no knowledge of today's date: '-24h' (last 24 hours), '-7d', '-90m' (units s, m, h, d). Also accepts RFC3339 (e.g. '2024-01-01T00:00:00Z'), Unix epoch seconds and YYYY-MM-DD (treated as 00:00:00 UTC). |
| network* |
Get one pool's recent individual swap transactions, newest first, returned under 'transactions' (paginate with page, or a cursor). Read-only. Runs on the caller's own Dev, Pro or Enterprise API key, set as the Authorization header on the connection to this server; without one it returns DP401_API_KEY_REQUIRED and sends nothing upstream, and a free key gets 403. In either case getPoolDetails still gives the pool's 24h transaction counts and volume. 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, inclusive: a relative offset such as '-1h', Unix seconds, RFC3339 or YYYY-MM-DD; capped to the last 7 days); to (optional, exclusive, same formats, must be after from).
| Argument | Type | Description |
|---|---|---|
| to | string | OPTIONAL: Filter transactions up to this time (exclusive), same formats as from. Must be after 'from'. |
| from | string | OPTIONAL: Filter transactions starting from this time (inclusive): a relative offset such as '-1h' or '-24h', Unix seconds, RFC3339 or YYYY-MM-DD. Results always capped to last 7 days. |
| page | number | OPTIONAL: Page number, 1-indexed. Up to 100 pages. Server accepts page=0 (treated as page=1) for backward compatibility. |
| limit | number | OPTIONAL: Number of items per page (default: 10, max: 100) |
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.
| Argument | Type | Description |
|---|---|---|
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"rationale"
],
"properties": {
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}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).
| Argument | Type | Description |
|---|---|---|
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| rationale* | string | REQUIRED. 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_address* | string | REQUIRED: Token contract address (e.g., 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN' for Jupiter on Solana) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"token_address",
"rationale"
],
"properties": {
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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_address": {
"type": "string",
"description": "REQUIRED: Token contract address (e.g., 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN' for Jupiter on Solana)"
}
},
"additionalProperties": false
}Get a technical indicator (RSI, EMA, MACD, Bollinger Bands or VWAP) for one token, computed server-side from the token's USD candles across every pool it trades in on the network (the same series as getTokenOHLCV), returned as a time series. Read-only. Runs on the caller's own Dev, Pro or Enterprise API key, set as the Authorization header on the connection to this server; without one it returns DP401_API_KEY_REQUIRED and sends nothing upstream, and a free key gets 403. In either case fall back to getPoolIndicator on the token's most liquid pool, found with getTokenPools sorted by volume. Values come oldest first, one per completed candle: rsi, ema and vwap return `value`; macd returns `macd`, `signal` and `histogram`; bbands returns `upper`, `middle` and `lower`. RSI over 70 is commonly read as overbought and under 30 as oversold; a MACD histogram that changes sign means MACD crossed its signal line. RSI, EMA and MACD are smoothed, so start at least ten periods before the first value you rely on. Params: network (required); token_address (required); indicator (required): 'rsi', 'ema', 'macd', 'bbands' or 'vwap'; interval (pass it every time: '1m','5m','10m','15m','30m','1h','6h','12h','24h' or '1d'); start (optional; a relative offset such as '-24h' or '-7d', Unix seconds, RFC3339 or yyyy-mm-dd; without it you get the last `limit` values); end (optional, exclusive); limit (default 100, max 1000); cursor (next_cursor of the previous page, not with start); period for rsi (default 14), ema (20), bbands (20) and vwap (14); fast_period (12), slow_period (26) and signal_period (9) for macd only; std_dev (2) for bbands only. A parameter that belongs to another indicator is refused.
| Argument | Type | Description |
|---|---|---|
| end | string | OPTIONAL: End of the range, exclusive, same formats as start. Defaults to now |
| limit | integer | OPTIONAL: Values per response (default 100, max 1000) |
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).
| Argument | Type | Description |
|---|---|---|
| tokens* | array | REQUIRED: Up to 10 token contract addresses on the same network. |
| network* | string | REQUIRED: Network ID from getNetworks |
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"tokens",
"rationale"
],
"properties": {
"tokens": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"description": "REQUIRED: Up to 10 token contract addresses on the same network."
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks"
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}Get historical USD OHLCV candles for one token over a time range, returned as a time-series array. The price and volume are computed across every pool the token trades in on the network (a volume-weighted price, and volume summed across those pools), not a single pair. Runs on the caller's own Dev, Pro or Enterprise API key, set as the Authorization header on the connection to this server; without one it returns DP401_API_KEY_REQUIRED and sends nothing upstream, and a free key gets 403. In either case fall back to getPoolOHLCV on the token's main pool, found with getTokenPools sorted by volume. Use for 'price history of this token' or 'USD chart for this token'; for a single pair's candles use getPoolOHLCV, and for the current price use getTokenDetails. Params: network (required); token_address (required); start (required; easiest as a relative offset from now such as '-24h', so you need not know today's date; also Unix seconds, RFC3339 or yyyy-mm-dd); end (optional, same formats); interval one of '1m','5m','10m','15m','30m','1h','6h','12h','24h' (default '24h'); limit (default 10, max 1000 candles). Dev plan history is limited to the last 30 days. There is no inversed parameter on this endpoint.
| Argument | Type | Description |
|---|---|---|
| end | string | OPTIONAL: End time, same formats as start (e.g. '-1h') |
| limit | number | OPTIONAL: Number of data points to retrieve (default: 10, max: 1000) |
| start* | string | REQUIRED: Start time. A relative offset from now is simplest and needs no knowledge of today's date: '-24h' (last 24 hours), '-7d', '-90m' (units s, m, h, d). Also accepts RFC3339 (e.g. '2024-01-01T00:00:00Z'), Unix epoch seconds and YYYY-MM-DD (treated as 00:00:00 UTC). |
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.
| Argument | Type | Description |
|---|---|---|
| sort | string | 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. |
| limit | number | OPTIONAL: Number of items per page (default: 10, max: 100) |
| cursor | string | OPTIONAL: 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. |
| address | string | REMOVED alias for paired_token_address. No longer supported by the API; supplying it returns an error. |
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
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).
| Argument | Type | Description |
|---|---|---|
| sort | string | 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. |
| limit | number | OPTIONAL: Items per page (default: 50, max: 100) |
| cursor | string | OPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number. |
| network* | string | REQUIRED: Network ID from getNetworks |
| sort_by | string | OPTIONAL: 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 accepted. Note: ordering by price is not supported and falls back to volume. The REST API calls this parameter order_by. |
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?'. Several words work: 'WETH USDC' returns the pools pairing both, and a network name ('brett base') narrows results to that chain. 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).
| Argument | Type | Description |
|---|---|---|
| limit | number | OPTIONAL: 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 category. |
| query* | string | REQUIRED: Search term (e.g., 'uniswap', 'bitcoin', 'ethereum', 'WETH USDC', or a token address). |
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query",
"rationale"
],
"properties": {
"limit": {
"type": "number",
"description": "OPTIONAL: 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 category."
},
"query": {
"type": "string",
"description": "REQUIRED: Search term (e.g., 'uniswap', 'bitcoin', 'ethereum', 'WETH USDC', or a token address)."
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| goal* | string | REQUIRED: What you (or the user behind you) were trying to accomplish. 10-500 characters; longer goals are validation-rejected at the MCP layer. |
| expected | string | OPTIONAL: What you expected to happen. Capped at 500 characters; trim or summarize longer narratives. |
| observed | string | OPTIONAL: What actually happened. Capped at 500 characters; trim or summarize longer narratives. Longer text triggers an MCP -32602 input validation error. |
| severity | string | OPTIONAL: How badly this affected your task. Default 'minor'. |
| blocked_at | string | OPTIONAL: Tool name or step where you got stuck. |
| attempted_tools | array | OPTIONAL: List of tool names you called, in order, before submitting this feedback. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goal"
],
"properties": {
"goal": {
"type": "string",
"maxLength": 500,
"minLength": 10,
"description": "REQUIRED: What you (or the user behind you) were trying to accomplish. 10-500 characters; longer goals are validation-rejected at the MCP layer."
},
"expected": {
"type": "string",
"maxLength": 500,
"description": "OPTIONAL: What you expected to happen. Capped at 500 characters; trim or summarize longer narratives."
},
"observed": {
"type": "string",
"maxLength": 500,
"description": "OPTIONAL: What actually happened. Capped at 500 characters; trim or summarize longer narratives. Longer text triggers an MCP -32602 input validation error."
},
"severity": {
"enum": [
"blocker",
"major",
"minor",
"nit"
],
"type": "string",
"default": "minor",
"description": "OPTIONAL: How badly this affected your task. Default 'minor'."
},
"blocked_at": {
"type": "string",
"maxLength": 200,
"description": "OPTIONAL: Tool name or step where you got stuck."
},
"attempted_tools": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"maxItems": 50,
"description": "OPTIONAL: List of tool names you called, in order, before submitting this feedback."
}
},
"additionalProperties": false
}| sort | string | 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. |
| limit | number | OPTIONAL: Number of items per page (default: 10, max: 100) |
| cursor | string | OPTIONAL: 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. |
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| sort_by | string | 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 and normalized. The REST API calls this parameter order_by. |
| order_by | string | 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. |
| sort_dir | string | 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. |
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"dex",
"rationale"
],
"properties": {
"dex": {
"type": "string",
"description": "REQUIRED: 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 an empty results[] instead of an error, so a wrong value looks like a real but empty answer. The REST API calls this parameter dex_name."
},
"page": {
"type": "number",
"description": "SUPERSEDED: 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."
},
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"limit": {
"type": "number",
"default": 10,
"description": "OPTIONAL: Number of items per page (default: 10, max: 100)"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: 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."
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"sort_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"created_at",
"price_usd",
"price_change_percentage_24h",
"price_change_percentage_48h",
"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"
],
"type": "string",
"description": "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 and normalized. The REST API calls this parameter order_by."
},
"order_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"created_at",
"price_usd",
"price_change_percentage_24h",
"price_change_percentage_48h",
"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"
],
"type": "string",
"description": "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."
},
"sort_dir": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}| sort_dir | string | 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. |
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"rationale"
],
"properties": {
"page": {
"type": "number",
"default": 1,
"description": "OPTIONAL: Page number, 1-indexed. Server accepts page=0 (treated as page=1) for backward compatibility."
},
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"limit": {
"type": "number",
"default": 10,
"description": "OPTIONAL: Number of items per page (default: 10, max: 100)"
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"sort_by": {
"enum": [
"pool"
],
"type": "string",
"description": "OPTIONAL: Sort field. Canonical parameter name; older tools used order_by. The REST API calls this parameter order_by."
},
"order_by": {
"enum": [
"pool"
],
"type": "string",
"description": "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."
},
"sort_dir": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}| order_by | string | 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. |
| sort_dir | string | 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. |
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"rationale"
],
"properties": {
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"limit": {
"type": "number",
"default": 10,
"description": "OPTIONAL: Number of items per page (default: 10, max: 100)"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: 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."
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"sort_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"created_at",
"price_usd",
"price_change_percentage_24h",
"price_change_percentage_48h",
"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"
],
"type": "string",
"description": "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."
},
"order_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"created_at",
"price_usd",
"price_change_percentage_24h",
"price_change_percentage_48h",
"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"
],
"type": "string",
"description": "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."
},
"sort_dir": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}| order_by | string | 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. |
| sort_dir | string | 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. |
| rationale* | string | REQUIRED. 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. |
| txns_24h_min | number | OPTIONAL: Minimum transactions in 24h |
| created_after | string | OPTIONAL: Only pools created at or after this time: a relative offset such as '-24h' or '-7d', Unix seconds, RFC3339 or YYYY-MM-DD |
| volume_7d_max | number | OPTIONAL: Maximum 7d volume in USD |
| volume_7d_min | number | OPTIONAL: Minimum 7d volume in USD |
| created_before | string | OPTIONAL: Only pools created at or before this time, same formats as created_after (e.g. '-1h') |
| volume_24h_max | number | OPTIONAL: Maximum 24h volume in USD |
| volume_24h_min | number | OPTIONAL: Minimum 24h volume in USD |
| liquidity_usd_max | number | OPTIONAL: Maximum pool liquidity in USD |
| liquidity_usd_min | number | OPTIONAL: Minimum pool liquidity in USD |
| price_change_percentage_1h_max | number | OPTIONAL: Maximum 1h price change, in percent |
| price_change_percentage_1h_min | number | OPTIONAL: Minimum 1h price change, in percent |
| price_change_percentage_5m_max | number | OPTIONAL: Maximum 5m price change, in percent |
| price_change_percentage_5m_min | number | OPTIONAL: 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_max | number | OPTIONAL: Maximum 6h price change, in percent |
| price_change_percentage_6h_min | number | OPTIONAL: Minimum 6h price change, in percent |
| price_change_percentage_24h_max | number | OPTIONAL: Maximum 24h price change, in percent |
| price_change_percentage_24h_min | number | OPTIONAL: Minimum 24h price change, in percent. Negatives are allowed, so -20 finds pools down at least 20%. |
| price_change_percentage_48h_max | number | OPTIONAL: Maximum 48h price change, in percent |
| price_change_percentage_48h_min | number | OPTIONAL: Minimum 48h price change, in percent |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"rationale"
],
"properties": {
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"limit": {
"type": "number",
"default": 50,
"description": "OPTIONAL: Items per page (default: 50, max: 100)"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number."
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"sort_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"created_at",
"price_usd",
"price_change_percentage_24h",
"price_change_percentage_48h",
"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"
],
"type": "string",
"description": "OPTIONAL: 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 calls this parameter order_by."
},
"order_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"created_at",
"price_usd",
"price_change_percentage_24h",
"price_change_percentage_48h",
"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"
],
"type": "string",
"description": "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."
},
"sort_dir": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
},
"txns_24h_min": {
"type": "number",
"description": "OPTIONAL: Minimum transactions in 24h"
},
"created_after": {
"type": "string",
"description": "OPTIONAL: Only pools created at or after this time: a relative offset such as '-24h' or '-7d', Unix seconds, RFC3339 or YYYY-MM-DD"
},
"volume_7d_max": {
"type": "number",
"description": "OPTIONAL: Maximum 7d volume in USD"
},
"volume_7d_min": {
"type": "number",
"description": "OPTIONAL: Minimum 7d volume in USD"
},
"created_before": {
"type": "string",
"description": "OPTIONAL: Only pools created at or before this time, same formats as created_after (e.g. '-1h')"
},
"volume_24h_max": {
"type": "number",
"description": "OPTIONAL: Maximum 24h volume in USD"
},
"volume_24h_min": {
"type": "number",
"description": "OPTIONAL: Minimum 24h volume in USD"
},
"liquidity_usd_max": {
"type": "number",
"description": "OPTIONAL: Maximum pool liquidity in USD"
},
"liquidity_usd_min": {
"type": "number",
"description": "OPTIONAL: Minimum pool liquidity in USD"
},
"price_change_percentage_1h_max": {
"type": "number",
"description": "OPTIONAL: Maximum 1h price change, in percent"
},
"price_change_percentage_1h_min": {
"type": "number",
"description": "OPTIONAL: Minimum 1h price change, in percent"
},
"price_change_percentage_5m_max": {
"type": "number",
"description": "OPTIONAL: Maximum 5m price change, in percent"
},
"price_change_percentage_5m_min": {
"type": "number",
"description": "OPTIONAL: 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_max": {
"type": "number",
"description": "OPTIONAL: Maximum 6h price change, in percent"
},
"price_change_percentage_6h_min": {
"type": "number",
"description": "OPTIONAL: Minimum 6h price change, in percent"
},
"price_change_percentage_24h_max": {
"type": "number",
"description": "OPTIONAL: Maximum 24h price change, in percent"
},
"price_change_percentage_24h_min": {
"type": "number",
"description": "OPTIONAL: Minimum 24h price change, in percent. Negatives are allowed, so -20 finds pools down at least 20%."
},
"price_change_percentage_48h_max": {
"type": "number",
"description": "OPTIONAL: Maximum 48h price change, in percent"
},
"price_change_percentage_48h_min": {
"type": "number",
"description": "OPTIONAL: Minimum 48h price change, in percent"
}
},
"additionalProperties": false
}| OPTIONAL: End of the range, exclusive, same formats as start. Defaults to now |
| limit | integer | OPTIONAL: Values per response (default 100, max 1000) |
| start | string | OPTIONAL: First candle. A relative offset from now is simplest: '-24h', '-7d' (units s, m, h, d). Also Unix seconds, RFC3339 or YYYY-MM-DD. Without it you get the last `limit` values |
| cursor | string | OPTIONAL: next_cursor from the previous page. Do not combine with start |
| period | integer | OPTIONAL: rsi (default 14), ema (default 20), bbands (default 20), vwap (default 14). Not for macd |
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| std_dev | number | OPTIONAL, bbands only: band width in standard deviations (default 2) |
| interval | string | Candle interval the indicator is computed on. Pass it every time; '1d' equals '24h' |
| indicator* | string | REQUIRED: 'rsi', 'ema', 'macd', 'bbands' (Bollinger Bands) or 'vwap' |
| rationale* | string | REQUIRED. 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. |
| fast_period | integer | OPTIONAL, macd only: fast EMA period (default 12) |
| slow_period | integer | OPTIONAL, macd only: slow EMA period (default 26), must be above fast_period |
| pool_address* | string | REQUIRED: Pool address or identifier |
| signal_period | integer | OPTIONAL, macd only: signal line period (default 9) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"pool_address",
"indicator",
"rationale"
],
"properties": {
"end": {
"type": "string",
"description": "OPTIONAL: End of the range, exclusive, same formats as start. Defaults to now"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "OPTIONAL: Values per response (default 100, max 1000)"
},
"start": {
"type": "string",
"description": "OPTIONAL: First candle. A relative offset from now is simplest: '-24h', '-7d' (units s, m, h, d). Also Unix seconds, RFC3339 or YYYY-MM-DD. Without it you get the last `limit` values"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: next_cursor from the previous page. Do not combine with start"
},
"period": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "OPTIONAL: rsi (default 14), ema (default 20), bbands (default 20), vwap (default 14). Not for macd"
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"std_dev": {
"type": "number",
"maximum": 10,
"description": "OPTIONAL, bbands only: band width in standard deviations (default 2)",
"exclusiveMinimum": 0
},
"interval": {
"enum": [
"1m",
"5m",
"10m",
"15m",
"30m",
"1h",
"6h",
"12h",
"24h",
"1d"
],
"type": "string",
"description": "Candle interval the indicator is computed on. Pass it every time; '1d' equals '24h'"
},
"indicator": {
"enum": [
"rsi",
"ema",
"macd",
"bbands",
"vwap"
],
"type": "string",
"description": "REQUIRED: 'rsi', 'ema', 'macd', 'bbands' (Bollinger Bands) or 'vwap'"
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
},
"fast_period": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "OPTIONAL, macd only: fast EMA period (default 12)"
},
"slow_period": {
"type": "integer",
"maximum": 200,
"minimum": 2,
"description": "OPTIONAL, macd only: slow EMA period (default 26), must be above fast_period"
},
"pool_address": {
"type": "string",
"description": "REQUIRED: Pool address or identifier"
},
"signal_period": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "OPTIONAL, macd only: signal line period (default 9)"
}
},
"additionalProperties": false
}| string |
| REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| interval | string | OPTIONAL: Interval granularity (default: '24h') |
| inversed | boolean | OPTIONAL: Whether to invert the price ratio for alternative pair perspective (default: false) |
| rationale* | string | REQUIRED. 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. |
| pool_address* | string | REQUIRED: Pool address or identifier |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"pool_address",
"start",
"rationale"
],
"properties": {
"end": {
"type": "string",
"description": "OPTIONAL: End time for historical data, same formats as start (e.g. '-1h')"
},
"limit": {
"type": "number",
"default": 100,
"description": "OPTIONAL: Number of OHLCV data points to retrieve (default: 100, max: 1000). One row per `interval`."
},
"start": {
"type": "string",
"description": "REQUIRED: Start time. A relative offset from now is simplest and needs no knowledge of today's date: '-24h' (last 24 hours), '-7d', '-90m' (units s, m, h, d). Also accepts RFC3339 (e.g. '2024-01-01T00:00:00Z'), Unix epoch seconds and YYYY-MM-DD (treated as 00:00:00 UTC)."
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"interval": {
"enum": [
"1m",
"5m",
"10m",
"15m",
"30m",
"1h",
"6h",
"12h",
"24h"
],
"type": "string",
"default": "24h",
"description": "OPTIONAL: Interval granularity (default: '24h')"
},
"inversed": {
"type": "boolean",
"default": false,
"description": "OPTIONAL: Whether to invert the price ratio for alternative pair perspective (default: false)"
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
},
"pool_address": {
"type": "string",
"description": "REQUIRED: Pool address or identifier"
}
},
"additionalProperties": false
}| cursor |
| string |
| OPTIONAL: Transaction ID used for cursor-based pagination |
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| rationale* | string | REQUIRED. 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. |
| pool_address* | string | REQUIRED: Pool address or identifier |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"pool_address",
"rationale"
],
"properties": {
"to": {
"type": "string",
"description": "OPTIONAL: Filter transactions up to this time (exclusive), same formats as from. Must be after 'from'."
},
"from": {
"type": "string",
"description": "OPTIONAL: Filter transactions starting from this time (inclusive): a relative offset such as '-1h' or '-24h', Unix seconds, RFC3339 or YYYY-MM-DD. Results always capped to last 7 days."
},
"page": {
"type": "number",
"default": 1,
"description": "OPTIONAL: Page number, 1-indexed. Up to 100 pages. Server accepts page=0 (treated as page=1) for backward compatibility."
},
"limit": {
"type": "number",
"default": 10,
"description": "OPTIONAL: Number of items per page (default: 10, max: 100)"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: Transaction ID used for cursor-based pagination"
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
},
"pool_address": {
"type": "string",
"description": "REQUIRED: Pool address or identifier"
}
},
"additionalProperties": false
}| start |
| string |
| OPTIONAL: First candle. A relative offset from now is simplest: '-24h', '-7d' (units s, m, h, d). Also Unix seconds, RFC3339 or YYYY-MM-DD. Without it you get the last `limit` values |
| cursor | string | OPTIONAL: next_cursor from the previous page. Do not combine with start |
| period | integer | OPTIONAL: rsi (default 14), ema (default 20), bbands (default 20), vwap (default 14). Not for macd |
| network* | string | REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| std_dev | number | OPTIONAL, bbands only: band width in standard deviations (default 2) |
| interval | string | Candle interval the indicator is computed on. Pass it every time; '1d' equals '24h' |
| indicator* | string | REQUIRED: 'rsi', 'ema', 'macd', 'bbands' (Bollinger Bands) or 'vwap' |
| rationale* | string | REQUIRED. 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. |
| fast_period | integer | OPTIONAL, macd only: fast EMA period (default 12) |
| slow_period | integer | OPTIONAL, macd only: slow EMA period (default 26), must be above fast_period |
| signal_period | integer | OPTIONAL, macd only: signal line period (default 9) |
| token_address* | string | REQUIRED: Token contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"token_address",
"indicator",
"rationale"
],
"properties": {
"end": {
"type": "string",
"description": "OPTIONAL: End of the range, exclusive, same formats as start. Defaults to now"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "OPTIONAL: Values per response (default 100, max 1000)"
},
"start": {
"type": "string",
"description": "OPTIONAL: First candle. A relative offset from now is simplest: '-24h', '-7d' (units s, m, h, d). Also Unix seconds, RFC3339 or YYYY-MM-DD. Without it you get the last `limit` values"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: next_cursor from the previous page. Do not combine with start"
},
"period": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "OPTIONAL: rsi (default 14), ema (default 20), bbands (default 20), vwap (default 14). Not for macd"
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"std_dev": {
"type": "number",
"maximum": 10,
"description": "OPTIONAL, bbands only: band width in standard deviations (default 2)",
"exclusiveMinimum": 0
},
"interval": {
"enum": [
"1m",
"5m",
"10m",
"15m",
"30m",
"1h",
"6h",
"12h",
"24h",
"1d"
],
"type": "string",
"description": "Candle interval the indicator is computed on. Pass it every time; '1d' equals '24h'"
},
"indicator": {
"enum": [
"rsi",
"ema",
"macd",
"bbands",
"vwap"
],
"type": "string",
"description": "REQUIRED: 'rsi', 'ema', 'macd', 'bbands' (Bollinger Bands) or 'vwap'"
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
},
"fast_period": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "OPTIONAL, macd only: fast EMA period (default 12)"
},
"slow_period": {
"type": "integer",
"maximum": 200,
"minimum": 2,
"description": "OPTIONAL, macd only: slow EMA period (default 26), must be above fast_period"
},
"signal_period": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "OPTIONAL, macd only: signal line period (default 9)"
},
"token_address": {
"type": "string",
"description": "REQUIRED: Token contract address"
}
},
"additionalProperties": false
}| network* |
| string |
| REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana') |
| interval | string | OPTIONAL: Interval granularity (default: '24h') |
| rationale* | string | REQUIRED. 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_address* | string | REQUIRED: Token contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"token_address",
"start",
"rationale"
],
"properties": {
"end": {
"type": "string",
"description": "OPTIONAL: End time, same formats as start (e.g. '-1h')"
},
"limit": {
"type": "number",
"default": 10,
"description": "OPTIONAL: Number of data points to retrieve (default: 10, max: 1000)"
},
"start": {
"type": "string",
"description": "REQUIRED: Start time. A relative offset from now is simplest and needs no knowledge of today's date: '-24h' (last 24 hours), '-7d', '-90m' (units s, m, h, d). Also accepts RFC3339 (e.g. '2024-01-01T00:00:00Z'), Unix epoch seconds and YYYY-MM-DD (treated as 00:00:00 UTC)."
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"interval": {
"enum": [
"1m",
"5m",
"10m",
"15m",
"30m",
"1h",
"6h",
"12h",
"24h"
],
"type": "string",
"default": "24h",
"description": "OPTIONAL: Interval granularity (default: '24h')"
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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_address": {
"type": "string",
"description": "REQUIRED: Token contract address"
}
},
"additionalProperties": false
}| reorder |
| boolean |
| REMOVED alias for inversed. No longer supported by the API; supplying true returns an error. |
| sort_by | string | 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. |
| inversed | boolean | REMOVED: 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_by | string | 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. |
| sort_dir | string | 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. |
| rationale* | string | REQUIRED. 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_address* | string | REQUIRED: Token contract address |
| paired_token_address | string | REMOVED: 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"token_address",
"rationale"
],
"properties": {
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"limit": {
"type": "number",
"default": 10,
"description": "OPTIONAL: Number of items per page (default: 10, max: 100)"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: 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."
},
"address": {
"type": "string",
"description": "REMOVED alias for paired_token_address. No longer supported by the API; supplying it returns an error."
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks (e.g., 'ethereum', 'solana')"
},
"reorder": {
"type": "boolean",
"description": "REMOVED alias for inversed. No longer supported by the API; supplying true returns an error."
},
"sort_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"created_at",
"price_usd",
"price_change_percentage_24h",
"price_change_percentage_48h",
"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"
],
"type": "string",
"description": "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."
},
"inversed": {
"type": "boolean",
"description": "REMOVED: 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_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"created_at",
"price_usd",
"price_change_percentage_24h",
"price_change_percentage_48h",
"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"
],
"type": "string",
"description": "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."
},
"sort_dir": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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_address": {
"type": "string",
"description": "REQUIRED: Token contract address"
},
"paired_token_address": {
"type": "string",
"description": "REMOVED: 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."
}
},
"additionalProperties": false
}| order_by | string | 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. |
| sort_dir | string | 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. |
| rationale* | string | REQUIRED. 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"network",
"rationale"
],
"properties": {
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"limit": {
"type": "number",
"default": 50,
"description": "OPTIONAL: Items per page (default: 50, max: 100)"
},
"cursor": {
"type": "string",
"description": "OPTIONAL: Pagination cursor. Pass `next_cursor` from a previous response to fetch the next page. Replaces the old page number."
},
"network": {
"type": "string",
"description": "REQUIRED: Network ID from getNetworks"
},
"sort_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"fdv_usd",
"created_at",
"price_change_percentage_24h",
"volume_24h",
"volume_7d",
"volume_30d",
"txns",
"price_change",
"fdv",
"price_usd"
],
"type": "string",
"description": "OPTIONAL: 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 accepted. Note: ordering by price is not supported and falls back to volume. The REST API calls this parameter order_by."
},
"order_by": {
"enum": [
"volume_usd_24h",
"volume_usd_7d",
"volume_usd_30d",
"liquidity_usd",
"txns_24h",
"fdv_usd",
"created_at",
"price_change_percentage_24h",
"volume_24h",
"volume_7d",
"volume_30d",
"txns",
"price_change",
"fdv",
"price_usd"
],
"type": "string",
"description": "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."
},
"sort_dir": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "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."
},
"rationale": {
"type": "string",
"maxLength": 500,
"minLength": 20,
"description": "REQUIRED. 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."
}
},
"additionalProperties": false
}