This page contains all significant updates, improvements, and bug fixes for the DexPaprika API. We’re committed to making our product better with each release. Check our API reference for the latest version.Documentation Index
Fetch the complete documentation index at: https://docs.dexpaprika.com/llms.txt
Use this file to discover all available pages before exploring further.
Hosted MCP server (
mcp.dexpaprika.com) refactored end-to-end. All 17 tools now emit structuredContent (MCP 2025-06-18+), declare outputSchema, and ship with read-only/idempotent annotations so well-behaved clients stop safe-prompting every call.Breaking changes
getTokenMultiPricesresponse shape. Previously returned a bare array of price entries; now returns an object{ prices: [...], missing_tokens: [...] }. Tokens that upstream cannot price (invalid address, no liquidity, unknown contract) are surfaced inmissing_tokensrather than silently dropped.- Migration: replace
response.map(...)withresponse.prices.map(...). Checkresponse.missing_tokens.length > 0to detect partial failures.
- Migration: replace
searchresponsepools[].dex_idrenamed tofactory_id. Insearch.pools[], upstream emits the DEX factory contract address underdex_id, whilegetNetworkPoolsemits the slug under the same key. The MCP layer now renames this tofactory_idin search responses, matchinggetPoolDetailsandgetPoolTransactionswhich already usefactory_idfor this concept.- Migration: if you read
search.pools[].dex_idexpecting a slug, readdex_name(human-readable) or look upfactory_idagainstgetNetworkDexes.
- Migration: if you read
Added
- Network synonym resolution. Common alternate names (
eth,matic,avax,bnb,sol,arb,op,pol,cro,mnt,ftm,trx, etc.) now resolve to their canonical network IDs at the wire layer.getCapabilities.network_synonymsadvertised these previously; now the upstream actually honors them on every endpoint that takes anetworkparameter. searchoptionallimitparameter. Caps items returned per category (tokens, pools, dexes). Applies independently to each category —limit=3returns up to 3 hits in each of the 5 categories.getCapabilities.tools_countfield exposing the canonical 17-tool count.getTokenMultiPrices.missing_tokensarray surfacing tokens upstream could not price.getPoolOHLCV.intervalnow accepts1mand10m(in addition to existing5m/15m/30m/1h/6h/12h/24h).- Canonical alias parameters added alongside legacy names. Both accepted; canonical is recommended for new code:
sort_dir(canonical) /sort(legacy alias) — sort directionsort_by(canonical) /order_by(legacy alias) — sort fieldpaired_token_address(canonical) /address(legacy alias) — second-token filter ongetTokenPoolsinversed(canonical) /reorder(legacy alias) — pair-perspective flip ongetTokenPoolsandgetPoolDetails
outputSchemadeclared on every tool. Strict-validating MCP clients (Cursor, Claude Desktop) now validate responses against documented shapes.structuredContentemitted on every tool result (MCP spec 2025-06-18+). Agents can consume parsed objects directly instead of re-parsingcontent[0].text.- Tool annotations (
readOnlyHint,idempotentHint,destructiveHint,openWorldHint) on every tool so hosts stop safe-prompting reads. - Server-level
instructionsfield in the MCPinitializeresponse — a curated onboarding doc for agents.
Fixed
getNetworkDexeslimitparameter. Upstream/networks/{network}/dexessilently ignoredlimitand always reportedpage_info.total_items=0, total_pages=0. The MCP layer now slices client-side to the requested limit and patchespage_infoto reflect the real total count.getTokenDetailsstrict-validation rejection. Previously failed on strict-validating MCP clients with-32602 "data must NOT have additional properties"when upstream returned fields beyond the declared schema. OuteroutputSchemais now permissive (additionalProperties: true) while declared fields remain typed. Same fix applied across all single-item-object tools (getTokenDetails,getPoolDetails, etc.).
Changed
server.versionbumped from1.4.0to2.0.0.- JSON Schema dialect on
/json-rpctransport upgraded fromdraft-07to2020-12, aligning with the underlying OpenAPI 3.1 contract. SDK-managed/sseand/streamable-httptransports still emitdraft-07(Zod v3 limitation); full 2020-12 alignment pending a future Zod v4 Mini migration. - Rationale boilerplate in tool descriptions shortened from 506 to 249 characters to reduce input-token cost on every tool registration.
submitFeedbackfield descriptions now document the 500-character caps onexpectedandobserved(exceeding triggers-32602input validation).
Known limitations
liquidity_usdvalues returned bygetNetworkPoolsFilter,getTopTokens, andgetTokenDetails.summaryare currently unreliable upstream — filter results may be empty and reported values may be incorrect. Upstream fix pending.total_supplydecimal handling differs across endpoints (raw units in pool listings, decimal-adjusted ingetTokenDetails). Upstream consistency pending.getTopTokensreportsfdv: 0for some major stablecoins (USDT, DAI). Upstream data quality fix pending.- Field naming varies across endpoints (
idvsaddressfor token references;fdvvsfdv_usd; response wrapperspools/results/tokens). Naming alignment is on the roadmap.
Added
GET /networks/{network}/pools/{pool_address}/transactions: new optionalfromandtoquery parameters (UNIX timestamps, int64) to filter transactions by time range.fromis inclusive,tois exclusive. Results are always capped to the last 7 days.
- Token schema: new
telegramandtwitterstring fields for official social links.
Added
- New endpoint:
GET /networks/{network}/tokens/filterfor advanced token filtering.- Filter tokens by volume (
volume_24h,volume_7d,volume_30d), liquidity (liquidity_usd), FDV (fdv_min,fdv_max), transaction count (txns_24h_min), and creation date (created_after,created_before). - Sort by
volume_24h,volume_7d,volume_30d,liquidity_usd,txns_24h,created_at, orfdv. - Paginated response with
page_info.
- Filter tokens by volume (
- New endpoint:
GET /networks/{network}/tokens/topfor top tokens on a network.- Ranked token list with enriched metadata and multi-timeframe metrics (24h, 1h, 5m).
- Order by
volume_24h,price_usd,liquidity_usd,txns, orprice_change. - Each token includes buy/sell counts, volume, and price change per interval.
- New schemas:
TokenFilterResponse,TokenSearchResult,TopTokenResponse,TopTokenItem,TopTokenTimeData.
Changed
GET /networksresponse schema updated fromNetworktoNetworkMetricswith new fields:volume_usd_24h,txns_24h,pools_count.GET /networks/{network}/dexesresponse enriched withdex_id,volume_usd_24h,txns_24h,pools_countper DEX.GET /networks/{network}/pools/filter:PoolSearchResultnow extendsPoolWithPricesviaallOf, addingvolume_usd_7dandliquidity_usd.- Pool filter parameters
volume_7d_min,liquidity_usd_min, andliquidity_usd_maxare now functional. - New pool filter parameters:
volume_7d_max,volume_30d_max.
Known limitations
volume_30d_minandvolume_30d_maxparameters on pool and token filter endpoints are documented but not yet functional.
Added
- New endpoint:
GET /networks/{network}/pools/filterfor advanced pool filtering.- Filter pools by 24h volume range (
volume_24h_min,volume_24h_max), transaction count (txns_24h_min), and creation date (created_after,created_before). - Sort by
volume_24h,volume_7d,volume_30d,liquidity,txns_24h, orcreated_atwithasc/descdirection. - Paginated response with
page_infoincludingtotal_itemsandtotal_pages.
- Filter pools by 24h volume range (
- New schemas:
PoolFilterResponseandPoolSearchResult.
Known limitations
volume_7d_min,volume_30d_min,liquidity_usd_min, andliquidity_usd_maxparameters are documented but not yet functional. These will be enabled in a future update.
Changed
GET /networks/{network}/multi/prices: requests are now limited to a maximum of 10tokensper call.- Parameter encoding updated to a single comma-separated
tokenslist (explode=false).
Error handling
- Requests with more than 10 tokens return
400 Bad Request. - Requests with zero tokens still return
400 Bad Request(unchanged).
Docs
- Updated API reference, tutorial, and MCP notes to reflect the cap, edge-case behavior, and comma-separated encoding.
Added
- New endpoint:
GET /networks/{network}/multi/pricesfor batch token price retrieval on a network.- Request: repeatable
tokensquery parameter (e.g.,?tokens=0x...&tokens=0x...). - Response: array of
{ id, chain, price_usd }objects for tokens with available prices; unknown/unpriced tokens are omitted.
- Request: repeatable
Changed
AssetPriceschema added and documented in OpenAPI.- Internals: performance optimization to fetch token summaries conditionally.
Compatibility
- Certain price-related fields now use
omitemptysemantics in responses. If you previously relied on nulls for absent values, note these keys may now be omitted when data is unavailable.
Docs
- New API page: Get batched token prices on a network.
- Updated tutorials and references to include batch pricing guidance.
Enhanced
- Transaction Schema:
- Added
token_0_symbolandtoken_1_symbolfields to transaction objects for explicit token symbol tracking. - Added
price_0,price_1,price_0_usd, andprice_1_usdfields to transaction objects for detailed price reporting. - Added
created_atfield to transaction objects for precise transaction timestamping.
- Added
Migration/Compatibility
- No breaking changes to existing endpoints, but clients parsing transaction objects should update their models to support the new fields for full compatibility.
FAQs
How often is the API updated?
How often is the API updated?
We ship changes continuously. Breaking changes are called out explicitly with migration guidance.
Where do I find migration paths?
Where do I find migration paths?
Each breaking change section includes steps and replacement endpoints when applicable.
How can I stay notified?
How can I stay notified?
Watch this changelog and our Discord announcements; major updates are posted there.
Deprecated
- BREAKING: The
/poolsendpoint has been permanently deprecated and now returns410 Gone - Users should migrate to
/networks/{network}/poolsto get top pools for each specific network
Changed
- Enhanced deprecation messaging with clear migration paths for affected endpoints
Migration guide
Instead of using the deprecated global pools endpoint:Added
- Introduced the optional
reorderquery parameter to the/networks/{network}/tokens/{token_address}/poolsendpoint. This allows clients to reorder pool data so the specified token becomes the primary token for all metrics and calculations.
Added
- Added operation IDs to all endpoints for better client code generation
- Added fully diluted valuation (
fdv) field to token responses - Added detailed license information and contact details in API specification
- Added
buy_usdandsell_usdfields to provide monetary values for trades - Added
last_price_usd_changefield to all time intervals (24h, 6h, 1h, 30m, 15m, 5m, 1m) - Added organized API tags with descriptions for better navigation
Changed
- Updated OpenAPI specification from 3.0.3 to 3.1.0 for improved documentation
- Changed OHLCV endpoint response format from wrapped object to direct array of records (Breaking Change)
- Renamed
buy/sellfields tobuys/sellsfor consistency (Breaking Change) - Changed network response format from object to array for cleaner consumption
- Updated network schema with improved field naming (
display_nameinstead of justname) - Standardized ID field in Network schema to use string identifiers instead of numeric IDs
- Enhanced token schema with additional fields: chain, total_supply, added_at, last_updated
- Improved parameter documentation with examples and clearer descriptions
Fixed
- Improved consistency in representing null values in responses
- Updated example responses to more accurately reflect actual API behavior
- Fixed formatting inconsistencies in API documentation
Improved
- Enhanced OHLCV schema with time_open and time_close fields to clearly define candlestick periods
- Improved validation for time intervals and limits in OHLCV endpoint
- Added explicit error response documentation for the /stats endpoint
- Enhanced descriptions for all endpoints and parameters
Added
- Support for buy/sell volume metrics across all time intervals
- Added transaction counts to pool details
- Added initial support for price tracking
Changed
- Improved error messaging with more specific error codes
- Enhanced documentation with more descriptive examples
Fixed
- Corrected timestamp format inconsistencies across endpoints
- Fixed incorrect price calculations in some edge cases