Skip to main content

getConservativePoolStatus

Get conservative pool status with derived health, risk level, APY trend, and yield consistency indicators.

Signature

getConservativePoolStatus(chainId?: number): Promise<PoolStatus[]>

Parameters

ParameterTypeRequiredDescription
chainIdnumberOptional chain ID filter (Base, Arbitrum, Plasma, Sonic)

Returns

List of conservative pools with computed status indicators for quick assessment.

Return Type

interface PoolStatus {
poolName: string; // Name of the lending pool
protocolName: string; // Protocol name (e.g., Aave, Morpho, Compound)
chainId: number; // Blockchain ID where the pool is deployed
healthScore: string; // Overall health: "healthy", "moderate", "risky"
riskLevel: string; // Risk assessment: "low", "medium", "high"
apyTrend: string; // Yield direction: "rising", "falling", "stable"
yieldConsistency: string; // Yield volatility: "consistent", "mixed", "volatile"
liquidityDepth: string; // Liquidity tier: "deep", "moderate", "shallow"
avgCombinedApy7d: number | null; // Average combined APY over 7 days
}

Field Descriptions

  • poolName: The name of the lending pool or vault
  • protocolName: The DeFi protocol hosting the pool
  • chainId: The blockchain network ID (8453 = Base, 42161 = Arbitrum, 9745 = Plasma, 146 = Sonic)
  • healthScore: Aggregate health indicator based on stability metrics and liquidity
    • "healthy": All or most stability indicators are positive, good liquidity depth
    • "moderate": Mixed stability indicators or moderate liquidity
    • "risky": Multiple negative stability indicators or shallow liquidity
    • Calculation: Combines tvlStability + apyStability + tvlApyCombinedRisk + liquidityDepth bonus. Score ≥3 = healthy, ≥1.5 = moderate, <1.5 = risky
  • riskLevel: Count of negative risk signals
    • "low": 0 risk signals (stable TVL, stable APY, good liquidity, utilization <90%)
    • "medium": 1-2 risk signals present
    • "high": 3+ risk signals detected
    • Risk signals include: Unstable TVL, unstable APY, unstable combined risk, shallow liquidity, >90% utilization
  • apyTrend: Direction of yield movement over time
    • "rising": 7-day APY is >10% higher than 30-day APY (improving yield)
    • "falling": 7-day APY is >10% lower than 30-day APY (declining yield)
    • "stable": APY change between 7d and 30d is within ±10%
    • Use case: Identify pools with improving or deteriorating yields
  • yieldConsistency: Volatility assessment of yield over time
    • "consistent": Spread between 7d and 30d APY is ≤10% (predictable returns)
    • "mixed": Spread between 7d and 30d APY is 10-30% (moderate variability)
    • "volatile": Spread between 7d and 30d APY is >30% (unpredictable returns)
    • Use case: Conservative users prefer "consistent" yields; aggressive users may accept "volatile" for higher potential returns
  • liquidityDepth: Same as in risk method - "deep" (>$10M), "moderate" ($1M-$10M), "shallow" (<$1M)
  • avgCombinedApy7d: Current 7-day average yield for quick comparison

Example

// Get conservative pool status for Base chain
const baseStatus = await sdk.getConservativePoolStatus(8453);

// Filter for healthy, low-risk pools
const safePoolsStatus = baseStatus.filter(
(pool) => pool.healthScore === "healthy" && pool.riskLevel === "low"
);

console.log("Safe Conservative Pools on Base:");
safePoolsStatus.forEach((pool) => {
console.log(`\n${pool.poolName} (${pool.protocolName})`);
console.log(` Health: ${pool.healthScore} | Risk: ${pool.riskLevel}`);
console.log(` APY Trend: ${pool.apyTrend} | Consistency: ${pool.yieldConsistency}`);
console.log(` Liquidity: ${pool.liquidityDepth} | Current APY: ${pool.avgCombinedApy7d?.toFixed(2)}%`);
});

// Find pools with rising yields
const risingYieldPoolsStatus = baseStatus.filter(
(pool) => pool.apyTrend === "rising"
);

console.log(`\nFound ${risingYieldPoolsStatus.length} pools with rising yields`);

// Get status across all chains
const allStatus = await sdk.getConservativePoolStatus();

Notes

  • This method internally calls getActiveConservativeOppsRisk() and derives status indicators
  • Status indicators provide a quick assessment without requiring manual interpretation of raw metrics
  • Combine multiple indicators for better decision-making (e.g., healthy + low risk + consistent yield)
  • Pools with "healthy" score and "low" risk are typically suitable for risk-averse users
  • "Rising" APY trend may indicate increasing demand or new incentive programs