dex-pool-analysis

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

DEX Pool Analysis — Solana AMM Pool Mechanics & Comparison

DEX 池分析 — Solana AMM 池机制与比较

Solana's DEX ecosystem spans multiple AMM designs: constant-product pools (Raydium V4), concentrated liquidity (Raydium CLMM, Orca Whirlpool), and bin-based liquidity (Meteora DLMM). Each pool type has distinct fee structures, capital efficiency characteristics, and risk profiles. Understanding these differences is essential for selecting the best execution venue, evaluating liquidity quality, and identifying pool-level risks.
This skill covers:
  • Pool type mechanics and fee structures across Solana DEXes
  • Pool health metrics (TVL, volume efficiency, fee APR, LP count)
  • Pool creation patterns (PumpFun graduation, manual creation)
  • Best pool selection for trade execution
  • Pool age and risk assessment
Related skills: See
lp-math
for AMM formulas,
liquidity-analysis
for depth assessment,
impermanent-loss
for LP risk,
slippage-modeling
for execution cost.

Solana 的 DEX 生态涵盖多种 AMM 设计:恒定乘积池(Raydium V4)、集中流动性(Raydium CLMM、Orca Whirlpool)以及基于 Bin 的流动性(Meteora DLMM)。每种池类型都有独特的费用结构、资本效率特征和风险画像。理解这些差异对于选择最佳交易执行场所、评估流动性质量和识别池级风险至关重要。
本 skill 涵盖:
  • 各大 Solana DEX 的池类型机制和费用结构
  • 池健康度指标(TVL、交易量效率、费用 APR、LP 数量)
  • 池创建模式(PumpFun 毕业迁移、手动创建)
  • 交易执行的最佳池选择
  • 池龄与风险评估
相关 skill:参阅
lp-math
了解 AMM 公式,参阅
liquidity-analysis
进行流动性深度评估,参阅
impermanent-loss
了解 LP 风险,参阅
slippage-modeling
了解执行成本。

1. Pool Types on Solana

1. Solana 上的池类型

Raydium V4 (Constant Product)

Raydium V4(恒定乘积)

The most common pool type for newly launched tokens. Uses the classic
xy = k
invariant with a fixed 0.25% swap fee. Integrated with OpenBook (formerly Serum) for combined AMM + orderbook liquidity.
Program ID: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
Fee: 0.25% per swap (0.22% to LPs, 0.03% to RAY buyback)
Key characteristics:
  • Full-range liquidity (infinite price range)
  • Simple LP provisioning — deposit both tokens in equal value
  • Lower capital efficiency than concentrated liquidity
  • OpenBook market ID required for pool creation
新发行代币最常用的池类型。它使用经典的
xy = k
不变量,并采用固定的 0.25% 交换手续费。它与 OpenBook( formerly Serum)集成,可同时提供 AMM 和订单簿流动性。
Program ID: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
Fee: 0.25% per swap (0.22% to LPs, 0.03% to RAY buyback)
主要特征:
  • 全区间流动性(无限价格范围)
  • 简单的 LP 流动性提供方式——按等值注入两种代币
  • 资本效率低于集中流动性
  • 创建池时需要 OpenBook market ID

Raydium CLMM (Concentrated Liquidity)

Raydium CLMM(集中流动性)

Concentrated Liquidity Market Maker pools allow LPs to specify price ranges, improving capital efficiency by 10-100x compared to V4.
Program ID: CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK
Fee tiers: 0.01%, 0.05%, 0.25%, 1%, 2%
Tick spacing: 1, 10, 60, 120, 240 (corresponding to fee tiers)
Key characteristics:
  • LPs choose min/max price for their position
  • Positions represented as NFTs
  • Higher fee income per dollar deposited (when in range)
  • Risk of position going out of range (no fees earned)
  • Multiple fee tiers for different volatility profiles
集中流动性做市商池允许 LP 指定价格区间,与 V4 相比可将资本效率提高 10–100 倍。
Program ID: CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK
Fee tiers: 0.01%, 0.05%, 0.25%, 1%, 2%
Tick spacing: 1, 10, 60, 120, 240 (corresponding to fee tiers)
主要特征:
  • LP 可为其头寸选择最低价和最高价
  • 头寸以 NFT 表示
  • 处于区间内时,每投入 1 美元可获得更高的手续费收入
  • 头寸存在移出区间的风险(不赚取手续费)
  • 针对不同波动率特征提供多个费用档位

Orca Whirlpool (Concentrated Liquidity)

Orca Whirlpool(集中流动性)

Orca's concentrated liquidity implementation, dominant for major token pairs (SOL/USDC, SOL/USDT).
Program ID: whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc
Fee tiers: 0.01%, 0.02%, 0.04%, 0.05%, 0.16%, 0.30%, 0.65%, 1%, 2%
Tick spacing: 1, 2, 4, 8, 16, 64, 128, 256, 512 (varies by fee)
Key characteristics:
  • Positions as NFTs (similar to Uniswap V3)
  • Wide fee tier selection for granular control
  • Strong SDK and developer tooling
  • Dominant for blue-chip Solana pairs
Orca 的集中流动性实现,在主流代币对(SOL/USDC、SOL/USDT)中占主导地位。
Program ID: whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc
Fee tiers: 0.01%, 0.02%, 0.04%, 0.05%, 0.16%, 0.30%, 0.65%, 1%, 2%
Tick spacing: 1, 2, 4, 8, 16, 64, 128, 256, 512 (varies by fee)
主要特征:
  • 头寸以 NFT 表示(类似 Uniswap V3)
  • 费用档位选择范围广,可进行精细控制
  • 拥有强大的 SDK 和开发者工具
  • 在 Solana 蓝筹代币对中占主导地位

Meteora DLMM (Dynamic Liquidity Market Maker)

Meteora DLMM(动态流动性做市商)

Bin-based liquidity where each bin holds a fixed price. LPs distribute liquidity across bins using strategy modes.
Program ID: LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo
Fee: Dynamic (base fee + variable fee based on volatility)
Bin step: 1-100 basis points per bin
Key characteristics:
  • Discrete price bins instead of continuous ticks
  • Dynamic fees that increase during high volatility
  • Strategy modes: Spot, Curve, Bid-Ask
  • Zero slippage within a single bin
  • Extremely capital efficient for stablecoin pairs
基于 Bin 的流动性,每个 Bin 对应一个固定价格。LP 可以使用策略模式在各个 Bin 之间分配流动性。
Program ID: LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo
Fee: Dynamic (base fee + variable fee based on volatility)
Bin step: 1-100 basis points per bin
主要特征:
  • 使用离散价格 Bin,而非连续 Tick
  • 动态费用会在高波动期间上升
  • 策略模式:Spot、Curve、Bid-Ask
  • 单一 Bin 内零滑点
  • 对稳定币对而言资本效率极高

Meteora Dynamic Pools

Meteora Dynamic Pools

Multi-token pools with single-sided deposit capability and volatility-adjusted fees.
Program ID: Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB
Fee: Volatility-based dynamic fee
Key characteristics:
  • Single-sided deposits allowed
  • Dynamic fee based on recent price volatility
  • Multi-token pool support
  • Simpler LP experience than concentrated liquidity
支持单边存入的多代币池,并采用波动率调整费用。
Program ID: Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB
Fee: Volatility-based dynamic fee
主要特征:
  • 允许单边存入
  • 根据近期价格波动率动态收取费用
  • 支持多代币池
  • LP 体验比集中流动性更简单

PumpSwap (PumpFun AMM)

PumpSwap(PumpFun AMM)

PumpFun's native AMM for tokens that graduate from the bonding curve.
Program ID: PSwapMdSai8tjrEXcxFeQth87xC4rRsa4VA5mhGhXkP
Fee: 0.25% per swap (0.20% to LPs, 0.05% protocol)
Migration fee: 0 SOL (post-March 2025)
Key characteristics:
  • Constant-product (
    xy = k
    ) mechanics
  • Automatic migration from PumpFun bonding curve at ~$69K market cap
  • Creator coin rewards (10% of protocol fees to coin creators)

PumpFun 的原生 AMM,面向完成 bonding curve 流程的代币。
Program ID: PSwapMdSai8tjrEXcxFeQth87xC4rRsa4VA5mhGhXkP
Fee: 0.25% per swap (0.20% to LPs, 0.05% protocol)
Migration fee: 0 SOL (post-March 2025)
主要特征:
  • 恒定乘积(
    xy = k
    )机制
  • 在市值达到约 $69K 时从 PumpFun bonding curve 自动迁移
  • 代币创建者奖励(将协议手续费的 10% 奖励给代币创建者)

2. Fee Structure Comparison

2. 费用结构比较

DEXPool TypeFee RangeLP ShareProtocol Share
Raydium V4Constant Product0.25% fixed0.22%0.03% (RAY)
Raydium CLMMConcentrated0.01%–2%~84%~16%
Orca WhirlpoolConcentrated0.01%–2%87%13%
Meteora DLMMBin-basedDynamic80%20%
Meteora DynamicDynamicVariable~80%~20%
PumpSwapConstant Product0.25% fixed0.20%0.05%
Fee tier selection guidance:
  • 0.01%: Stablecoin pairs (USDC/USDT) — minimal price movement
  • 0.05%: Correlated assets (mSOL/SOL, jitoSOL/SOL) — low volatility
  • 0.25%–0.30%: Standard pairs (SOL/USDC) — moderate volatility
  • 1%–2%: Volatile/meme tokens — high impermanent loss risk

DEX池类型费用范围LP 份额协议份额
Raydium V4恒定乘积固定 0.25%0.22%0.03%(RAY)
Raydium CLMM集中流动性0.01%–2%约 84%约 16%
Orca Whirlpool集中流动性0.01%–2%87%13%
Meteora DLMM基于 Bin动态80%20%
Meteora Dynamic动态可变约 80%约 20%
PumpSwap恒定乘积固定 0.25%0.20%0.05%
费用档位选择指南:
  • 0.01%:稳定币对(USDC/USDT)——价格波动极小
  • 0.05%:相关资产(mSOL/SOL、jitoSOL/SOL)——低波动
  • 0.25%–0.30%:标准交易对(SOL/USDC)——波动适中
  • 1%–2%:高波动或 Meme 代币——无常损失风险较高

3. Pool Creation Patterns

3. 池创建模式

PumpFun Graduation Flow

PumpFun 毕业迁移流程

Most new Solana meme tokens follow this lifecycle:
PumpFun Bonding Curve → ~$69K market cap → Migration → Raydium V4 or PumpSwap
  1. Token launches on PumpFun bonding curve
  2. As buys push market cap to ~$69K, the bonding curve completes
  3. Liquidity migrates automatically to either Raydium V4 or PumpSwap
  4. Since March 2025, PumpFun defaults migration to PumpSwap (their own AMM)
  5. Post-migration, additional pools may be created on other DEXes
Analysis implications:
  • Pools created via PumpFun graduation have known initial liquidity (~$12K)
  • Very new graduated pools carry higher rug risk
  • Check if creator LP tokens are locked or burnable
大多数 Solana 新 Meme 代币都会遵循以下生命周期:
PumpFun Bonding Curve → ~$69K market cap → Migration → Raydium V4 or PumpSwap
  1. 代币在 PumpFun bonding curve 上启动
  2. 随着买入将市值推高至约 $69K,bonding curve 完成
  3. 流动性自动迁移至 Raydium V4 或 PumpSwap
  4. 自 2025 年 3 月起,PumpFun 默认迁移至 PumpSwap(其自有 AMM)
  5. 迁移后,可以在其他 DEX 上创建更多池
分析影响:
  • 通过 PumpFun 毕业迁移创建的池具有已知的初始流动性(约 $12K)
  • 刚完成毕业迁移的池具有更高的 rug pull 风险
  • 检查创建者的 LP 代币是否已锁仓或可销毁

Manual Pool Creation

手动创建池

Tokens not launched via PumpFun have pools created manually:
  • Raydium V4 requires an OpenBook market + pool initialization
  • Raydium CLMM, Orca, and Meteora allow direct pool creation
  • Manual creation allows arbitrary initial liquidity amounts

未通过 PumpFun 发布的代币通常由手动方式创建池:
  • Raydium V4 需要 OpenBook market 和池初始化
  • Raydium CLMM、Orca 和 Meteora 支持直接创建池
  • 手动创建可自由设置初始流动性金额

4. Volume Efficiency (Volume/TVL Ratio)

4. 交易量效率(Volume/TVL 比率)

Volume efficiency measures how actively a pool's liquidity is utilized:
python
volume_efficiency = volume_24h / tvl
V/TVL RatioInterpretation
> 5.0Very high turnover — likely wash trading or bot activity
1.0–5.0Active trading — healthy, well-utilized pool
0.1–1.0Moderate activity — normal for mid-cap tokens
< 0.1Low activity — stale or abandoned pool
0.0No trades — dead pool
Fee APR estimation from volume efficiency:
python
fee_apr = volume_efficiency * fee_rate * 365
交易量效率用于衡量池中流动性的活跃利用程度:
python
volume_efficiency = volume_24h / tvl
V/TVL 比率解读
> 5.0换手率极高——可能存在洗量交易或机器人活动
1.0–5.0交易活跃——池健康且流动性利用率高
0.1–1.0活跃度中等——中市值代币的正常水平
< 0.1活跃度低——池已停滞或被废弃
0.0无交易——死亡池
根据交易量效率估算费用 APR:
python
fee_apr = volume_efficiency * fee_rate * 365

Example: V/TVL of 2.0 at 0.25% fee = 2.0 * 0.0025 * 365 = 182.5% APR

Example: V/TVL of 2.0 at 0.25% fee = 2.0 * 0.0025 * 365 = 182.5% APR


This is a theoretical maximum — actual LP returns depend on impermanent loss, position range (for concentrated liquidity), and fee share.

---

这是理论最大值——实际 LP 回报还取决于无常损失、头寸区间(对于集中流动性)以及手续费分成。

---

5. Pool Health Metrics

5. 池健康度指标

Core Metrics

核心指标

python
pool_health = {
    "tvl_usd": 150_000,          # Total value locked
    "volume_24h_usd": 300_000,   # 24-hour trading volume
    "volume_tvl_ratio": 2.0,     # Volume efficiency
    "fee_apr_estimate": 182.5,   # Annualized fee rate (%)
    "pool_age_hours": 720,       # Time since creation
    "lp_count_estimate": 45,     # Number of LP positions
    "tvl_trend_24h": -0.05,      # TVL change (-5%)
    "price_change_24h": 0.12,    # Price change (+12%)
}
python
pool_health = {
    "tvl_usd": 150_000,          # Total value locked
    "volume_24h_usd": 300_000,   # 24-hour trading volume
    "volume_tvl_ratio": 2.0,     # Volume efficiency
    "fee_apr_estimate": 182.5,   # Annualized fee rate (%)
    "pool_age_hours": 720,       # Time since creation
    "lp_count_estimate": 45,     # Number of LP positions
    "tvl_trend_24h": -0.05,      # TVL change (-5%)
    "price_change_24h": 0.12,    # Price change (+12%)
}

Red Flags

风险信号

Watch for these warning signs when evaluating pools:
Red FlagThresholdRisk
Very new pool< 24 hours oldRug pull, unvetted token
Single LPLP count = 1Creator can pull all liquidity
Declining TVL> 20% drop in 24hLiquidity flight
Zero volumeNo trades in 6h+Dead or abandoned
Extreme V/TVL> 10xWash trading, bot manipulation
Tiny TVL< $1,000Massive slippage on any trade
评估池时应留意以下警告信号:
风险信号阈值风险
池非常新创建时间不足 24 小时Rug pull、未经验证的代币
单一 LPLP 数量 = 1创建者可以撤走全部流动性
TVL 下降24 小时内下降超过 20%流动性撤离
零交易量6 小时以上无交易死亡或已被废弃
V/TVL 极端> 10x洗量交易、机器人操纵
TVL 极低< $1,000任何交易都会产生巨大滑点

Health Score Algorithm

健康度评分算法

python
def compute_health_score(
    tvl_usd: float,
    volume_24h: float,
    pool_age_hours: float,
    lp_count: int,
    tvl_change_24h: float,
) -> float:
    """Score from 0-100 indicating pool health.

    Components (each 0-20):
    - TVL adequacy: Is there enough liquidity?
    - Volume efficiency: Is the pool actively traded?
    - Maturity: How long has the pool existed?
    - LP diversity: How many independent LPs?
    - TVL stability: Is liquidity growing or shrinking?
    """
    # TVL score (0-20): logarithmic scale, peaks at $1M+
    tvl_score = min(20, max(0, 5 * math.log10(max(tvl_usd, 1)) - 10))

    # Volume score (0-20): V/TVL ratio, sweet spot 0.5-3.0
    v_tvl = volume_24h / max(tvl_usd, 1)
    volume_score = min(20, max(0, v_tvl * 10)) if v_tvl < 5 else max(0, 20 - (v_tvl - 5) * 4)

    # Age score (0-20): older = more trusted
    age_score = min(20, pool_age_hours / 72 * 20)  # Max at 72h

    # LP diversity score (0-20)
    lp_score = min(20, lp_count * 2)  # Max at 10 LPs

    # Stability score (0-20): penalize large negative TVL changes
    stability_score = max(0, 20 + tvl_change_24h * 40)  # -50% → 0, 0% → 20

    return tvl_score + volume_score + age_score + lp_score + stability_score

python
def compute_health_score(
    tvl_usd: float,
    volume_24h: float,
    pool_age_hours: float,
    lp_count: int,
    tvl_change_24h: float,
) -> float:
    """Score from 0-100 indicating pool health.

    Components (each 0-20):
    - TVL adequacy: Is there enough liquidity?
    - Volume efficiency: Is the pool actively traded?
    - Maturity: How long has the pool existed?
    - LP diversity: How many independent LPs?
    - TVL stability: Is liquidity growing or shrinking?
    """
    # TVL score (0-20): logarithmic scale, peaks at $1M+
    tvl_score = min(20, max(0, 5 * math.log10(max(tvl_usd, 1)) - 10))

    # Volume score (0-20): V/TVL ratio, sweet spot 0.5-3.0
    v_tvl = volume_24h / max(tvl_usd, 1)
    volume_score = min(20, max(0, v_tvl * 10)) if v_tvl < 5 else max(0, 20 - (v_tvl - 5) * 4)

    # Age score (0-20): older = more trusted
    age_score = min(20, pool_age_hours / 72 * 20)  # Max at 72h

    # LP diversity score (0-20)
    lp_score = min(20, lp_count * 2)  # Max at 10 LPs

    # Stability score (0-20): penalize large negative TVL changes
    stability_score = max(0, 20 + tvl_change_24h * 40)  # -50% → 0, 0% → 20

    return tvl_score + volume_score + age_score + lp_score + stability_score

6. Best Pool Selection for Execution

6. 交易执行的最佳池选择

When multiple pools exist for a token pair, select the best one for trade execution:
python
def rank_pools_for_execution(pools: list[dict], trade_size_usd: float) -> list[dict]:
    """Rank pools by execution quality for a given trade size.

    Factors:
    1. Sufficient TVL (trade size < 2% of TVL for acceptable slippage)
    2. Active volume (recent trades confirm the pool is live)
    3. Lowest fee tier (when liquidity is sufficient)
    4. Pool type efficiency (concentrated > constant product for same TVL)
    5. Pool health score (age, LP count, stability)
    """
    for pool in pools:
        size_ratio = trade_size_usd / max(pool["tvl_usd"], 1)
        pool["estimated_slippage"] = size_ratio * 100  # Rough % estimate

        # Prefer pools where trade is < 2% of TVL
        pool["size_ok"] = size_ratio < 0.02

        # Concentrated liquidity is more efficient
        efficiency_mult = 1.0
        if pool["pool_type"] in ("clmm", "whirlpool", "dlmm"):
            efficiency_mult = 0.3  # ~3x less slippage per TVL dollar

        pool["adjusted_slippage"] = pool["estimated_slippage"] * efficiency_mult
        pool["execution_score"] = (
            (1.0 / max(pool["adjusted_slippage"], 0.001)) * 0.5
            + pool.get("health_score", 50) * 0.3
            + (1.0 / max(pool["fee_rate"], 0.0001)) * 0.2
        )

    return sorted(pools, key=lambda p: p["execution_score"], reverse=True)

当一个代币对存在多个池时,应选择最适合交易执行的池:
python
def rank_pools_for_execution(pools: list[dict], trade_size_usd: float) -> list[dict]:
    """Rank pools by execution quality for a given trade size.

    Factors:
    1. Sufficient TVL (trade size < 2% of TVL for acceptable slippage)
    2. Active volume (recent trades confirm the pool is live)
    3. Lowest fee tier (when liquidity is sufficient)
    4. Pool type efficiency (concentrated > constant product for same TVL)
    5. Pool health score (age, LP count, stability)
    """
    for pool in pools:
        size_ratio = trade_size_usd / max(pool["tvl_usd"], 1)
        pool["estimated_slippage"] = size_ratio * 100  # Rough % estimate

        # Prefer pools where trade is < 2% of TVL
        pool["size_ok"] = size_ratio < 0.02

        # Concentrated liquidity is more efficient
        efficiency_mult = 1.0
        if pool["pool_type"] in ("clmm", "whirlpool", "dlmm"):
            efficiency_mult = 0.3  # ~3x less slippage per TVL dollar

        pool["adjusted_slippage"] = pool["estimated_slippage"] * efficiency_mult
        pool["execution_score"] = (
            (1.0 / max(pool["adjusted_slippage"], 0.001)) * 0.5
            + pool.get("health_score", 50) * 0.3
            + (1.0 / max(pool["fee_rate"], 0.0001)) * 0.2
        )

    return sorted(pools, key=lambda p: p["execution_score"], reverse=True)

7. Program IDs Quick Reference

7. Program ID 快速参考

python
PROGRAM_IDS = {
    "raydium_v4": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8",
    "raydium_clmm": "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK",
    "orca_whirlpool": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",
    "meteora_dlmm": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",
    "meteora_dynamic": "Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB",
    "pumpswap": "PSwapMdSai8tjrEXcxFeQth87xC4rRsa4VA5mhGhXkP",
    "pumpfun_bonding": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
}

python
PROGRAM_IDS = {
    "raydium_v4": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8",
    "raydium_clmm": "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK",
    "orca_whirlpool": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",
    "meteora_dlmm": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",
    "meteora_dynamic": "Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB",
    "pumpswap": "PSwapMdSai8tjrEXcxFeQth87xC4rRsa4VA5mhGhXkP",
    "pumpfun_bonding": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
}

8. Integration Points

8. 集成点

With
liquidity-analysis

与
liquidity-analysis
集成

Use pool analysis to feed liquidity depth assessment. Pool type determines which liquidity model applies (constant product vs concentrated vs bin-based).
使用池分析结果支持流动性深度评估。池类型决定适用的流动性模型(恒定乘积、集中流动性或基于 Bin 的流动性)。

With
lp-math

与
lp-math
集成

Pool type determines which math formulas apply. Raydium V4 uses
xy = k
, CLMM/Whirlpool use tick-based math, DLMM uses bin math. See
lp-math
for full derivations.
池类型决定适用的数学公式。Raydium V4 使用
xy = k
,CLMM/Whirlpool 使用基于 Tick 的数学模型,DLMM 使用 Bin 数学模型。有关完整推导,请参阅
lp-math
。

With
slippage-modeling

与
slippage-modeling
集成

Best pool selection directly feeds slippage estimation. Concentrated liquidity pools have different slippage curves than constant-product pools.
最佳池选择结果可直接用于滑点估算。集中流动性池与恒定乘积池具有不同的滑点曲线。

With
jupiter-api

与
jupiter-api
集成

Jupiter aggregates across all pool types automatically. Pool analysis helps understand why Jupiter routes through specific pools and validate route quality.

Jupiter 会自动聚合所有类型的池。池分析有助于理解 Jupiter 为什么选择特定池进行路由,并验证路由质量。

9. Workflow Example

9. 工作流示例

python
import httpx
python
import httpx

Step 1: Fetch all pools for a token from DexScreener

Step 1: Fetch all pools for a token from DexScreener

async def analyze_token_pools(token_mint: str) -> dict: url = f"https://api.dexscreener.com/tokens/v1/solana/{token_mint}" async with httpx.AsyncClient() as client: resp = await client.get(url) pools = resp.json()
results = []
for pool in pools:
    dex = pool.get("dexId", "unknown")
    pool_info = {
        "dex": dex,
        "pool_address": pool.get("pairAddress"),
        "tvl_usd": pool.get("liquidity", {}).get("usd", 0),
        "volume_24h": pool.get("volume", {}).get("h24", 0),
        "age_hours": pool.get("pairCreatedAt", 0),
        "fee_rate": estimate_fee_rate(dex),
        "pool_type": classify_pool_type(dex),
    }
    pool_info["volume_efficiency"] = (
        pool_info["volume_24h"] / max(pool_info["tvl_usd"], 1)
    )
    results.append(pool_info)

return {"token": token_mint, "pool_count": len(results), "pools": results}

---
async def analyze_token_pools(token_mint: str) -> dict: url = f"https://api.dexscreener.com/tokens/v1/solana/{token_mint}" async with httpx.AsyncClient() as client: resp = await client.get(url) pools = resp.json()
results = []
for pool in pools:
    dex = pool.get("dexId", "unknown")
    pool_info = {
        "dex": dex,
        "pool_address": pool.get("pairAddress"),
        "tvl_usd": pool.get("liquidity", {}).get("usd", 0),
        "volume_24h": pool.get("volume", {}).get("h24", 0),
        "age_hours": pool.get("pairCreatedAt", 0),
        "fee_rate": estimate_fee_rate(dex),
        "pool_type": classify_pool_type(dex),
    }
    pool_info["volume_efficiency"] = (
        pool_info["volume_24h"] / max(pool_info["tvl_usd"], 1)
    )
    results.append(pool_info)

return {"token": token_mint, "pool_count": len(results), "pools": results}

---

Files

文件

References

参考资料

  • references/pool_mechanics.md
    — Detailed mechanics for each pool type with program IDs and formulas
  • references/pool_analysis_guide.md
    — Pool health metrics, red flags, volume efficiency, and best pool selection
  • references/pool_mechanics.md
    ——每种池类型的详细机制,包含 Program ID 和公式
  • references/pool_analysis_guide.md
    ——池健康度指标、风险信号、交易量效率和最佳池选择

Scripts

脚本

  • scripts/analyze_pools.py
    — Fetch and analyze all pools for a token, rank by execution quality
  • scripts/pool_monitor.py
    — Monitor pool metrics over time, detect liquidity events

This skill provides analysis tools and information for evaluating DEX pool characteristics. It does not provide financial advice or trading recommendations.
  • scripts/analyze_pools.py
    ——获取并分析某代币的所有池,并按执行质量排序
  • scripts/pool_monitor.py
    ——持续监控池指标并检测流动性事件

本 skill 提供用于评估 DEX 池特征的分析工具和信息,不构成财务建议或交易建议。