# Lender Opportunities

> Markdown export of the Gearbox Protocol documentation page for agents and retrieval systems.

Canonical page: https://docs.gearbox.finance/developers/gm-opps-lender
Source file: content/developers/gm-opps-lender.mdx
Section router: https://docs.gearbox.finance/developers/llms.txt
Section full export: https://docs.gearbox.finance/developers/llms-full.txt

Lender opportunities represent the supply side of Gearbox — you deposit tokens into a Pool, receive yield-bearing Diesel Tokens in return, and earn passive yield as borrowers pay interest.

## What They Represent

When you enter a lender opportunity, you are depositing into an ERC-4626 Pool. The Pool issues Diesel Tokens (e.g., dUSDC, dWETH) whose exchange rate appreciates over time as interest accrues from borrowers. No active management is required.

## Sub-Types

| Sub-Type | Description | Status |
| --- | --- | --- |
| `pool` | Standard LP in an ERC-4626 Pool — deposit, earn yield, withdraw anytime | Available |
| `intent` | Limit-order style LP with custom terms (rate, duration, collateral preferences) | Future |

## Discovering Lender Opportunities

Use either the opportunities namespace for unified search or the pools namespace for direct queries:

```ts
// Via unified search
const lenderOpps = await sdk.opportunities.search({ type: "pool" });

// Via pools namespace directly
const pools = await sdk.pools.list();
```

## Key Fields

| Field | Description |
| --- | --- |
| `depositToken` | The token you deposit (USDC, WETH, etc.) |
| `headlineApy` | Current supply APY — what lenders earn |
| `capacity` | Available liquidity remaining in the Pool |
| `access` | Access control — permissionless or gated |
| `utilizationRate` | Current Pool utilization (higher = more yield, less exit liquidity) |
| `dieselToken` | The yield-bearing receipt token you receive |

## Filtering

You can filter lender opportunities by asset class, chain, and minimum APY:

```ts
// All USDC lender opportunities with APY > 3%
const usdcOpps = await sdk.opportunities.search({
  type: "pool",
  depositToken: "USDC",
  minApy: 3,
});

// Stablecoin opportunities on Arbitrum
const arbStables = await sdk.opportunities.search({
  type: "pool",
  chainId: 42161,
  assetClass: "stablecoin",
});
```

## Example: List High-Yield USDC Pools

```ts
import { GearboxSDK } from "@gearbox-protocol/sdk/official";

const sdk = new GearboxSDK();
await sdk.loadState({ mode: "lazy" });

const opps = await sdk.opportunities.search({
  type: "pool",
  depositToken: "USDC",
  minApy: 3,
});

for (const opp of opps) {
  console.log(
    `${opp.id} | APY: ${opp.headlineApy.toFixed(2)}% | Capacity: ${opp.capacity}`
  );
}
```

## Next Steps

- [Pool Operations](https://docs.gearbox.finance/developers/gm-markets-pools) — how to actually deposit and withdraw
- [Interest Rates & Quotas](https://docs.gearbox.finance/developers/gm-markets-rates) — how supply APY is calculated
- [Strategy Opportunities](https://docs.gearbox.finance/developers/gm-opps-strategy) — the borrower side
