# Opportunities

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

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

An **Opportunity** is any way to earn yield in Gearbox, presented at the highest level of abstraction. It is the entry point for discovery — before you decide whether to lend or leverage, you search opportunities.

## Unified Discovery

`sdk.opportunities.search()` returns a unified list of all opportunity types across all chains and pools. This single call replaces the need to separately query pools, strategies, and markets.

```ts
// Search all opportunities
const all = await sdk.opportunities.search();

// Filter by criteria
const highYield = await sdk.opportunities.search({
  minApy: 5,
  chainId: 1,
  assetClass: "stablecoin",
});
```

## Opportunity Types

There are two opportunity types available today, with two more planned:

### Available Now

| Type | Description | User Role |
| --- | --- | --- |
| **Lender Opportunity** (`pool`) | Provide liquidity to a Pool, receive Diesel Tokens, earn passive yield | Lender / LP |
| **Strategy Opportunity** (`strategy`) | Borrow from a Pool, deploy capital via a Credit Account with leverage | Borrower / Strategist |

### Future Types (Not Yet Implemented)

| Type | Description | User Role |
| --- | --- | --- |
| **Intent Opportunity** (`intent`) | Limit-order style LP with custom terms (P2P supply side) | Lender |
| **Intent Strategy** (`intent_strategy`) | P2P leveraged position with bespoke terms | Borrower |

## Opportunity Fields

Every opportunity shares a common shape regardless of type:

```ts
interface Opportunity {
  id: string;              // Unique identifier
  chainId: number;         // Chain where this opportunity exists
  type: OpportunityKind;   // "pool" | "strategy" | "market"
  headlineApy: number;     // Primary APY figure (supply APY or net strategy APY)
  depositToken: string;    // Token you deposit to enter
  capacity: bigint;        // Available liquidity / remaining capacity
  access: string;          // Access control level
  curator?: string;        // Curator managing this opportunity
  riskScore?: number;      // Backend-enriched risk assessment
}
```

Strategy opportunities add fields like `targetToken`, `leverage`, and `adapters`. Pool opportunities add fields like `utilizationRate` and `dieselToken`.

## Learn More

- [Lender Opportunities](https://docs.gearbox.finance/developers/gm-opps-lender) — passive yield via Pool deposits
- [Strategy Opportunities](https://docs.gearbox.finance/developers/gm-opps-strategy) — leveraged yield via Credit Accounts
- [SDK Namespaces](https://docs.gearbox.finance/developers/gm-start-namespaces) — full namespace reference
