Skip to main content

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.

Why this matters

When you build code that interpolates user input into API paths, the smallest case mismatch returns a 404 with no helpful explanation. The fix is one line, but you have to know about it. This page documents which identifiers are case-sensitive, what the canonical form looks like, and what happens at the wire level if you get it wrong.

Network IDs

Canonical form: lowercase, underscore-separated. Examples: ethereum, solana, base, arbitrum, bsc, polygon, optimism. What the REST API does with non-canonical input:
curl -o /dev/null -w "%{http_code}\n" "https://api.dexpaprika.com/networks/ETH/pools?limit=1"
# 404

curl -o /dev/null -w "%{http_code}\n" "https://api.dexpaprika.com/networks/ethereum/pools?limit=1"
# 200
ETH returns 404. Ethereum, eth, Solana all return 404. Network IDs are strict lowercase canonical at the REST layer. What the MCP layer does with non-canonical input: The DexPaprika MCP normalizes common synonyms (ethethereum, solsolana, arbarbitrum, etc.) before calling the REST API. If you are calling the API through the MCP, mixed case and common abbreviations work. If you are calling REST directly, you need to canonicalize yourself. Recommended pattern: always call GET /networks once at startup and cache the id values. Treat any user-supplied network name as untrusted and map it through your cached list before constructing the URL.
curl -s "https://api.dexpaprika.com/networks" | jq '.[].id'
Returns the authoritative list of canonical IDs.

Token and pool addresses

EVM chains (Ethereum, BSC, Base, Arbitrum, Polygon, Optimism, Avalanche, and similar): lowercase hex, 0x prefix, 40 hex characters.
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48   ← canonical (lowercase)
0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48   ← EIP-55 checksum, not what the API returns
The API normalizes checksum addresses internally, so both spellings work for input. The response always uses lowercase. If your code does string comparison between an address from the API and an address from another source (e.g., a wallet, a block explorer, a contract event), lowercase both sides before comparing. Solana: base58-encoded, case-sensitive. There is no concept of “lowercase Solana address.” Pass it through exactly as you received it.
So11111111111111111111111111111111111111112   ← wrapped SOL, canonical case
Sui, Aptos: 0x-prefixed hex, similar to EVM. Lowercase canonical. TON: friendly format (base64url) is case-sensitive. Raw format is hex. Use whichever the explorer shows.

DEX identifiers

Canonical form: lowercase, underscore-separated.
uniswap_v3
raydium
pancakeswap_v3
curve_finance
balancer_v2
DEX IDs are returned by GET /networks/{network}/dexes and used as path segments in GET /networks/{network}/dexes/{dex}/pools. Same case rules as network IDs: strict lowercase at REST, normalized by the MCP layer. One catch: some commit messages and changelog entries refer to DEXes by their on-chain name (e.g., “CronosV3”), but the public API slug is different (e.g., vvs_v3 on Cronos). Always use the slug returned by the API, never the marketing name.
# Get the authoritative slug list for any chain:
curl -s "https://api.dexpaprika.com/networks/cronos/dexes" | jq '.dexes[].dex_id'

Quick reference

Network ID:        lowercase, snake_case      ethereum, solana, base
EVM address:       lowercase hex, 0x-prefix   0xa0b8...eb48
Solana address:    base58, case-sensitive     So111...1112
DEX ID:            lowercase, snake_case      uniswap_v3
Pool address:      same rules as token        (per chain)
If you get a 404 and the path looks right at a glance, the first thing to check is case on the network ID and DEX ID. The second thing to check is whether you accidentally URL-encoded part of the path. For other 404 causes, see Error handling.