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

# Get available protocols

> List yield strategies and read a strategy's metadata, current rates, and rate history

Retrieve the catalog of yield strategies, then read a specific strategy's metadata, APY, and rate
history. Every request is authenticated with the `x-api-key` header.

## List strategies

```http theme={null}
GET /strategies
```

Returns `{ "data": [ …strategies ], "pagination": { … } }`.

**Example Response:**

```json theme={null}
{
  "data": [
    {
      "id": "Aave-USDC-polygon",
      "protocol": "Aave",
      "network": "polygon",
      "networkId": "137",
      "asset": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
      "assetName": "USDC",
      "assetDecimals": 6,
      "paused": false,
      "fee": "0",
      "performanceFeeBps": "0",
      "availableActions": ["lend", "withdraw"],
      "apy": 0.0417,
      "grossAPY": 0.0417,
      "netAPY": 0.0417,
      "avgApy": 0.0412,
      "inceptionApy": 0.0385
    },
    { ... },
  ],
  "pagination": {
    "page": 1,
    "limit": 100,
    "total": 128,
    "totalPages": 2,
    "hasMore": true
  }
}
```

**Query parameters:**

| Parameter  | Description                                | Default |
| ---------- | ------------------------------------------ | ------- |
| `page`     | Page number                                | `1`     |
| `limit`    | Results per page                           | `100`   |
| `network`  | Filter by network (e.g. `polygon`)         | —       |
| `protocol` | Filter by protocol (e.g. `Aave`)           | —       |
| `category` | Filter by category (e.g. `yield`, `stock`) | —       |

**Example:**

```http theme={null}
GET /strategies?protocol=Aave&network=polygon
```

Use `pagination.hasMore`, `pagination.total`, and `pagination.totalPages` to page through results.
See the OpenAPI description for the full `ListPagination` shape.

**Example:**

```http theme={null}
GET /strategies?page=2&limit=50
```

**Example Response:**

```json theme={null}
{
  "data": [
    { ... },
  ],
  "pagination": {
    "page": 2,
    "limit": 50,
    "total": 128,
    "totalPages": 3,
    "hasMore": true
  }
}
```

## Get a strategy's details

```http theme={null}
GET /v2/strategies/:id
```

| Parameter | Description | Example             |
| --------- | ----------- | ------------------- |
| `:id`     | Strategy ID | `Aave-USDC-polygon` |

**Example request:**

```http theme={null}
GET /v2/strategies/Aave-USDC-polygon
```

## Response

The response groups metadata under `strategy`, current rate metrics under `spotPosition`, and
historical rates under `rateHistory`.

**Response includes:**

* Composite strategy ID (`strategy.id`) in the format `{protocol}-{assetName}-{network}`
* Protocol branding (`strategy.protocolInfo`) — `{ name, logo }` stored on each `Strategy` document in MongoDB
* Network (`strategy.chain`) — `{ name, id, explorer, logo }`
* Tokens (`strategy.assetToken`, `strategy.underlyingToken`) — `{ name, address, symbol, decimals, logo? }`
* Current APY rate (`spotPosition.apy`), fee-adjusted rates (`grossAPY`, `netAPY`), and historical APY (`avgApy`, `inceptionApy`)
* Asset info (`strategy.asset` contract address, `assetName`, `assetDecimals`)
* Protocol fee in basis points (`strategy.fee`)
* Available actions (`strategy.availableActions`)
* Pause status (`strategy.paused`)

**Example Response:**

```json theme={null}
{
  "strategy": {
    "id": "Aave-USDC-polygon",
    "protocol": "Aave",
    "network": "polygon",
    "networkId": "137",
    "asset": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
    "assetName": "USDC",
    "assetDecimals": 6,
    "paused": false,
    "fee": "0",
    "performanceFeeBps": "0",
    "availableActions": ["lend", "withdraw"]
  },
  "spotPosition": {
    "apy": 0.0417,
    "grossAPY": 0.0417,
    "netAPY": 0.0417,
    "avgApy": 0.0412,
    "inceptionApy": 0.0385
  },
  "rateHistory": {
    "items": [],
    "pagination": { "page": 1, "limit": 100, "total": 0, "totalPages": 0, "hasMore": false }
  }
}
```

<Tip>
  The `fee` and `performanceFeeBps` fields are in basis points (1 BPS = 0.01%).
  See [Fees](/getting-started/fees) for the full fee structure and how markup
  fees work.
</Tip>

## Next steps

<CardGroup cols={2}>
  <Card title="Deposit to Yield" icon="arrow-up-right-dots" href="/guides/yield/deposit">
    Generate and execute deposit bytecode
  </Card>

  <Card title="Check Positions" icon="chart-line" href="/guides/yield/check-positions">
    Monitor your yield positions
  </Card>
</CardGroup>
