> ## Documentation Index
> Fetch the complete documentation index at: https://zyfai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# getActiveConservativeOppsRisk

Get active conservative opportunities (status = "live") with risk and utilization data.

## Signature

```typescript theme={null}
getActiveConservativeOppsRisk(chainId?: number): Promise<ConservativeOpportunityRisk[]>
```

## Parameters

| Parameter | Type   | Required | Description                                              |
| --------- | ------ | -------- | -------------------------------------------------------- |
| chainId   | number | ❌        | Optional chain ID filter (Base, Arbitrum, Plasma, Sonic) |

## Returns

List of active conservative opportunities with risk metrics and utilization data.

### Return Type

```typescript theme={null}
interface ConservativeOpportunityRisk {
  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
  liquidityDepth: string;        // Liquidity tier: "deep" (>$10M), "moderate" ($1M-$10M), "shallow" (<$1M)
  utilizationRate: number;       // Percentage of TVL being utilized (0-100)
  tvlStability: boolean | null;  // Whether TVL has been stable over the measurement period
  apyStability: boolean | null;  // Whether APY has been stable over 30 days
  tvlApyCombinedRisk: boolean | null; // Combined stability risk indicator (true = stable)
  avgCombinedApy7d: number | null;    // Average combined APY over 7 days
  avgCombinedApy15d: number | null;   // Average combined APY over 15 days
  avgCombinedApy30d: number | null;   // Average combined APY over 30 days
  collateralSymbols: string[];   // Array of accepted collateral token symbols
}
```

### Field Descriptions

* **poolName**: The name of the lending pool or vault
* **protocolName**: The DeFi protocol hosting the pool (e.g., Aave V3, Morpho, Compound V3)
* **chainId**: The blockchain network ID (8453 = Base, 42161 = Arbitrum, 9745 = Plasma, 146 = Sonic)
* **liquidityDepth**: Categorical liquidity assessment
  * `"deep"`: Pool has >\$10M available liquidity (low slippage risk)
  * `"moderate"`: Pool has $1M-$10M liquidity (moderate slippage risk)
  * `"shallow"`: Pool has \<\$1M liquidity (high slippage risk)
* **utilizationRate**: Percentage of total value locked (TVL) currently being borrowed/utilized. Higher rates may indicate limited liquidity for withdrawals.
* **tvlStability**: Boolean flag indicating whether the pool's TVL has remained stable (not experiencing rapid inflows/outflows that could indicate risk)
* **apyStability**: Boolean flag indicating whether APY has been stable over the past 30 days (true = consistent yield, false = volatile yield)
* **tvlApyCombinedRisk**: Combined risk indicator that considers both TVL and APY stability together
* **avgCombinedApy7d**: Rolling 7-day average of combined APY (includes base yield + incentives)
* **avgCombinedApy15d**: Rolling 15-day average of combined APY
* **avgCombinedApy30d**: Rolling 30-day average of combined APY (useful for comparing yield trends)
* **collateralSymbols**: List of token symbols accepted as collateral for borrowing against this pool

## Example

```typescript theme={null}
// Get all conservative opportunities on Base chain
const baseOpps = await sdk.getActiveConservativeOppsRisk(8453);

baseOpps.forEach((opp) => {
  console.log(`Pool: ${opp.poolName} on ${opp.protocolName}`);
  console.log(`  Liquidity Depth: ${opp.liquidityDepth}`);
  console.log(`  Utilization: ${opp.utilizationRate}%`);
  console.log(`  7d APY: ${opp.avgCombinedApy7d?.toFixed(2)}%`);
  console.log(`  TVL Stable: ${opp.tvlStability}`);
  console.log(`  APY Stable: ${opp.apyStability}`);
  console.log(`  Collateral: ${opp.collateralSymbols.join(", ") || "None"}`);
});

// Get conservative opportunities across all chains
const allOpps = await sdk.getActiveConservativeOppsRisk();
```

## Notes

* Only returns opportunities with `status = "live"` (actively accepting deposits)
* Utilization rate is calculated as: `(tvl - liquidity) / tvl * 100`
* If `chainId` is not provided, returns opportunities from all supported chains
* `null` values in stability fields indicate data is not available for that metric
