Skip to main content

How DexPaprika works

DexPaprika indexes on-chain activity from 33 blockchain networks in near real-time. It watches smart contract events on decentralized exchanges (DEXes), extracts swap transactions, liquidity changes, and price data, and serves it through a REST API and SSE streaming API.
Blockchains → Indexer → DexPaprika API → Your app / AI agent
(33 chains)    (near real-time)    (REST + Streaming)
No API key needed. No registration. Just make HTTP requests.

Networks

A network (also called a chain or blockchain) is the underlying blockchain where DEXes operate. Each network has its own token addresses and pool addresses. DexPaprika currently supports 33 networks including Ethereum, Solana, Base, Arbitrum, Polygon, BSC, Optimism, Avalanche, Fantom, Sui, Aptos, TON, Tron, and more. Every API call that involves a specific token or pool requires a network parameter — the lowercase identifier like ethereum, solana, bsc, base.
# List all supported networks
curl "https://api.dexpaprika.com/networks"
The response is a JSON array of objects with id and display_name.

DEXes (Decentralized Exchanges)

A DEX is a decentralized exchange protocol — a set of smart contracts that allows users to swap tokens without an intermediary. Examples: Uniswap, Raydium, PancakeSwap, Curve. Each DEX operates on one or more networks. For instance, Uniswap V3 runs on Ethereum, Arbitrum, Base, Polygon, and others. In DexPaprika, DEXes are identified by a dex_id string like uniswap_v3, raydium, pancakeswap_v3.
# List DEXes on Ethereum
curl "https://api.dexpaprika.com/networks/ethereum/dexes"

Liquidity pools

A liquidity pool is a smart contract that holds reserves of two (or more) tokens. Users swap one token for the other, and the pool’s reserves shift accordingly — that’s how prices are determined on a DEX. Each pool has:
  • A pool address — the smart contract address on-chain
  • A token pair — the two tokens in the pool (e.g., USDC/WETH)
  • Liquidity — the total USD value of tokens held in the pool
  • Volume — how much has been traded through the pool in a time period
  • Transactions — how many swap/add/remove events happened
  • Price — the current exchange rate between the two tokens
Pools are the central data object in DexPaprika. Most queries revolve around finding pools, inspecting them, and tracking their activity.
# Get the top pool on Ethereum by volume
curl "https://api.dexpaprika.com/networks/ethereum/pools?limit=1&order_by=volume_usd&sort=desc"

Tokens

A token is a digital asset on a blockchain, identified by its contract address. The same token concept (like “USDC”) can exist on multiple networks with different addresses. DexPaprika tracks token data by aggregating activity across all pools that contain that token. The token endpoint returns:
  • Price in USD — aggregated from pool data
  • Fully diluted valuation (FDV)
  • Liquidity — total across all pools
  • Volume and transactions — across multiple time windows (24h, 6h, 1h, 30m, 15m, 5m, 1m)
  • Buy/sell counts and USD values
  • Price stats — 24h high/low and all-time high
# Get SOL token data on Solana
curl "https://api.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112"
The price is at response.summary.price_usd.

OHLCV data

OHLCV stands for Open, High, Low, Close, Volume — the standard candlestick format used in financial charts. DexPaprika provides OHLCV data per pool (not per token). To get historical price data for a token, first find its highest-volume pool, then request OHLCV data for that pool. Available intervals: 1m, 5m, 10m, 15m, 30m, 1h, 6h, 12h, 24h Limits: up to 366 data points per request, max 1 year range.
# 30 days of daily candles for the USDC/WETH pool on Uniswap V3
curl "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/ohlcv?start=2025-01-01&interval=24h&limit=30"

Transactions

Transactions are individual on-chain events on a pool: swaps, liquidity additions, and removals. Each transaction includes token amounts, USD values, prices, and timestamps. Transactions are returned in reverse chronological order and are available for any pool.
# Recent transactions for a pool
curl "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/transactions?limit=10"

The search endpoint lets you find tokens, pools, and DEXes by name, symbol, or address across all networks. Use this when you don’t know the exact network or address for something.
# Find "Jupiter" across all networks
curl "https://api.dexpaprika.com/search?query=jupiter"
The response includes tokens, pools, and dexes arrays with matching results.

Pool filtering

The pool filter endpoint lets you search for pools matching specific criteria: volume range, transaction count, and creation date. This is useful for building pool screeners or finding recently created pools with significant activity.
# Ethereum pools with >$100k daily volume, sorted by volume
curl "https://api.dexpaprika.com/networks/ethereum/pools/filter?volume_24h_min=100000&sort_by=volume_24h&sort_dir=desc"

Streaming (real-time prices)

The streaming API delivers real-time price updates via Server-Sent Events (SSE). Instead of polling the REST API repeatedly, you open one connection and receive price updates as they happen (roughly every second). Base URL: https://streaming.dexpaprika.com
# Stream WETH price on Ethereum
curl -N "https://streaming.dexpaprika.com/stream?method=t_p&chain=ethereum&address=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
Each SSE event contains: token address (a), chain (c), price as a string (p), and timestamps (t, t_p).

Key things to know

  • No authentication — the API is public and free
  • Rate limit — 10,000 requests per day on the free tier
  • Pagination — all paginated endpoints are 1-indexed (page=1 is the first page; page=0 is silently treated as page 1)
  • Max page size — 100 items per page across all endpoints
  • Addresses are case-sensitive — use the exact on-chain format
  • Prices are numbers in REST responses but strings in streaming SSE events (for decimal precision)
  • OHLCV is per pool, not per token — find the highest-volume pool first, then request candles

FAQs

DexPaprika covers on-chain DEX data (pools, swaps, on-chain token prices). CoinPaprika covers centralized exchange data (market cap rankings, exchange listings, global metrics). They’re separate APIs from the same company.
Near real-time. The indexer processes new blocks as they arrive, typically within seconds of on-chain confirmation.
No. DexPaprika is read-only. It provides market data but does not execute trades.