Skip to main content

Tutorial overview

Discover newly created liquidity pools by searching pools on each network sorted by created_at, with activity filters.
Hitting any snags? We’ve got your back - reach out and we’ll help you get this working.

Why monitor new pools?

New liquidity pools are where the action happens in DeFi. They signal new token launches, liquidity migrations, and fresh trading opportunities. Being first to spot them can be a serious advantage. What you can catch early:
  • New token launches before they hit major trackers
  • Arbitrage opportunities between pools
  • Liquidity migrations to better DEXes
  • Emerging projects before they explode
TL;DR: Jump to Step 2 if you want to start pulling new pools immediately.

Step 1: Pick your networks

First, see what blockchains you want to monitor using the Networks API:
curl "https://api.dexpaprika.com/networks" | jq '.[] | {id: .id, name: .display_name}'

Step 2: Get newest pools

Here’s the money shot - getting pools sorted by creation date using the pool search endpoint:
curl "https://api.dexpaprika.com/networks/ethereum/pools/search?order_by=created_at&sort=desc&limit=10&detailed=true" | jq

What these parameters do:

ParameterEffectPro Tip
order_by=created_atSort by when pool was madeOnly way to find truly new pools
sort=descNewest firstUse asc for historical analysis
limit=10How many pools backMax is 100, but 10-20 is usually enough
cursorPaginationPass next_cursor from the previous response for deeper history
detailed=trueInclude full token metadata (symbol, name) in each resultAdd it whenever you display token symbols

What you get:

{
  "results": [
    {
      "id": "0x462229e7fc9e6cab0ebbd643cc6dfef2a5261ee9",
      "dex_name": "Uniswap V2",
      "created_at": "2025-06-09T09:28:35Z",
      "volume_usd_24h": 767.17,
      "transactions_24h": 5,
      "tokens": [
        { "symbol": "🧸TEDDYS", "name": "🧸TeddySwap" },
        { "symbol": "WETH", "name": "Wrapped Ether" }
      ]
    }
  ],
  "has_next_page": true,
  "next_cursor": "eyJvZmZzZXQiOjEwfQ=="
}
To screen multiple networks in one call, use the global GET /pools/search with a chains filter, for example chains=ethereum,base,solana.
Red flags to watch for:
  • Zero transactions after hours (might be a test pool)
  • Very low liquidity relative to volume (possible wash trading)

Focus on specific DEXes

Want to monitor just Uniswap or Raydium? First get the DEX list using the Network DEXes API:
curl "https://api.dexpaprika.com/networks/ethereum/dexes" | jq '.[] | {id: .id, name: .name}'
Then list new pools by DEX using the DEX Pools API:
curl "https://api.dexpaprika.com/networks/ethereum/dexes/uniswap_v3/pools?order_by=created_at&sort=desc&limit=10" | jq

Multi-chain monitoring

Real pros monitor multiple chains simultaneously. Here’s how:

Ethereum

curl "https://api.dexpaprika.com/networks/ethereum/pools/search?order_by=created_at&sort=desc&limit=5&detailed=true" | jq '.results[] | {chain: "ethereum", pool: .id, created: .created_at, volume: .volume_usd_24h, tokens: [.tokens[].symbol]}'

Solana

curl "https://api.dexpaprika.com/networks/solana/pools/search?order_by=created_at&sort=desc&limit=5&detailed=true" | jq '.results[] | {chain: "solana", pool: .id, created: .created_at, volume: .volume_usd_24h, tokens: [.tokens[].symbol]}'

Base

curl "https://api.dexpaprika.com/networks/base/pools/search?order_by=created_at&sort=desc&limit=5&detailed=true" | jq '.results[] | {chain: "base", pool: .id, created: .created_at, volume: .volume_usd_24h, tokens: [.tokens[].symbol]}'
Or all three in one request:
curl "https://api.dexpaprika.com/pools/search?chains=ethereum,solana,base&order_by=created_at&sort=desc&limit=15" | jq '.results[] | {chain: .chain, pool: .id, created: .created_at, volume: .volume_usd_24h}'
Pro tip: Use different limits based on chain activity. Solana might need limit=20 because of memecoin amounts, while Ethereum limit=5 catches the important stuff.

Smart filtering strategies

Only high-activity pools

Skip the dead pools - focus on ones with real trading:
curl "https://api.dexpaprika.com/networks/ethereum/pools/search?order_by=created_at&sort=desc&volume_usd_24h_min=1000&txns_24h_min=10&limit=50" | jq '.results[] | {id: .id, created: .created_at, volume: .volume_usd_24h, txns: .transactions_24h}'

Last 24 hours only

Filter server-side by creation time to get super fresh pools:
# Pools created in the last 24 hours
DAY_AGO=$(python3 -c "import time; print(int(time.time()) - 86400)")
curl "https://api.dexpaprika.com/networks/ethereum/pools/search?order_by=created_at&sort=desc&created_after=$DAY_AGO&limit=100" | jq '.results[] | {id: .id, age: .created_at, volume: .volume_usd_24h}'

New token launches

Look for pools where the tokens themselves are brand new:
curl "https://api.dexpaprika.com/networks/ethereum/pools/search?order_by=created_at&sort=desc&limit=20&detailed=true" | jq '.results[] | select(.tokens[] | .added_at > "2025-01-25T00:00:00Z") | {pool: .id, pool_age: .created_at, new_tokens: [.tokens[] | select(.added_at > "2025-01-25T00:00:00Z") | .symbol]}'

Production monitoring setup

Simple monitoring script

Here’s a bash script that checks for new pools every 5 minutes:
#!/bin/bash

# Monitor new pools across multiple chains
CHAINS=("ethereum" "solana" "base")
MIN_VOLUME=5000

while true; do
    echo "🔍 Checking for new pools at $(date)"
    
    for chain in "${CHAINS[@]}"; do
        echo "--- $chain ---"
        
        # Get new pools with decent volume
        curl -s "https://api.dexpaprika.com/networks/$chain/pools/search?order_by=created_at&sort=desc&volume_usd_24h_min=$MIN_VOLUME&limit=10&detailed=true" | \
        jq '.results[] | {
            pool_id: .id,
            chain: "'$chain'",
            created: .created_at,
            volume: .volume_usd_24h,
            tokens: [.tokens[].symbol]
        }'
    done
    
    echo "⏰ Sleeping for 5 minutes..."
    sleep 300
done

Alert on high-volume new pools

Catch the big moves automatically:
# Check for new pools with serious volume
NEW_POOLS=$(curl -s "https://api.dexpaprika.com/networks/ethereum/pools/search?order_by=created_at&sort=desc&volume_usd_24h_min=50000&limit=20" | jq '.results[]')

if [ -n "$NEW_POOLS" ]; then
    echo "🚨 HIGH VOLUME NEW POOL DETECTED!"
    echo "$NEW_POOLS"
    # Add your notification here (Discord webhook, Slack, email, etc.)
    # curl -X POST "YOUR_DISCORD_WEBHOOK" -d "{\"content\": \"New high-volume pool: $NEW_POOLS\"}"
fi

Troubleshooting common issues

”No new pools found”

Check if you’re looking at the right timeframe:
# See when the last pool was created
curl "https://api.dexpaprika.com/networks/ethereum/pools/search?order_by=created_at&sort=desc&limit=1" | jq '.results[0].created_at'

“Too much spam”

Filter out low-quality pools with volume and transaction thresholds:
# More restrictive filtering
curl "https://api.dexpaprika.com/networks/solana/pools/search?order_by=created_at&sort=desc&txns_24h_min=20&volume_usd_24h_min=5000&limit=50" | jq '.results[]'
To screen by token valuation (for example, only new tokens under a $100M FDV), use the token search endpoint, which supports fdv_usd_max:
curl "https://api.dexpaprika.com/networks/solana/tokens/search?order_by=created_at&sort=desc&fdv_usd_max=100000000&limit=25" | jq '.results[] | {token: .address, fdv: .fdv_usd, volume: .volume_usd_24h}'

“Missing opportunities”

You might need to check more frequently or cast a wider net:
# Check multiple DEXes on one chain
for dex in uniswap_v3 uniswap_v2 sushiswap; do
    echo "=== $dex ==="
    curl -s "https://api.dexpaprika.com/networks/ethereum/dexes/$dex/pools?order_by=created_at&sort=desc&limit=3" | jq '.pools[0] | {dex: "'$dex'", created: .created_at, tokens: [.tokens[].symbol]}'
done

What’s next?

Historical Price Data

Analyze new pools with price history.

Pool Transactions

Monitor trading activity in real-time.

Pool Details API

Get comprehensive pool information and metadata.

Search API

Find pools, tokens, and DEXes across all networks.

Need help?

Developer Discord

Share strategies and get help from other builders.

Direct Support

Stuck on something? We’ll help you figure it out.

FAQs

Sort by created_at descending and set a reasonable limit. Poll periodically and de-duplicate by pool id.
Combine volume_usd_24h_min and txns_24h_min thresholds; optionally whitelist DEXes or networks.
Use the global GET /pools/search with chains=ethereum,base,solana, or run parallel per-network requests and merge by a timestamp key.
Yes. Query newest pools and alert when volume_usd_24h exceeds your threshold.