DEX Pool Health Score (Any Chain, GeckoTerminal) avatar

DEX Pool Health Score (Any Chain, GeckoTerminal)

Pricing

from $5.00 / 1,000 pool scoreds

Go to Apify Store
DEX Pool Health Score (Any Chain, GeckoTerminal)

DEX Pool Health Score (Any Chain, GeckoTerminal)

Health and rug-risk score 0-100 for any DEX liquidity pool on 100+ networks (Base, Solana, Ethereum, BSC...): liquidity depth, volume consistency, wash-trading check, pool age, participation, buy/sell balance, flags, plus optional OHLCV candles with TWAP/VWAP. No API keys.

Pricing

from $5.00 / 1,000 pool scoreds

Rating

0.0

(0)

Developer

Craig Armstrong

Craig Armstrong

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Features

Limited permissions

Share

DEX Pool Health Score

Give it liquidity pools on any of the 100+ networks GeckoTerminal covers (Base, Solana, Ethereum, BSC, Arbitrum, Sui, TON...) and get a health score 0-100, a grade, the reasons, and plain-English flags per pool, with optional OHLCV candles and TWAP/VWAP. Built for agents and bots that need to know whether a pool is safe to trade through before they size a position. No API keys.

How the score is built (100 points)

PartPointsWhat earns them
liquidity30depth in USD; $250k+ scores full
volumeConsistency2024h volume spread evenly across hours rather than one spike, scaled by size
turnover1024h volume between 5% and 5× liquidity; far above that looks like wash trading
age15a week old earns full marks
participation15distinct buyers and sellers in 24h (150+ each scores full)
balance10buys and sells both present rather than one-sided flow

Grade: healthy ≥ 70, caution ≥ 45, otherwise high_risk. riskScore is simply 100 − health.

Flags you may see: thin liquidity, last-hour volume spike, possible wash trading, pool only N hours old, one-sided flow, liquidity a tiny fraction of FDV.

Output (one row per pool)

network, pool, name, healthScore, riskScore, grade, parts{}, flags[], liquidityUsd, volume1hUsd, volume6hUsd, volume24hUsd, fdvUsd, ageHours, tx24h{buys, sells, buyers, sellers}, priceChangePct{}, baseTokenPriceUsd, and with includeOhlcv: timeframe, aggregate, candleCount, twap, vwap, candles[[ts, open, high, low, close, volumeUsd]...] (oldest first).

A pool that cannot be read returns {input, error} instead and is not charged.

Input

FieldDefaultNotes
poolsrequirednetwork:address, network/address, or a GeckoTerminal pool URL
includeOhlcvfalsecandles + TWAP/VWAP
timeframe / aggregate / candleshour / 1 / 100minute: 1, 5, 15 · hour: 1, 4, 12 · day: 1 · 10–500 candles

Pools are fetched two at a time to respect GeckoTerminal's public rate limit; 20 pools take about 15 seconds.

Data and analytics only. Not financial advice.

Cost

Pay per event, no subscription. You pay only for the pools a run scores.

EventPrice
Run start, once per run$0.001
Pool scored$0.005

Twenty pools cost about 10 cents. A pool that cannot be read is not charged.

Run it from code

curl -X POST "https://api.apify.com/v2/acts/cryptoretirement~dex-pool-health-score/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"pools":["base:0xd0b53D9277642d899DF5C87A3966A349A798F224"]}'

The response is the dataset as a JSON array. The API menu on this page has ready-made snippets for JavaScript, Python and MCP clients.

More Actors for traders and bots